System
Red Hat Enterprise Linux
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/
Database
MySQL
https://dev.mysql.com/doc/
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/
https://dev.mysql.com/doc/
1) 确保表里的字段都缺一不可(也就是具有原子性)
2) 确保表里的字段都和主键直接相关
事务的作用是保护数据的安全性
一系列操作被看作一个事务,这个事务里面的所有操作要么全部失败,要么全部成功,如果在操作的过程中出现中断,则立刻进行 rollback
一系列操作被看作一个事务,在事务开始前和结束后,整个库的完整逻辑约束不能被打破,例如:一个人向另一个人转账,不能出现一个人转账成功另一个人没有收到转账,或者一个人转账失败另一个人收到转账的情况
主要解决并发的情况,避免不同的人,在相同的时间,查看到的数据的不一致性,避免以下情况的发生:
1) 脏读:一个事务读取了另一个事务更新、提交并撤销的数据,导致此事务看到的数据是错误的
2) 不可重复读:一个事务多次读取了另一个事务多次更新并提交的数据,导致此事务看到的数据是来回变化的
3) 幻读:一个事务在批量修改所有数据,但是在修改的过程中另一个事务又往里面插入了数据,导致此事务在修改完成之后,意外发现还有一条数据没有修改
事务结束后,所有更新都将被保存,不能回滚
| 事务隔离级别 | 脏读 | 不可重复读 | 幻读 |
| 读未提交(read-uncommitted) | 是 | 是 | 是 |
| 不可重复读(read-committed) | 否 | 是 | 是 |
| 可重复读(repeatable-read) | 否 | 否 | 是 |
| 串行化(serializable) | 否 | 否 | 否 |
可重复读 repeatable-read
MariaDB [(none)]> select @@tx_isolation;
+-----------------+
| @@tx_isolation |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.001 sec)
(补充:这里以查看 MariaDB 目前所使用的事务隔离为例)
唯一外键
学生表和学生证表
主外键
学生表和班级表
中间表加联合主键
(补充:联合主键是指一张表中有两个主键,这两个主键叫联合主键,每一条数据里的联合主键可以相互之间拼凑成一个新的主键,联合主键可以重复,只要保证这个新的主键唯一即可)
学生和课程
mysql 设置索引
1.添加PRIMARY KEY(主键索引)
语法:ALTER TABLE `表名` ADD PRIMARY KEY ( `列名称` )
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.添加UNIQUE(唯一索引)
语法:ALTER TABLE `表名` ADD UNIQUE ( `列名称`)
mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column`)
3.添加INDEX(普通索引)
语法:ALTER TABLE `表名` ADD INDEX index_name ( `列名称` )
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.添加FULLTEXT(全文索引)
语法:ALTER TABLE `表名` ADD FULLTEXT ( `列名称`)
mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)
5.添加多列索引
语法:ALTER TABLE `表名` ADD INDEX index_name ( `列名称`, `列名称`, `列名称` )
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )
想要查看表有几个字段设置了索引
语法;SHOW INDEX FROM `表名`
mysql>SHOW INDEX FROM `cccinfo`
————————————————
版权声明:本文为CSDN博主「z793397795」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z793397795/article/details/91491546
注明:所有转载内容皆直接从被转载文章网页的标题和内容的文本中复制而来
