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,事务排队,不能并发(线程同步)

相关推荐
程序员葫芦娃10 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设
2401_8658548811 小时前
怎样挑选适合业务的数据库云服务?
数据库
lkbhua莱克瓦2411 小时前
基础-函数
开发语言·数据库·笔记·sql·mysql·函数
福大大架构师每日一题11 小时前
dify 1.11.2 正式发布:向量数据库、安全增强、测试优化与多语言支持全面升级
数据库·安全
今天有个Bug12 小时前
【计算机毕业设计】流浪动物救助平台 - SpringBoot+Vue
sql·mysql·spring·vue·毕业设计·课程设计
码农学院12 小时前
Mysql 中的性能调优方法
数据库·mysql
UrSpecial12 小时前
MySQL索引
数据库·mysql
DB虚空行者12 小时前
聊下几次线上删除MySQL导致的故障
数据库
骑着bug的coder12 小时前
第7讲:索引(下)——失效场景与优化实战
后端·mysql