数据库——约束

  1. 概念
约束:对表中数据进行限定,确保表中数据的正确性、有效性和完整性。
  1. 分类
  • 主键约束(PRIMARY KEY)

值非空且唯一
一张表只能有一个字段为主键
删除主键约束:
ALTER TABLE 表名 DROP PRIMARY KEY;
添加主键约束:
ALTER TABLE 表名 MODIFY 字段名 数据类型 PRIMARY KEY;
*自动增长(AUTO_INCREMENT):一般配合主键使用

ALTER TABLE 表名 MODIFY  id INT;
LTER TABLE 表名 MODIFY  id INT AUTO_INCREMENT;
  • 非空约束(NOT NULL)

值不能为空
删除非空约束:
ALTER TABLE 表名 MODIFY 字段名 数据类型 ;
添加非空约束:
ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL;

  • 唯一约束(UNIQUE)

值必须是唯一的
删除唯一约束:
ALTER TABLE 表名 DROP INDEX 字段名 ;
添加唯一约束:
ALTER TABLE 表名 MODIFY 字段名 数据类型 UNIQUE;

  • 外键约束(FORGINE KEY)

让表之间产生关系,保证数据的正确性;
减少数据库中的冗余数据;
删除外键约束:
ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名 ;
添加外键约束:
ALTER TABLE 表名 ADD CONSTRAINT 外键约束名 FOREIGN KEY (外键字段名) REFERENCES 约束父表名(父表相关字段名[一般选择主键]);
*级联操作:
当外键约束时 我们希望对父表关联字段的操作能更新至关联表的外键字段,我们选择添加关联字段。实际开发过程中需谨慎使用,该操作极大影响数据库的性能和安全。
ALTER TABLE 表名 ADD CONSTRAINT 外键约束名 FOREIGN KEY (外键字段名) REFERENCES 约束父表名(父表相关字段名[一般选择主键]) 操作关键字;
操作关键字:ON UPDATE CASCADE --级联更新
ON DELETE CASCADE --级联删除

  1. 创建表单时添加各类约束代码demo
    CREATE TABLE employee(
        id INT PRIMARY KEY AUTO_INCREMENT, --设置id字段为主键且其值自动累加
        name VARCHER(20) NOT NULL,
        telephone INT(11) UNIQUE,
        dep_id INT, --外键,注意别忘了逗号
        CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCES department(id) --department为另一部门数据表,其主键为id
    );
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容