![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 82
温柔有度
生命如同寓言,其价值不再长短,而在内容!
展开
-
MySQL优化
移动数据,并插入id为50的数据之后,那么此时,这三个页之间的数据顺序是有问题的。所以,此时,需要重新设置链表指针。count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是NULL,累计值就加 1,否则不加,最后返回累计值。那也就意味着, 一个页中所存储的行也是有限的,如果插入的数据行row在该页存储不小,将会存储到下一个页中,页与页之间会通过指针连接。但是并不会直接将50存入3#页,而是会将1#页后一半的数据,移动到3#页,然后在3#页,插入50。原创 2024-05-30 13:58:10 · 855 阅读 · 0 评论 -
MySQL索引
前缀长度:可以根据索引的选择性来决定,而选择性是指不重复的索引值(基数)和数据表的记录总数的比值,索引选择性越高则查询效率越高, 唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的。最左前缀法则中指的最左边的列,是指在查询时,联合索引的最左边的字段(即是第一个字段)必须存在,与我们编写SQL时,条件编写的先后顺序无关。最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。用or分割开的条件, 如果or前的条件中的列有索引,而后面的列中没有索引,那么涉及的索引都不会被用到。原创 2024-05-29 15:17:17 · 1019 阅读 · 0 评论 -
MySQL服务
5. 给root用户分配权限。原创 2024-05-26 13:15:48 · 218 阅读 · 0 评论 -
MySQL存储引擎
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。-- 查询建表语句 -- 默认的存储引擎为InnoDB-- 查询当前数据库支持的存储引擎-- 创建表my_myisam,并指定MyISAM存储引擎id int,-- 创建表my_memory,并指定Memory存储引擎id int,原创 2024-05-24 19:21:43 · 1052 阅读 · 0 评论 -
MySQL事务
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。注意: 默认MySQL的事务是自动提交的,也就是说,当执行完一条DML语句时,MySQL会立即隐式的提交事务。原创 2024-05-24 18:15:41 · 389 阅读 · 0 评论 -
MySQL多表查询
项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:一对多(多对一)、多对多、一对一。那么我们要执行多表查询,就只需要使用逗号分隔多张表即可,如: select * from emp , dept;左外连接和右外连接是可以相互替换的,只需要调整在连接查询时SQL中,表结构的先后顺序就可以了。在自连接查询中,必须要为表起别名,要不然我们不清楚所指定的条件、返回的字段,到底是哪一张表的字段。原创 2024-05-23 19:31:37 · 732 阅读 · 0 评论 -
MySQL约束
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。原创 2024-05-23 11:44:01 · 545 阅读 · 0 评论 -
MySQL函数
如果expr的值等于val1,返回res1,... 否则返回default默认值。原创 2024-05-23 09:37:29 · 339 阅读 · 0 评论 -
DCL(数据控制)
其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以远程访问的。User代表的是访问该数据库的用户名。revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。show grants for '用户名'@'主机名';'用户名'@'主机名';'用户名'@'主机名''用户名'@'主机名'原创 2024-05-22 15:44:08 · 687 阅读 · 0 评论 -
DQL(数据查询)
在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站,在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能还会涉及到条件、排序、分页等操作。执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是limit。如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。原创 2024-05-22 12:05:04 · 1109 阅读 · 1 评论 -
DML(数据操作)
因为 employee 表的age字段类型为 tinyint,而且还是无符号的 unsigned ,所以取值只能在0-255 之间。insert into 表名 (字段名1, 字段名2, ...) values (值1, 值2, ...);修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。B. 修改id为1的数据, 将name修改为小昭, gender修改为女。插入数据时,指定的字段顺序需要与值的顺序是一一对应的。插入的数据大小,应该在字段的规定范围内。原创 2024-05-21 18:01:58 · 720 阅读 · 0 评论 -
数据库(MySQL)
而所谓二维表,指的是由行和列组成的表,如下图(就类似于Excel表格数据,有表头、有列、有行,还可以通过一列关联另外一个表格中的某一列数据)。简单说,基于二维表存储数据的数据库就成为关系型数据库,不是基于二维表存储数据的数据库,就是非关系型数据库。注意:[ ]内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,如果连接本地的MySQL,则无需指定这两个参数。此时,可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。原创 2024-05-21 12:40:44 · 1063 阅读 · 0 评论