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

相关推荐
Ai 编码助手17 分钟前
MySQL中distinct与group by之间的性能进行比较
数据库·mysql
陈燚_重生之又为程序员33 分钟前
基于梧桐数据库的实时数据分析解决方案
数据库·数据挖掘·数据分析
caridle34 分钟前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
白云如幻36 分钟前
MySQL排序查询
数据库·mysql
萧鼎38 分钟前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
^velpro^40 分钟前
数据库连接池的创建
java·开发语言·数据库
苹果醋343 分钟前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
荒川之神1 小时前
ORACLE _11G_R2_ASM 常用命令
数据库·oracle
IT培训中心-竺老师1 小时前
Oracle 23AI创建示例库
数据库·oracle
小白学大数据1 小时前
JavaScript重定向对网络爬虫的影响及处理
开发语言·javascript·数据库·爬虫