SQL server从入门精通----表的操作

 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   --删除约束

 

posted @ 2015-09-09 11:35  code_killer  阅读(228)  评论(0编辑  收藏  举报