USE stus--转到stus数据库
GO
IF exists(SELECT * FROM sysobjects where name='studentinfo')
--查询是否存在该表
DROP TABLE studentinfo--存在则删除
go
CREATE table studentinfo
--创建表
( s_id int identity(1,1),--自增长
c_id int ,--班级
id s_no varchar(6) not null,--学号
s_name varchar(20) not null,--姓名
s_age int ,--年龄 s_gender bit,--性别
s_address varchar(30) not null--住址)
go
--添加主键约束
ALTER table studentinfo add constraint pk_s_id primary key(s_id)
--添加外键约束
ALTER table studentinfo add constraint fk_c_id foreign key(c_id) references classinfo(id)
--添加检查约束 编号长度为6
ALTER table studentinfo add constraint ck_s_no check(len(s_no)=6)
--添加唯一约束 编号是唯一的
ALTER table studentinfo add constraint uq_s_no unique(s_no)
--添加检查约束 年龄在17岁到30岁之间
ALTER table studentinfo add constraint ck_s_age check(s_age between 17 and 30)
--添加检查约束 年龄只能是0或者1
ALTER table studentinfo add constraint ck_s_gender check(s_gender in(0,1))
--添加默认约束 性别默认为1
ALTER table studentinfo add constraint df_s_gender default 1 for s_gendergo
--SELECT * FROM studentinfo
TRUNCATE table studentinfo
--删除表数据,保留表结构
--插入数据 因为性别设置默认值了,这里不需要插入
INSERT INTO studentinfo (c_id,s_no,s_name,s_age,s_address)
select 1, '000001','jack',19,'桃花谷1'union
select 2, '000002','lucy',18,'桃花谷2'union
select 3, '000003','tom',20,'桃花谷'go
============================================================================
也可以在创建表的时候就添加约束
CREATE table studentinfo(
s_id int identity(1,1)primary key,
c_id int foreign key references classinfo(id),
s_no varchar(6) not null check(len(s_no)=6) unique,
s_name varchar(20) not null,
s_age int check (s_age between 17 and 30),
s_gender bit check(s_gender in(0,1)) default(1),
s_address varchar(30) not null
)
GO
IF exists(SELECT * FROM sysobjects where name='studentinfo')
--查询是否存在该表
DROP TABLE studentinfo--存在则删除
go
CREATE table studentinfo
--创建表
( s_id int identity(1,1),--自增长
c_id int ,--班级
id s_no varchar(6) not null,--学号
s_name varchar(20) not null,--姓名
s_age int ,--年龄 s_gender bit,--性别
s_address varchar(30) not null--住址)
go
--添加主键约束
ALTER table studentinfo add constraint pk_s_id primary key(s_id)
--添加外键约束
ALTER table studentinfo add constraint fk_c_id foreign key(c_id) references classinfo(id)
--添加检查约束 编号长度为6
ALTER table studentinfo add constraint ck_s_no check(len(s_no)=6)
--添加唯一约束 编号是唯一的
ALTER table studentinfo add constraint uq_s_no unique(s_no)
--添加检查约束 年龄在17岁到30岁之间
ALTER table studentinfo add constraint ck_s_age check(s_age between 17 and 30)
--添加检查约束 年龄只能是0或者1
ALTER table studentinfo add constraint ck_s_gender check(s_gender in(0,1))
--添加默认约束 性别默认为1
ALTER table studentinfo add constraint df_s_gender default 1 for s_gendergo
--SELECT * FROM studentinfo
TRUNCATE table studentinfo
--删除表数据,保留表结构
--插入数据 因为性别设置默认值了,这里不需要插入
INSERT INTO studentinfo (c_id,s_no,s_name,s_age,s_address)
select 1, '000001','jack',19,'桃花谷1'union
select 2, '000002','lucy',18,'桃花谷2'union
select 3, '000003','tom',20,'桃花谷'go
============================================================================
也可以在创建表的时候就添加约束
CREATE table studentinfo(
s_id int identity(1,1)primary key,
c_id int foreign key references classinfo(id),
s_no varchar(6) not null check(len(s_no)=6) unique,
s_name varchar(20) not null,
s_age int check (s_age between 17 and 30),
s_gender bit check(s_gender in(0,1)) default(1),
s_address varchar(30) not null
)