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

相关推荐
尘浮生4 分钟前
Java项目实战II基于Java+Spring Boot+MySQL的校园社团信息管理系统(源码+数据库+文档)
java·开发语言·数据库·spring boot·mysql·spring·maven
petaexpress18 分钟前
分布式云化数据库的优缺点分析
数据库·分布式
Lansonli23 分钟前
大数据Flink(一百二十):Flink SQL自定义函数(UDF)
大数据·sql·flink
失心疯_202335 分钟前
Mysql_使用简介
数据库·sql·mysql·关系型数据库·ddl·dml·mysql教程
小威要向诸佬学习呀35 分钟前
MySQL中的LIMIT与ORDER BY关键字详解
数据库·mysql
用生命在耍帅ㅤ39 分钟前
mysql时间戳格式化yyyy-mm-dd
sql·mysql
Mero技术博客40 分钟前
第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)
数据库·学习·缓存
为暗香来1 小时前
MySQL学习(视图总结)
数据库·学习·mysql
yzkkdhh1 小时前
【Windows 同时安装 MySQL5 和 MySQL8 - 详细图文教程】
windows·mysql·idea
尘浮生1 小时前
Java项目实战II基于Java+Spring Boot+MySQL的作业管理系统设计与实现(源码+数据库+文档)
java·开发语言·数据库·spring boot·后端·mysql·spring