建表
约束
主键约束
create table test(
col1 int primary key,
...
)
create table test(
col1 int,
col2 varchar(20),
...,
primary key(col1,col2)
)
外键约束
alter table userInfo --外键从表
add
constraint userInfodepartment --外键名
foreign key
(department) --从表列名
references
departmentInfo (department); --主表(列名)
alter table userInfo
drop
constraint userInfodepartment;
非空约束
alter table student_info alter column stu_class tinyint not null;
alter table student_info alter column stu_class tinyint null;
unique
unique可以存在一个null值,主键约束不可
create table test(
col1 int unique,
...
)
create table test(
col1 int,
col2 varchar(20),
...,
unique(col1,col2)
)
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column1, column2,...);
check
CREATE TABLE test(
product_id INT IDENTITY PRIMARY KEY,
product_name VARCHAR(255) NOT NULL,
unit_price DEC(10,2),
discounted_price DEC(10,2) CHECK(discounted_price > 0 ),
CHECK(unit_price > 0),
CONSTRAINT check_name CHECK(discounted_price > unit_price)
);
标识列(identity)
请使用IDENTITY
属性,如下所示:
IDENTITY[(seed,increment)]
seed
是表中的第一行的值(第一条记录标识列使用的值)。
increment
是添加到上一行标识值的增量值。
identity(1,1)
相当Mysql里的AUTO_INCREMENT
Example: