数据库约束

tech2022-07-05  262

数据库约束

PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY (FK) 标识该字段为该表的外键 NOT NULL 标识该字段不能为空 UNIQUE KEY (UK) 标识该字段的值是唯一的 AUTO_INCREMENT 标识该字段的值自动增长(整数类型,而且为主键) DEFAULT 为该字段设置默认值 UNSIGNED 无符号 ZEROFILL 使用0填充

​ unique有一种联合的方式,使用方法是(字段名)将两个字段看成是一体的,保证两个字段只要有一个是唯一即可

联合唯一
#使用方法 create table t1( id int primary key auto_increment, ip char(10), port int, unique(ip,port) );
primary key

​ innodb会以主键所约束的值会帮助我们生成表结构,用于提高查询速度。

​ 若是不指定主键,innodb会自动寻找第一个not null 且unique的字段为主键,都没有则会随机设置一个隐藏的主键

详细的会在索引部分细讲。

​ primary key也有这么一种联合的方式,使用方法与unique一致。

foreign key

foreign key简单的说就是将两张表通过语法角度连接在一起。且使用foreign key有一定的条件

1.双方都必须是innodb存储引擎,且被关联的字段必须保证唯一性

2.建表时,必须先建立被关联的表,才能建立关联表

3.插入记录时,先往被关联的表插入记录,才能往关联表中插入数据

使用方法

#语法 foreign key(关联的表) references(被关联的表) #同步更新,同步删除 #在原关联语句后面添加 on update cascade on delete cascade

​ 但是不建议使用外键的方式进行约束,因为影响过大,对后续的更新,扩展有极其不利的影响

表与表之间的关系

多对多:

多对一:

一对一:

最新回复(0)