1 use Qzone
2
3 --select * from sysobjects where name='Q_user'
4 if OBJECT_ID('Q_user','u') is not null --obejct_id一个根据表sysobjects的方法(对象名,对象类型)
5 drop table Q_user --删除表
6 create table Q_user
7 (
8 uId int, --identity(10001,1),--主键约束
9 uLogName nvarchar(30) unique,--唯一约束 CK__Q_user__uPwd__1CF15040(自动生成的约束名不方便后面的操作)
10 uName nvarchar(30),
11 uPwd nvarchar(30) check(len(uPwd)<=30),--检查约束
12 uIsOnline bit default(0),--默认约束
13 uIsFrezee bit,
14 uFrezeeTime nvarchar(30),
15 uIsMulLogin bit
16 --主键
17 constraint pk_uId primary key(uId) --可以指定主键名称
18 --primary key(uId)
19 --primary key(uLogName,uPwd)两个一起组成主键
20 --外键
21 --Foreign key(Sno) references student(Sno)
22 --所有的约束与主键类似
23 )
24 exec sp_rename 'Q_user','Q_users' --(修改表名)
25 exec sp_rename 'Q_users','Q_user'
26 --也可以用来修改列明
27 exec sp_rename 'Q_user.uIsMulLogin','upwds'
28 exec sp_rename 'Q_user.upwds','uIsMulLogin'--有约束好像不能重命名
29
30
31 alter table book
32 add book_copy_no varchar(10),publish_date smalldatetime
33
34 alter table Q_user
35 --add test nvarchar(50) check(len(test)>6),ss int --增加一列
36 --drop column test --删除带约束列时,要先删除其附属的列 (如果这样的直接用可视操作就好了)
37 --alter column uIsOnline int --修改类型也要先删除其附属的列 (如果这样的直接用可视操作就好了)
38 --add constraint DF_uIsOnline default(0) for uIsOnline
39 --add constraint CK_uIsOnline check( uIsOnline in(0,1))
40 --add constraint Pk_stuNo primary key(stuNo)
41 --add constraint UQ_stuId unique(stuId)
42 --alter column uIsOnline int not null
alter table ProjectJoin
add constraint ProjectJoin_FK_pgId foreign key(pgId) references programmer(id),
constraint ProjectJoin_FK_pjId foreign key(pjId) references Project(id)
43 drop CK_uIsOnline --删除约束