
mysql
yqs_281876918
tnnd
展开
-
【mysql学习笔记33】日志
二进制日志记录了所有的DDL语句和DML语句查询日志记录了客户端的所有操作语句,而二进制日志不包含DQL慢查询日志记录了所有执行时间超过long_query_time并且扫描记录数大于等于min_examined_row_limit的所有SQL语句日志,默认不开启。...原创 2022-07-15 14:35:59 · 147 阅读 · 0 评论 -
【MySQL学习笔记32】mvcc
redo log记录了事务提交时数据页的物理修改,是用来实现事务的持久性该日志分为两部分组成:重做日志缓冲以及重做日志文件,前者在内存中,后者在磁盘中。当事务提交之后会把所有修改信息存到该日志文件中,用于在刷新脏页(也就是未提交的数据)到磁盘发生错误时恢复数据使用。...原创 2022-07-04 15:26:48 · 182 阅读 · 0 评论 -
【mysql学习笔记30】锁(非教程)
全局锁是对整个数据库进行加锁,锁住以后整个数据库将处于只读状态,其余操作均会阻塞。应用场景就是一致性数据库备份时需要加全局锁,防止备份过程中数据变动。flush tables with read lock;mysqldump -u root -p 1234 db_name>backup.sql简介元数据锁是有mysql系统自行控制的,我们无需显示使用。元数据锁主要是用来维护元数据的数据一致性,在表上有活动事务的时候,不可以对元数据进行写入操作。理解元数据可以理解为一张表的结构信息,当一张表上有活动事原创 2022-07-02 12:39:50 · 439 阅读 · 0 评论 -
【mysql学习笔记29】触发器
CREATE TRIGGER trigger_nameBEFORE/AFTER INSERT/UPDATE/DELETEON tb_name FOR EACH ROW – 行级触发器BEGINtrigger_statement;END;SHOW TRIGGERS;DROP TRIGGER [schema_name.]trigger_name; --没有指定schema_name默认为当前数据库原创 2022-07-01 10:48:46 · 178 阅读 · 0 评论 -
【mysql学习笔记28】存储函数
存储函数和存储过程十分类似,详见:【mysql学习笔记27】存储过程存储函数有返回值,且参数只能是in类型语法:characteristic(特性):例子原创 2022-06-30 16:36:39 · 209 阅读 · 0 评论 -
【mysql学习笔记27】存储过程
create procedure 存储过程名称([参数列表])begin—SQL语句end;call procedure_name([参数列表]);select * from information_schema.ROUTINES where routine_schema=‘xxx’;–查询指定数据库的存储过程及状态show create procedure procedure;–查看存储过程定义drop procedure [if exists] procedure_name;show globa原创 2022-06-30 16:26:33 · 193 阅读 · 0 评论 -
【mysql学习笔记26】视图
CREATE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];show create view 视图名;select * from 视图名;CREATE OR REPLACE VIEW view_name[(col1,col2,…)] AS SELECT语句 [WITH [CASCADED|LOCAL] CHECK OPTION];ALTER VIEW 视图名(列明列表) AS SELECT语句 [原创 2022-06-28 16:14:22 · 564 阅读 · 0 评论 -
【mysql学习笔记25】sql语句优化
1.多条单个insert语句可以合并成一条批量插入insert语句。一次插入肯定比多次插入效果好,因为每次插入都需要建立连接。2.手动控制事务。因为mysql的事务默认是自动的,每执行一条sql语句都会开启一个事务。3.主键顺序插入。这和mysql底层有关。4.大批量数据导入不建议使用insert,而是load指令。#客户端连接服务端时,加上参数–local-infilemysql --local-infile -u root -p#设置全局参数local_infile为1,开启从本地加载文件原创 2022-06-28 14:33:22 · 804 阅读 · 0 评论 -
【mysql学习笔记24】索引设计原则
1.数据量大的情况下才考虑建立索引,否则效果不明显。几w条的时候索引提升不大,到了几十w条会有提升,但也不是特别大,几百w几千w的时候用索引不用索引就是天壤之别了。2.如果查询频次不高,不需要建立索引3.针对查询条件针对性地建立索引4.尽量选择区分度高的字段作为索引,如果拿性别作为字段就没啥意义了,跟全表查询没啥区别。唯一索引区分度是最高的,因为唯一索引强制字段值唯一5.尽量用联合索引,减少单列索引,查询时尽量覆盖索引,避免回表查询6.合理控制索引数量,索引不是越多越好,太多了会影响增删改效率。原创 2022-06-27 13:35:46 · 189 阅读 · 0 评论 -
【mysql学习笔记22】索引概述
拓展:列值唯一就是依靠唯一索引实现的。比如执行select * from user where name =‘Arm’;那么就会先去name索引里面检索Arm,查询到Arm里面对应的id是10,那么就会拿着这个10去聚集索引里面查找具体数据,然后返回。这个过程叫做“回表查询”。create [unique|fulltext] index index_name on table_name (index_col_name1,…);show index from table_name;drop index i原创 2022-06-23 20:56:31 · 97 阅读 · 0 评论 -
【mysql学习笔记21】存储引擎
利用select create table xxx;查看建表语句,即可看到使用了什么引擎create table xxx(…) engine=INNODB;show engines;innodb是一种兼具可靠与性能的引擎,也是现在mysql的默认引擎1.DML语句支持ACID模型,支持事务2.行级锁3.支持外键约束.idb存储表结构(frm、sdi)、数据和索引参数:innodb_file_per_table 用于指定是否每张表对应一个idb文件mysql早期默认引擎1.不支持事务2.不支持外键原创 2022-06-22 20:21:12 · 192 阅读 · 0 评论 -
【mysql学习笔记20】mysql体系结构
mysql体系结构原创 2022-06-22 12:44:12 · 157 阅读 · 0 评论 -
【mysql学习笔记19】多表查询
select * from emp,dept;相当于对emp表和dept做了笛卡尔积操作select * from emp,dept where emp.dept_id=dept.id;相当于查询员工的部门信息语法1:select * from emp inner join dept on emp.dept_id=dept.id;语法2:select * from emp,dept where emp.dept_id=dept.id;两者效果是一样的表结构结果展示(按sql语句顺序)说原创 2022-06-20 23:35:12 · 117 阅读 · 0 评论 -
【mysql学习笔记18】约束
外键删除/更新行为名称说明NO ACTION/RESTRICT(默认行为)当删除更新的记录被外键引用时拒绝操作CASCADE当删除更新的记录被外键引用时,同时删除更新外键对应的记录SET NULL当删除更新的记录被外键引用时,将引用的记录外键值设置为nullSET DEFAULT同理如上,设置为默认值(innodb引擎不支持)语法alter table 表名 add constraint 外键名 foreign key (外键字段) reference原创 2022-06-20 13:33:41 · 76 阅读 · 0 评论 -
【mysql学习笔记17】常用函数整理
用法流程控制函数原创 2022-06-19 19:57:45 · 70 阅读 · 0 评论 -
【mysql学习笔记16】权限管理
show grants for ‘用户名’@‘主机名’grant 权限列表 on 数据库名.表名 to ‘用户名’@‘主机名’revoke 权限列表 on 数据库名.表名 from ‘用户名’@‘主机名’flush privileges原创 2022-06-19 10:40:28 · 69 阅读 · 0 评论 -
【mysql学习笔记15】用户管理
use mysql;select * from user;可以看到有四个默认用户,其中user表示用户名,host表示只能由当前域名访问这个用户,所以域名+用户名才能唯一确定一个用户create use ‘用户名’@‘主机名’ identified by ‘密码’允许任意主机访问:将主机名改成%即可alter user ‘用户名’@‘主机名’ identified with 加密方式 by ‘密码’;例如:alter user ‘yqs’@‘localhost’ identified with原创 2022-06-18 23:20:29 · 269 阅读 · 0 评论 -
【mysql学习笔记14】DQL语句执行顺序
执行顺序from>where>group by和having>select>order by>limit原创 2022-06-18 21:59:23 · 132 阅读 · 0 评论 -
【mysql学习笔记13】查询语句综合练习
拓展函数length():mysql里面的length()函数是一个用来获取字符串长度的内置函数char_length():在mysql内置函数里面查看字符串长度的还有一个函数是char_length()length():单位是字节,utf8编码下,一个汉字三个字节,一个数字或字母一个字节。gbk编码下,一个汉字两个字节,一个数字或字母一个字节char_length():单位为字符,不管汉字还是数字或者是字母都算是一个字符...原创 2022-06-18 21:51:20 · 546 阅读 · 0 评论 -
【mysql学习笔记12】分页查询
select 字段列表 from 表名 limit 起始索引,查询记录数;1.起始索引从0开始2.可以省略起始索引,默认为0原创 2022-06-18 21:37:35 · 86 阅读 · 0 评论 -
【mysql学习笔记11】排序查询
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2,…asc:升序(默认排序方式)desc:降序原创 2022-06-18 21:31:30 · 171 阅读 · 0 评论 -
【mysql学习笔记10】分组查询
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 条件]where是在分组之前进行过滤,不满足where条件的行不参与分组,having是分组后对组进行过滤。原创 2022-06-16 19:02:45 · 94 阅读 · 0 评论 -
【mysql学习笔记09】聚合函数
注意事项:所有聚合函数不会将null纳入计算原创 2022-06-16 18:43:06 · 74 阅读 · 0 评论 -
【mysql学习笔记08】条件查询
select 字段列表 from 表名 where 条件列表建表以及数据SQL见学习笔记07原创 2022-06-16 17:28:27 · 108 阅读 · 0 评论 -
【mysql学习笔记07】基础查询
先建立一张表,并且导入一些数据基础语法select 字段列表from 表名列表where 条件列表group by 分组字段列表having 分组后条件列表order by 排序字段列表limit 分页参数select * from 表名;*号表示所有,但是效率比较差,而且不直观。select 字段1 [as 别名1],字段2 [as 别名2],… from 表名;在select 后面加一个distinct关键字即可select distinct 字段列表 from 表名;...原创 2022-06-16 17:14:50 · 75 阅读 · 0 评论 -
【mysql学习笔记06】sql中的DML语句
DML代表数据操作语言,用来对表中的数据进行增删改。insert into 表名 (字段1,字段2,…) values(值1,值2,…);insert into 表名 values(值1,值2,…);insert into 表名(字段1,字段2,…) values(值1,值2,…),(值1,值2,…),(值1,值2,…),…;或者insert into 表名 values(值1,值2,…),(值1,值2,…),(值1,值2,…),…;update 表名 set 字段1=值1,字段2=值2,… [wher原创 2022-06-16 16:22:37 · 78 阅读 · 0 评论 -
【mysql学习笔记04】SQL数据定义
查询所有数据库show databases;查询当前数据库select database();create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];drop datebase [if exists] 数据库名;use 数据库名;查询当前数据库的所有数据表SHOW TABLES;查询表结构DESC 表名;查询某张表的建表语句SHOW CREATE TABLE 表名创建表CREATE TABLE 表名(原创 2022-06-16 16:08:12 · 291 阅读 · 0 评论 -
【mysql学习笔记05】数据类型
mysql数据类型原创 2022-06-14 23:23:10 · 64 阅读 · 0 评论 -
【mysql学习笔记03】sql概述
1.SQL语句可以单行或者多行书写,并以分号结尾2.SQL语句可以用空格和缩进增强语句可读性3.mysql中SQL区分大小写4.注释方法:·单行注释: – 注释内容 或 #注释内容·多行注释: /* 注释内容 */...原创 2022-06-14 21:03:55 · 91 阅读 · 0 评论 -
【mysql学习笔记02】数据模型
mysql数据模型原创 2022-06-14 20:57:32 · 80 阅读 · 0 评论 -
【mysql学习笔记01】基本概念
数据库基本概念原创 2022-06-14 19:22:23 · 75 阅读 · 0 评论