SQL约束

1、主键约束

为了保证实体的完整性,主键列中的值是不允许重复的,通过主键约束可以强制实现表的实体完整性。一张表中只能有一个PRIMARY KEY 约束,且被约束的列不允许出现NULL值。

1、在创建表结构时创建约束

CREATE TABLE 表名 (
​
字段1 字段类型 ,字段2 字段类型,
​
PRIMARY KEY (字段1));

2、在更改表结构时创建约束

ALTER TABLE 表名 modify 字段名 字段类型 PRIMARY KEY;

3、删除主键约束

ALTER TABLE 表名 DROP PRIMARY KEY;

2、联合主键

一张表中可以存在多个主键

1、创建表结构时创建约束

CREATE TABLE 表名 (
​
字段1 类型,字段2 类型,字段3 类型,
​
PRIMARY KEY(字段1,字段2));

2、在更改表结构时创建约束

ALTER TABLE 表名 ADD PRIMARY KEY (字段1,字段2);

3、自增长列(标识列)

是由数据库自动维护,不会重复,必须和KEY搭配使用,一张表最多可以有一个

标识列

1、在创建表结构时创建约束

CREATE TABLE 表名 (
​
字段1 字段类型  AUTO_INCREMENT,字段2 字段类型,
​
PRIMARY KEY (字段1));

2、在更改表结构时创建约束

ALTER TABLE 表名 modify 字段名 字段类型 AUTO_INCREMENT;

3、删除约束

ALTER TABLE 表名 MODIFY 字段名 类型;

4、唯一约束

使得主键列中的数据具有唯一性。

1、在创建表结构时创建约束

CREATE TABLE 表名 (
​
字段1 字段类型 ,字段2 字段类型,
​
UNIQUE (字段2));

2、在更改表结构时创建约束

ALTER TABLE 表名 modify 列名 类型 UNIQUE;

3、删除唯一约束

ALTER TABLE 表名 DROP INDEX 字段名 ;

5、默认约束

为列中的值设置默认值

1、在创建表结构时创建约束

CREATE TABLE 表名 (
​
字段1 字段类型 ,字段2 字段类型,
​
字段3 字段类型 DEFAULT 默认值;

2、在更改表结构时创建约束

ALTER TABLE 表名 modify 字段名 字段类型 DEFULT 默认值;

3、删除默认约束

ALTER TABLE 表名MODIFY 字段名 字段类型;

6、非空约束

1、在创建表结构时创建约束

CREATE TABLE 表名 (
​
字段1 字段类型 ,字段2 字段类型,
​
字段3 字段类型 NOT NULL;

2、在更改表结构时创建约束

ALTER TABLE 表名 modify 字段名 字段类型 NOT NULL;

3、删除非空约束

ALTER TABLE 表名MODIFY 字段名 字段类型;

7、外键约束

1、在创建表结构时创建约束

CREATE TABLE 表名 (

字段1 字段类型 ,字段2 字段类型,

字段3 字段类型 ,CONSTRAINT 外键名 FOREIGN (子表) REFERENCES 父表(父表字段);

2、在更改表结构时创建约束

ALTER TABLE 子表 ADD CONSTRAINT 外键名称 FOREIGN KEY (子表字段)REFERENCES 主表名(主表字段);

3、删除默认约束

ALTER TABLE 表名 DROP FOREIGN KEY 主键名;

在设置外键的时候后面添加 on delete cascade / on update cascade 在删除/更新主表时,级联删除/更新外键列的数据 在设置外键的时候后面添加 on delete set null / on update set null 在删除/更新主表时,外键列的值会变成null

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值