MySQL-约束

约束(constraint):在创建表饿过程中,给表加上一些约束,保证数据有效,从而保证数据的有效性和完整性。

常见的约束

非空约束:not null

唯一约束:unique

主键约束:primary key

外键约束:foreign key

检查约束:check(mysql不支持,react支持)

1.非空约束

非空约束not null的字段不能为NULL

not null 只有列级约束

2.唯一性约束

唯一性约束unique的字段不能重复,但是可以为null

多个字段联合起来添加某一约束时需要用到表级约束

CREATE TABLE IF NOT EXISTS `study3` (
`id` INT(10),
 `name` VARCHAR(255),
 `email` VARCHAR(255),
 UNIQUE(`name`,`email`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

not null 和unique能同时约束某一字段

3.主键约束(primary key)

主键约束:约束

主键字段:被主键约束的字段

主键值:主键字段上的每一个值都是主键值

主键值是每一行的唯一标识值,没有主键时表无效。

主键不能是NULL 也不能重复(noy null+unique).

一张表中的主键只有一个:

varchar不建议用来作为主键

4.文件约束

文件约束(foreign key)

外键字段:该字段上添加一个外键约束

外键值:外键字段中的每一个值

删表/删除数据/插入数据:先子后父

存储引擎

指一个表存储/组织数据的方式

表后增加

复制代码

ENGINE=INNODB DEFAULT CHARSET=utf8

指定存储引擎和编码方式mysql默认INNODB

表空间是逻辑名称,等于数据加索引

innodb最大的优势是支持事务!

事务

事务即完整的业务逻辑,最小的作业单元,批量的DML语句同时成功或同时失败

与DML语句有关(insert,delete,update)

关闭自动提交机制:

start transaction

提交:commit

回滚:rollback

事务四大特性:原子性,一致性,隔离性,持久性

隔离性

四大隔离级别(由低到高)

读未提交:read uncommitted,dirty read

读已提交:read committed,不可重复读取数据,真实

可重复读:repeatable read,重复读取到的数据没有发生改变,幻读

序列化:serializable,事务排队,不能并发(线程同步)

相关推荐
杨江2 分钟前
ThingsBoard安装测试
服务器·数据库
mit6.82411 分钟前
[Redis#4] string | 常用命令 | + mysql use:cache | session
数据库·redis·后端·缓存
Beekeeper&&P...1 小时前
map和redis关系
数据库·redis·缓存
jianqimingtian1 小时前
如何使用 Matlab 制作 GrabCAD 体素打印切片
数据结构·数据库
真真假假々1 小时前
MySQL和ADSDB
数据库·mysql
秦老师Q1 小时前
MySQL第二章 sql约束与sql数据类型
数据库·sql·mysql
不是二师兄的八戒1 小时前
mysql in查询大数据量业务无法避免情境下优化
数据库·mysql
苹果醋31 小时前
vue3 在哪些方便做了性能提升?
java·运维·spring boot·mysql·nginx
----云烟----2 小时前
Qt获取文件夹下的文件个数(过滤和不过滤的区别)
数据库·qt
Dotrust东信创智2 小时前
浅谈丨功能安全测试,汽车的守护者
运维·服务器·数据库