MySQL学习笔记
作者: Grey说明注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。关于DDLDDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了数据库的结构和数据表的结构。在 DDL 中,我们常用的功能是增删改,分别对应的命令是 CREATE、DROP 和 ALTER。需要注意的是:在执行 DDL 的时候...
2024-01-10MySQL基础笔记
创建数据库CREATE DATABASE database_name;create database mysql_test;删除数据库DROP DATABASE database_name;> drop database mysql_test;数据类型完整数据类型请参考MySQL 数据类型。MySQL支持所有标准SQL数值数据类型,所以数据类型有很多,这里介绍几个常用的数值类型类型大小范围(有符号)范围(无符号)用途...
2024-01-10MySQL实战学习(二)
redo log当数据库有一条记录需要更新时,InnoDB引擎会先把记录写到redolog中,同时更新内存。这个时候就算是更新完成了,同时,InnoDB会在适当时刻将这个操作记录更新到磁盘里面。InnoDB 的 redo log 是固定大小的,比如可以配置为一组 4 个文件,每个文件的大小是 1GB,那么这块“粉板”总共就可以记录 4...
2024-01-10MySQL学习笔记(五)
mysqldump 与 --set-gtid-purged 设置(1) mysqldumpThe mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the original database object definitions and table data. It dumps one or more MySQL dat...
2024-01-10【MySQL】笔记(1)
SQL: 结构化查询语言,是一门标准通用的语言。标准的sql适合于所有的数据库产品;SQL属于高级语言。只要能看懂英语单词的,写出来的sql语句,可以读懂什么意思;SQL语句在执行的时候,实际上内部也会先进行编译,然后再执行sql(sql语句的编译...
2024-01-10MySQL深分页问题解决的实战记录
目录前言limit深分页为什么会变慢?通过子查询优化回顾B+ 树结构把条件转移到主键索引树INNER JOIN 延迟关联标签记录法使用between...and...手把手实战案例一般思路的实现方式实战优化方案总结前言我们日常做分页需求时,一般会用limit实现,但是当偏移量特别大的时候,查询效率就变得低下。本文将分...
2024-01-10MySQL线上死锁分析实战
前言MySQL 的锁机制相信大家在学习 MySQL 的时候都有简单的了解过,那既然有锁就必定绕不开死锁这个问题。其实 MySQL 在大部分场景下是不会存在死锁问题的(比如并发量不高,SQL 写得不至于太拉胯的情况),但是在高并发的业务场景下,一不注意就会产生死锁,而这个死锁分析起来也比较麻烦。前...
2024-01-10MYSQL存储引擎
存储引擎InnoDB (1) InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句中提供一个类似Oracle的非锁定读。这些功能增加了多用户部署和性能。在SQL查询中,可以自由地将InnoDB 类型的表与其他MySQL的表的类型混合起来,甚至在同一个查...
2024-01-10MYSQL声明变量
我不明白这个脚本有什么问题BEGINDECLARE crs INT DEFAULT 0;WHILE crs < 10 DOINSERT INTO `continent`(`name`) VALUES ('cont'+crs)SET crs = crs + 1;END WHILE;END;我希望它在表中插入10个值,但是第二行有错误。回答:MySQL不支持执行存储过程代码的匿名块。您需要创建一个包含该代码的存储过程,然后调用它。另外,您在...
2024-01-10MySQL学习笔记(25):常见问题
本文更新于2020-05-04,使用MySQL 5.7,操作系统为Deepin 15.4。目录忘记roo密码修改密码MyISAM存储引擎的表损坏数据目录磁盘空间不足的问题mysql.sock丢失后如何连接数据库访问内网数据库忘记roo密码使用mysqld_safe --skip-grant-tables跳过权限系统启动服务。不使用账号密码,直接使用mysql登录。使用UPDATE mysql.u...
2024-01-10MySQL学习笔记(24):权限与安全
本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。目录权限安全操作系统相关的安全问题数据库相关的安全问题数据库安全设置选项权限权限存取需要用到mysql库中user、db、host、tables_priv、columns_prvi这几个权限表。列分为4个部分:用户列、权限列、安全列、资源控制列。权限列又分为普通权限...
2024-01-10在MySQL
返回最后匹配的行我有这个表在MySQLid | qty_from | qty_to | p_id | price -------------------------------------- 1 | 1 | 10 | 4 | 1000 -------------------------------------- 2 | 11 | 20 | 4 | 2000 -------------------------------------- 3 | 1 | 10 | 5 | 500 --------------...
2024-01-10MySQL篇
2、Mysql 的技术特点是什么? Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多 线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。 3、Heap 表是什么? HEAP 表存在于内存中,用于临时高速存...
2024-01-10MYSQL 的10大经典优化案例场景实战
目录一、SQL优化一般步骤1、explain 分析SQL的执行计划2、show profile 分析3、trace4、确定问题并采用相应的措施二、场景分析(案例)1、 最左匹配2、隐式转换3、大分页4、in + order by5、范围查询阻断,后续字段不能走索引6、不等于、不包含不能用到索引的快速搜索7、优化器选择不使用索引的情况8、复杂...
2024-01-1055道MySQL基础题
1.一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后, 删除了第 15, 16, 17 条记录,再把 Mysql 重启,再 insert 一条记 录,这条记录的 ID 是 18 还是 15 ?1.如果表的类型是 MyISAM , 那么是 18。因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL自增主键的最大 ID 也不会丢失。2.如果表的类...
2024-01-10MySQL死锁
https://dev.mysql.com/doc/refman/5.7/en/innodb-deadlocks.html什么是mysql的死锁?A deadlock is a situation where different transactions are unable to proceed because each holds a lock that the other needs. Because both transactions are waiting for a resource to be...
2024-01-10MySQL视图
视图的概念视图是一张虚表,将查询结果集保存起来,作为视图使用。实际存在的表叫作基本表。 视图的作用安全性。grant授权用户只操作视图、只读,可以保护基本表中的数据。提高查询性能。视图只是基本表的一部分,查视图比查全表快。尤其是多表查询的时候,查视图一张表比连接多...
2024-01-10MySQL必知必会120章读书笔记
MySQL备忘目录目录使用MySQL检索数据排序检索数据过滤数据数据过滤用通配符进行过滤用正则表达式进行搜索创建计算字段使用数据处理函数数值处理函数汇总数据分组数据使用子查询作为计算字段使用子查询联结表创建高级联结组合查询全文本搜索插入数据更新和删除数据使用MySQLmysql -u<usr> -p -h<h...
2024-01-10MySQL学习笔记(12):触发器
本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。目录SQL语句示例SQL语句为了便于描述,此处将创建触发器的DDL复述一次,其已于“SQL”章节描述。CREATE TRIGGER triggername BEFORE|AFTER INSERT|UPDATE|DELETEON tablename FOR EACH ROWstatement_list在statement_list中使用别名OLD和NEW来引用触发器中发生变化的旧记录...
2024-01-10MYSQL“ IN”的性能
我分两个步骤运行MYSQL查询。首先,通过一个查询获取ID列表,然后使用第二个查询沿的方式检索这些ID的数据SELECT * FROM dataWHERE id in (id1, id2...)。我知道这听起来很骇人听闻,但是由于查询非常复杂,我已经这样做了。第一个涉及许多几何和触发法,第二个涉及许多不同的联接。我确定它们可以在单个...
2024-01-10史上更全的MySQL高性能优化实战总结!
作者 :惨绿少年来源:http://clsn.io/clsn/lx287.html一、前言MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰。在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够...
2024-01-10MySQL优化(4):查询缓存
查询缓存:MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf)在[mysqld]段中,修改query_cache_type完成配置:0:关闭1:开启,但是默认缓存,需要增加sql-no-cache提示,放弃缓存(自动全部存,手动设置哪些不存)2:开启,但是默认不缓存,...
2024-01-10十个实用且简单的MySQL函数
函数 0. 显示当前时间命令:select now()。作用: 显示当前时间。应用场景: 创建时间,修改时间等默认值。例子:mysql> select now();+---------------------+| now() |+---------------------+| 2017-12-27 20:14:56 |+---------------------+1 row in set (0.00 sec)1. 字符长度命令:select char_length('andyqan')。作用: 显示指定字...
2024-01-10赞!7000字学习笔记,一天搞定MySQL
MySQL数据库简介MySQL近两年一直稳居第二,随时有可能超过Oracle计晋升为第一名,因为MySQL的性能一直在被优化,同时安全机制也是逐渐成熟,更重要的是开源免费的。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提...
2024-01-10让MySQL为我们记录执行流程G
让MySQL为我们记录执行流程我们可以开启profiling,让MySQL为我们记录SQL语句的执行流程查看profiling参数shell > select @@profiling;进行更改shell > set profiling = 1;执行语句select * from employees limit 100;查看该语句执行流程show profile;分别是启动权限检查打开表初始化表锁系统优化查询统计优化...
2024-01-10