sql用命令创建主键与外键。
用命令创建主键与外键.用命令创建默认值对象,并与表中字段绑定.用命令创建CHECK约束定义某字段.用命令创建规则对象,并与表中字段绑定.用命令创建用户自定义数据类型,并用...
用命令创建主键与外键.用命令创建默认值对象,并与表中字段绑定.用命令创建CHECK约束定义某字段.用命令创建规则对象,并与表中字段绑定.用命令创建用户自定义数据类型,并用该数据类型定义表中字段.
展开
3个回答
推荐于2017-05-16
展开全部
创建SQL的主键和外键约束的方法:
--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)
--如果在表创建好了以后再加约束,则格式分别为:
-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上
--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)
--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'
alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)
alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。
--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接
--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'
--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除
参考资料 : http://www.studyofnet.com/news/92.html
希望以上的回答能够帮到你
--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)
--如果在表创建好了以后再加约束,则格式分别为:
-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上
--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)
--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'
alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)
alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。
--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接
--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'
--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除
参考资料 : http://www.studyofnet.com/news/92.html
希望以上的回答能够帮到你
2013-10-17
展开全部
--用命令创建主键与外键.nbsp;--使用SQL语句创建主键约束可以在创建表(Createnbsp;Table)或修改表(Alternbsp;Table)时进行nbsp;nbsp;创建。--例创建表时createnbsp;tablenbsp;tablename(idnbsp;intnbsp;(CONSTRAINTnbsp;pk_id)nbsp;PRIMARYnbsp;KEY)--例修改表时ALTERnbsp;TABLEnbsp;tablenamenbsp;nbsp;nbsp;nbsp;nbsp;--修改表ADDnbsp;nbsp;nbsp;nbsp;nbsp;CONSTRAINTnbsp;tb_PRIMARYPRIMARYnbsp;KEYnbsp;CLUSTEREDnbsp;(列名)nbsp;/*将你要设置为主键约束的列*/--用命令创建默认值对象,并与表中字段绑定.nbsp;--使用SQL语句创建主默认值对象可以在创建表(Createnbsp;Table)或修改表(Alternbsp;Table)时进行nbsp;nbsp;创建。--例创建表时createnbsp;tablenbsp;tablename(idnbsp;intnbsp;DEFAULTnbsp;0)--例修改表时ALTERnbsp;TABLEnbsp;tablenamenbsp;nbsp;nbsp;nbsp;nbsp;--修改表ADDnbsp;nbsp;nbsp;nbsp;nbsp;CONSTRAINTnbsp;tb_DEFAULTDEFAULTnbsp;‘10011‘nbsp;FORnbsp;列名nbsp;/*将你要设置为默认值对象的列*/--用命令创建CHECK约束定义某字段.nbsp;USEnbsp;销售管理系统nbsp;nbsp;nbsp;nbsp;--引入数据库ALTERnbsp;TABLEnbsp;销售表nbsp;nbsp;nbsp;nbsp;--修改表ADDnbsp;CONSTRAINTnbsp;ck_slnbsp;nbsp;nbsp;nbsp;--创建检查约束CHECKnbsp;(数量nbsp;amp;gt;=nbsp;1nbsp;andnbsp;数量nbsp;amp;lt;=nbsp;10000)nbsp;nbsp;nbsp;nbsp;--添加约束条件--用命令创建规则对象,并与表中字段绑定.--创建规则使用CREATEnbsp;RULE语句创建CREATEnbsp;RULEnbsp;RULE_AGEnbsp;nbsp;nbsp;nbsp;--创建规则ASnbsp;@AGEnbsp;!amp;gt;nbsp;40nbsp;nbsp;nbsp;nbsp;--规则条件不能大于40CREATEnbsp;RULEnbsp;list_rulenbsp;nbsp;nbsp;nbsp;nbsp;--创建规则AS@listnbsp;INnbsp;(‘1001‘,nbsp;‘1002‘,nbsp;‘1003‘)nbsp;nbsp;nbsp;nbsp;--规则条件只能输入1001、1002、1003CREATEnbsp;RULEnbsp;pattern_rulenbsp;nbsp;nbsp;nbsp;nbsp;--创建规则AS@valuenbsp;LIKEnbsp;‘_nbsp;_-%[0-9]‘nbsp;nbsp;nbsp;nbsp;--规则条件在任意两个字符的后面跟一个连字符和任意多个字符,并以nbsp;0nbsp;到nbsp;9nbsp;之间的整数结尾--创建好一个规则后,必须使用绑定才能够使用规则,一般情况下,规则可以绑定在用户自定义数据类型或是数据列中。下面可以使用SQLnbsp;Server中的系统存储过程sp_bindrule将规则绑定在数据表中。EXECnbsp;sp_bindrulenbsp;‘RULE_AGE‘,‘操作员信息表.操作员年龄‘--用命令创建用户自定义数据类型,并用该数据类型定义表中字段.--在“student”数据库中,创建用来存储邮政编码信息的“postalcode”用户定义数据类型。--SQL语句如下:USEnbsp;studentEXECnbsp;sp_addtypenbsp;postalcode,‘char(8)nbsp;‘,‘notnbsp;null‘
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-03-30 · 知道合伙人教育行家
关注
展开全部
用命令创建主键与外键方法如下:
--用命令创建主键与外键.
--使用SQL语句创建主键约束可以在创建表(Create Table)或修改表(Alter Table)时进行 创建。
--例创建表时
create table tablename
(
id int (CONSTRAINT pk_id) PRIMARY KEY
)
--例修改表时
ALTER TABLE tablename --修改表
ADD
CONSTRAINT tb_PRIMARY
PRIMARY KEY CLUSTERED (列名) /*将你要设置为主键约束的列*/
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询