SQL约束名创建与修改添加

PRIMARY KEY约束与 FOREIGN KEY约束创建

主键PRIMARY创建:

格式1CREATE TABLE <表名><列名1> 数据类型  PRIMARY KEY,
<列名2> 数据类型 
)

如:创建表g1并且设置g_id为主键

CREATE TABLE g1
 (
g_id CHAR(6) PRIMARY KEY,
g_name VARCHAR(20)
)

格式2:

CREATE TABLE <表名><列名1> 数据类型  ,
<列名2> 数据类型 ,
.....,
CONSTRAINT 约束名 PRIMARY KEY(列或者列的组合)
)

如:创建表stu 定义主键为s_id

CREATE TABLE stu
(
s_id  CHAR(10) ,
s_name VARCAHR(30) ,
s_sex CHAR(2),
CONSTRAINT pk PRIMARY KEY(s_id)
)

FOREIGN KEY 约束
创建时的FOREIGN KEY约束:

CREATE TABLE <表名><列名> 数据类型 REFERENCES <被引用的表名> (被引用的列名)

例:

CREATE TABLE Types
(
t_id CHAR(2) PRIMARY KEY,
t_Name VARCAHR(2)
)
CREATE TABLE goods
(
g_id CHAR(6) ,
g_Name VARCHAR(30) ,
t_id CHAR(2) REFERENCES Types(t_id)
//goods的外键引用的Types的t_id必须为Types的主键,
一个表可以有多个外键,每个外键是每个引用表的主键。

修改添加外键约束:

ALTER TABLE <表名> 
ADD CONSTRAINT <约束名> FOREIGN KEY (字段名) REFERENCES <被引用的表名> (被引用的列名)

例:

ALTER TABLE goods
ADD CONSTRAINT fg_t_id FOREIGN KEY (t_id)
REFERENCES Types(t_id)

CHECK例子:
关于LENGTH:
DataLength()函数返回的是字符串字节的长度,包含后缀空格。而Len()函数返回的是字符串的字符长度,不包含后缀的空格。
设置Customers表的c_CarID的长度只能为15或者18位

ALTER TABLE Customers ADD CONSTRAINT
ck_CarID CHECK(len(c_CarID)=15 OR len(c_CarID=18)) 
 //限定了输入字符长度为15或者18

电子邮箱中(e-Email)必须包含“@”符号

ALTER TABLE Customers ADD CONSTRAINT
ck_email CHECK ([c_E-mail] LIKE '%@%')

UNIQUE 约束 : 确保列中不输入重复值来保证数据的完整性
创建UNIQUE

CREATE TABLE <表名>....
<列名> 数据类型 UNIQUE,
...)

修改设置UNIQUE约束

ALTER TABLE <表名>
ADD CONSTRAINT <约束名> UNIQUE (字段)

//使用sp_help <表名>查看到约束名

猜你喜欢

转载自blog.csdn.net/zguohuai/article/details/105662473