MySQL入门语法第四课:键

实施数据完整性

关系数据完整性规则包括三部分内容:实体完整性规则、参照完整性规则和用户自定义完性规则。
(1)实体完整性规则。
实体完整性规定主键取值不能重复主属性不能为空值 (NULL),即构成主键的字段都不能为NULL。
说明:空值是数据库中的一个特殊值,表示“不知道”“不确定”的意思,不等于数值 0 也不等于空串。
(2) 参照完整性规则。
参照完整性规定外键的取值必须等于被参照表的主键的某个值,或者取空值。说明:当外键为主属性,即构成主键的字段时,不允许取空值。否则,就违反了实体完整性规则。
(3)用户自定义完整性规则。
用户自定义完整性指根据具体的语义要求,使字段取值满足某种条件或函数要求


1  六种约束 
  主键约束  primary key     表级   primary key(pk_1,pk_2),foreign key
  外键约束   foreign key    表级  格式: foreign key(外键)  references 父表名(被参照的字段名)
  唯一约束  unique     
  非空约束  not null      列级
  默认约束   default       列级
  检查约束   check

分成两种
(1) 列级 : NOT NULL, DEFAULT
(2) 表级 :  primary key(pk_1,pk_2) ,foreign key

2 创建表时添加主键约束,外键约束,唯一约束,和检查约束,语法格式
  alter table 表名 ADD [CONSTRAINT 约束名]  
  PRIMARY KEY(字段名) | FOREIGN KEY(字段名) REFERENCES 父表名(字段名) | UNIQUE(字段名) | CHECK(表达式);

3 创建一个带自增列做主键的 表 AUTO_INCREMENT

4  删除约束  
    删除主键约束 
  ALTER TABLE 表名 DROP PRIMARY KEY;
  主键约束名用dshow create table 表名
  删除外键约束
  ALTER TABLE 表名 DROP FOREIGN KEY 约束名; 
   
  删除唯一约束 
  ALTER TABLE 表名 DROP key 列名;
  注: 创建唯一约束时,约束名默认为约束名
    
   删除检查约束
  ALTER TABLE 表名 DROP CHECK 约束名;

   添加或删除非空约束和默认约束用 ALTER TABLE ... MODIFY 
  ALTER TABLE 表名 MODIFY 字段名 数据类型;


5.删除约束(博主自己又总结了一下)

    先删外键,再删主键;

    (1)删外键:ALTER TABLE 表名 DROP FOREIGN KEY 约束名;
            注:外键约束名通过SHOW CREATE TABLE 表名 查;

    (2)删主键:ALTER TABLE 表名DROP KEY 列名;

    (3)删唯一约束:ALTER  TABLE 表名 DROP KEY 列名;
       注:创建唯一约束时,约束名默认为列名

    (4)删除检查约束:ALTER TABLE 表名 DROP CHECK 约束名;
            注:检查约束名通过SHOW CREATE TABLE 表名 查;

    (5)删除默认值:ALTER TABLE 表名 MDODIFY 字段 字段类型;
       (6)删除非空约束:ALTER TABLE 表名 MODIFY 字段 字段类型;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值