SQL语句对基本表的修改表结构和数据完整性

207 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第8天,点击查看活动详情

修改表的结构

在定义完表之后,如果需求有变化,比如需要添加列,删除列或修改列定义,则可以使用ALTER TABLE语句实现。ALTER TABLE语句可以实现添加列,删除列和修改列定义功能,也可以实现添加和删除约束的功能。

  • ALTER TABLE语句的部分语法格式如下:
ALTER TABLE <表名>
{ ALTER COLUMN <列名><新数据类型>   ——修改列定义
|ADD <列名> <数据类型> <约束>       ——添加新列
|DROP COLUMN <列名>               ——删除列
|ADD [constraint <约束名>]约束定义  ——添加约束
|DROP [constraint]  <约束名>}       ——删除约束

数据完整性

数据完整性是指数据的正确性和相容性。

列级约束

  • 对数据类型的约束,包括数据类型,长度,精度等。
  • 对数据格式的约束
  • 对取值范围或取值集合的约束
  • 对空值的约束

元组约束

元组约束指元组中各个字段之间的相互约束,如某个活动的开始日期小于结束日期。

关系约束

关系约束指若干元组之间,关系之间的联系的约束。比如,学号的取值不能重复也不能去空值,学生修课表中的学号的取值受学生表中的学号取值约束。

实现数据完整性

实现数据完整性一般是在服务器端完成的。在服务器端实现数据完整性的方法主要两种办法:

  • 在定义表时声明数据完整性
  • 在服务器端编写触发器来实现数据完整性

主码约束

添加主码约束主要注意如下问题:

  • 每个表只能有一个PRIMARY KEY约束。
  • PRIMARY KEY 约束的列取值不能重复,而且不允许有空值。

添加主码约束的ALTER TABLE语句语法格式如下:

ALTER TABLE 表名
   ADD [constraint<约束名>] PRIMARY KEY(<列名>[,…… n])