ceacer 2 已发布 1月28号 分享 已发布 1月28号 在SQL的建表命令Create Table中可以定义主键约束、外键约束和属性约束。对完整性约束命名能够灵活地增加和删除一个完整性约束条件。 SQL中完整性约束命名子句的用法。 一、完整性约束命名子句 语法: CONSTRAINT<完整性约束条件名><完整性约束条件> 在SQL中完整性约束命名用CONSTRAINT来表示,后面给出的是完整性约束命名的名字以及代表的完整性约束条件。 完整性约束条件:PRIMARY KEY短语(主键约束)、FOREIGN KEY短语(外键约束)、CHECK短语(属性约束)等等。 例1:建立学生表S,要求学号在90000-99999之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。 Create Table S ( sno NUMERIC (6) CONSTRAINT C1 CHECK (Sno BETWEEN 90000 AND 99999), sname CHAR (20) CONSTRAINT C2 NOT NULL, age NUMERIC (3) CONSTRAINT C3 CHECK (age < 30), sex CHAR (2) CONSTRAINT C4 CHECK (sex IN (‘男 ”女’)), CONSTRAINT SKey PRIMARY KEY (sno)); 在建立表S后给出所有的属性列,其中学号是是6位数字组成的一个定点数,它的取值是在90000-99999之间,该约束条件被命名为C1;姓名不能为空,把这个约束条件命名为C2;年龄小于30,使用CHECK短语实现,该约束被命名为C3;性别只能取“男”或“女”两个值,把该约束命名为C4;同时学号是主键,在最后给出学号是主键的约束的命名SKey。 在S表上建立了5个约束条件,包括一个主码约束(命名为SKey)以及C1、C2、C3、C4四个列级约束。 利用完整性命名可以方便地修改表中的完整性约束条件。 二、修改完整性约束 修改表中的完整性限制(完整性约束)用ALTER TABLE来实现。 例2:为表S增加主键约束。 Alter Table S ADD CONSTRAINT a1 primary key (sno); 修改表S,加上一个约束-学号是主键同时给该约束起名为a1。 例3:为表SC增加成绩在0到100之间的限制。 Alter Table SC ADD CONSTRAINT c1 check (grade between 0 and 100); 修改表SC,增加一个约束并命名为c1,约束的内容是成绩在0到100之间。 例3的SQL SERVER命名执行结果图 在SQL SERVER中,将例3的命名执行之后,可以看到在表SC下方的约束中出现了新的约束c1。如果不对约束命名,系统会对约束进行自动命名,如键列表中的“PK_SC”是系统命名的主键,如果是“FK”开头的即为表的外键。 例4:取消表S对年龄小于30的限制。 Alter Table S DROP CONSTRAINT C3; 前面定义的“年龄小于30”的限制所起的名字是C3,这样就可以方便地利用该命名把这个约束删除、取消。即修改表S,使用DROP命令删掉约束C3。 例5:修改表S中的约束条件,要求年龄由小于30改为小于40。 这种修改的实现一般是由两种语句来合作完成:先删除原来的约束条件,再增加新的约束条件。 Alter Table S DROP CONSTRAINT C3; Alter Table S ADD CONSTRAINT C3 CHECK (age < 40)); 在S表中做修改,删除约束C3, “年龄小于30”的约束被命名为C3,所以要先将它删掉;再在表S中增加一个约束C3,新的约束的条件的内容是“年龄小于40” 。 三、总结 给完整性约束命名的好处是方便约束的维护、管理、记忆、使用。 在建表的时候如果没有指定情况下用户可以通过Alter Table命令随时施加约束和修改表中原有的完整性限制,非常灵活方便。 评论链接 在其他网站上分享 更多分享选项...
推荐帖
创建账户或登录以发表评论
您需要成为会员才能发表评论
创建一个帐户
在我们的社区注册一个新账户。很简单!
注册新账户登入
已有账户?在此登录
立即登录