MySQL中不能忘的知识点

MySQL中不能忘的知识点

1.事务的特性
原子性:确保工作单元内所有操作都能够完成,否则事务将会终止在故障点,以前的操作将会回滚;
一致性:数据库正确改变能够成功提交;
隔离性:事务彼此之间的操作不影响且透明;
持久性:事务的结果在数据库出错的时候依旧能够存在。

2.事务的隔离级别
未提交读(Read Uncommited):允许脏读,即可能读取到其他会话中未提交事务修改的数据;
提交读(Read Commited):只能读取到已经提交的数据;
可重复读(Repeated Commited):在同一个事务内的查询都与事务开始时刻一致;
串行读(Serializable):完全串行化的读,每次读取都需要获得表级共享锁,读写相互会阻塞。

3.对于表的列进行修改的语句
添加:alter table table_name ADD column_name datatype
删除:alter table table_name drop (column) cloumn_name
p.s:添加列必须指定列的数据类型,删除列在MySQL下能够省略column

4.MySQL触发器
a.MySQL按照触发动作的间隔尺寸分为:行级触发器(for each row)和语句级触发器(for each satement),MySQL只支持前者,oracle二者都支持;
b.触发器不能够在里面使用显式或隐式的方式开始或者结束事务 的语句:例如start transaction、commit或rollback;不能调用存储过程,不能采用call执行动态SQL。

5.SQL语句的顺序
from where group by having select order by limit

6.分配权限
grant [权限] on [table] to ‘username’ @localhost(本地主机)
e.g : grant select, insert on userdb.userinfo to ‘张三’@’localhost’

7.事务的操作语句
begin/start transaction:显式地开启一个事务;
commit:提交实事务,并使已经对数据库进行的所有修改成为永久性的;
rollback:撤销正在进行所有未提交的修改;
savepoint:标记点,一个事务中允许存在多个标记点(rollback to savepoint);
set transaction:用来设置事务的隔离级别。(四个级别)

8.存储过程的好处
a、执行速度更快 ,在数据库中保存的存储过程语句都是编译过的
b、允许模块化程序设计,类似方法的复用
c、提高系统的安全性,防止SQL注入
d、 减少网络流通量,只需要传输存储过程的名称

9.索引的作用,聚集索引与非聚集索引的区别
索引的作用:索引是一个数据库对象,使用索引,可以是数据库程序无须对整个数据进行扫描,就可以在其中找到目标数据,从而提高查找效率。索引的底层采用的是B树。

聚集索引:根据记录的key再表中排序数据行。

非聚集索引:独立于记录的结构,非聚集所以包含的key,且每个键值项都有指向该简直的数据行的指针。

聚集索引与非聚集索引的区别:
(1)聚集索引的物理存储按索引排序,非聚集所以的物理存储不按索引排序。
(2) 聚集索引插入,更新数据的速度比非聚集索引慢,单查询速度更快。
(3) 聚集索引的叶级结点保存的是时间的数据项,而非聚集结点的叶级结点保存的是指向数据项的指针。
(4)一个表只能有一个聚集索引(因为只有一种排序方式),但可以有多个非聚集索引。

10.存储过程与函数的区别
(1)函数有返回值,存储过程没有返回值。
(2) 因为存储过程没有返回值,所以不能将存储过程的执行结果赋值给变量;函数有返回值类型,调用函数时,可以将函数的执行结果赋值给变量。也就是说,函数可以在select语句中使用,而存储过程则不能。

11.一条查询语句执行的流程
a.客户端发送一条查询给服务器;
b. 服务器先会检查查询缓存query cache,如果命中了缓存,则立即返回存储在缓存中的结果。否则进入下一阶段;
c. 服务器端进行SQL解析parsing、预处理transition,再由优化器optimization生成对应的执行计划;
d. 根据优化器生成的执行计划,调用存储引擎的API来执行分布distribution查询;
e. 将结果返回给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值