数据库的约束(MySQL)

约束类型:

约束名称描述关键字
非空约束保证所有数据中不能有null值NOT NULL
唯一约束保证数据中所有数据个不相同UNIQUE
主键约束主键是一行数据的唯一标识,要求非空且唯一PRIMARY KEY
检查约束保证列中的值满足唯一条件CHECK
默认约束保存数据时,未指定值则采用默认值DEFAULT
外键约束外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性FOREIGN KEY

tips: MySQL 不支持检查约束

约束关键字位置:

- create table student (

-     id int primary key  auto_increment,  # 学生id,主键且自增长

-     ename varchar(50) not null unique,  # 学生姓名,非空且唯一,多个约束并列写就可以

-     joindate date not null,  # 学生入学日期,非空

-     score double(5,2) default 0,  # 学生成绩,如果没有填写,默认成绩为0

-     aca_id int not null unique,  # 学院id,非空且唯一

-     constraint fk_stu_aca foreign key(aca_id) references academy(id)  # —添加外键 aca_id 关联 academy 表的id主键

-     # fk_stu_aca为自己命名的外键名称; aca_id 为从表外键; academy(id):为主表academy的主键id

-     );

tips:

  • auto_increment : 当列是数字类型,并且唯一约束时,可用

 

创建表后添加或改变约束条件:

  • ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL;  # 非空约束
    
    ALTER TABLE 表名 MODIFY 字段名 数据类型 UNIQUE;  # 唯一约束
    
    ALTER TABLE 表名 ADD PRIMARY KEY(字段名);  # 主键约束
    
    ALTER TABLE 表名 ALTER 列名 SET DEFAULT 默认值;  # 默认约束
    
    ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY(外键字段名称) REFERENCES 主表名称(主表列名称);  # 外键

    删除约束:

    ALTER TABLE 表名 MODIFY 字段名 数据类型;# 非空约束
    
    ALTER TABLE 表名 DROP INDEX 字段名;# 唯一约束
    
    ALTER TABLE 表名 DROP PRIMARY KEY;# 主键约束
    
    ALTER TABLE 表名 ALTER 列名 DROP DEFAULT;# 默认约束
    
    ALTER TABLE 表名 DROP FOREIGN KEY 外键名称; # 外键
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值