ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MySQL夯实基础7: 使用SQL语句定义、命名、更新完整性约束的操作方法及应用

2026/9/2 6:07:16 拓冰建站 浏览量
MySQL夯实基础7: 使用SQL语句定义、命名、更新完整性约束的操作方法及应用 接上一期使用SELECT语句针对多张表开展连接查询, 嵌套(子)查询, 联合查询.本节使用SQL语句定义、命名、更新完整性约束CONSTRAINT的操作方法及应用下一期预告使用SQL语句查看、创建、删除索引INDEX的操作方法、原则及应用完整性约束的作用及命名语法结构一句话总结为了在数据库应用中保障数据的正确性和一致性,防止数据库中存在不符合的语义、不正确的数据命名语法结构CONSTRAINTsymbol表级约束指定名字 PRIMARY KEY (主键字段列表 UNIQUE 候选键字段列表 FOREIGN KEY 外键字段列表REFERENCES tb_被参照关系主键字段列表 CHECK 约束条件表达式举例表级设置主键约束CREATE TABLE ... ( studentNo CHAR(10), ... , CONSTRAINT PK_student PRIMARY KEY (studentNo) ) ENGINEInnoDB;关系模型中三类完整性约束*关系模型必须满足的完整性约束条件被称作是关系的两个不变性定义实体完整性*通过命名主键约束和候选键约束来实现命名 CONSTRAINT 主键约束 PRIMARY KEY 候选键约束 UNIQUE定义参照完整性外键与主键之间的引用规则即外键的取值或者为空或者等于被参照关系中某个主键的值FOREIGN KEY 外键约束用户定义的完整性一种特殊的约束条件 它反映了某一具体应用所涉及的数据应满足的语义要求例如学生性别不能为NULL且只能取值‘男’或‘女’类型非空约束CHECK约束触发器NOT NULL CHECK(expr)更新完整性约束删除 或 添加当对各种约束进行命名后就可以使用SQL语句来更新与列或表有关的各种约束删除约束DROP TABLE该表上定义的所有完整性约束都被自动删除ALTER TABLE可以独立地删除完整性约束 而不会删除表本身删除主键约束ALTER TABLE table_name DROP PRIMARY KEY;因为一张表只能定义一个主键所以无论有无给主键约束命名均使用该语法删除候选键约束ALTER TABLE table_name DROP index_name | column_name;添加约束CREATE TABLE命令定义表时可以直接定义相关的完整性约束ALTER TABLE数据表定义完成后可以使用该语句添加完整性约束添加主键约束ALTER TABLE tb_name ADD [CONSTRAINT约束名] PRIMARY KEY(字段名);添加外键约束ALTER TABLE tb_name ADD [CONSTRAINT约束名] FOREIGN KEY(外键字段名) REFERENCES 被参照表(主键字段名);添加候选键约束ALTER TABLE tb_name ADD [CONSTRAINT约束名] UNIQUE KEY(字段名);注意完整性约束不能直接被修改若要修改某个约束实际上是用ALTER TABLE语句先删除该约束然后再增加一个与该约束同名的新约束总结一下完整性约束分为 实体完整性约束主键、候选键、参照完整性约束外键、用户定义完整性约束非空约束、CHECK约束使用ALTER TABLE及DROP TABLE更新及删除约束下一期预告使用SQL语句查看、创建、删除索引INDEX的操作方法、原则及应用