MySQL数据库

2021/10/7 19:14:34

本文主要是介绍MySQL数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、 SQL 的 select 语句完整的执行顺序

1 )from 子句组装来自不同数据源的数据;
2 )where 子句基于指定的条件对记录行进行筛选;
3 )group by 子句将数据划分为多个分组;
4)使用聚集函数进行计算;
5)使用 having 子句筛选分组;
6)计算所有的表达式;
7) select 的字段;
8)使用 order by 对结果集进行排序。


2、事务的基本要素(ACID)

  • 原子性( Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。

  • 一致性( Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。

  •  隔离性( Isolation):是指多个用户并发访问数据库时,一个用户的事务不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离,不能相互影响。

  • 持久性( Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。

 

3、MySQL事务隔离级别

  • 脏读:一个事务读取到了另一个事务中尚未提交的数据
  • 不可重复读:一个事务中两次读取的数据内容不一致。
  • 幻读: 一个事务中多次读取,数据的数量不一样。

 

4、简述在 MySQL数据库中 MyISAM和 InnoDB的区别

1.MyISAM存储引擎

主要特点: MySQL5.5版本之前的默认存储引擎 支持表级锁(表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁); 不支持事务,外键。

适用场景:对事务的完整性没有要求,或以select、insert为主的应用基本都可以选用MYISAM。在Web、数据仓库中应用广泛。

特点:

1)不支持事务、外键

2)每个myisam在磁盘上存储为3个文件,文件名和表名相同,扩展名分别是

  .frm ------- 存储表定义;

  .MYD -------- MYData 存储数据;

  .MYI -------- MYIndex,存储索引。

2.InnoDB存储引擎

主要特点: MySQL5.5版本之后的默认存储引擎; 支持事务; 支持行级锁(行级锁是Mysql中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁); 支持聚集索引方式存储数据。

 

5、什么是锁?

  答:数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。

基本锁类型:锁包括行级锁和表级锁

 



这篇关于MySQL数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程