1.
在SQL中输出记录集中数据:
declare @cnt varchar(8000)
select @cnt=[content1] from tplt where [id]=116
print '内容:'
print @cnt
2.
复制整张表(列+数据):select * into NewTbl from OldTbl
复制表结构:select * into NewTbl from OldTbl where 1<>1
复制表数据:insert into NewTbl select * from OldTbl
NewTbl事先不存在
3.
修改表名或列名:关键字(sp_rename)
将表名‘customers’改为‘cust’:EXEC sp_rename 'customers', 'custs' ;
将表中customers中‘contactTitle’列改名为‘title’:EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'
4.
删除一张表或数据库
drop table table_name
drop database database_name
5.
增加主键:
alter table Student add primary key (XX)
删除主键:
alter table Student drop constraint 主键约束名
alter table Student drop column 字段名
要删除一个主键,应该先删除它的主键约束,然后再删除该主键
修改一个字段:
alter table Student alter column SName varchar(20)
新增一个列:
alter table 表 add 列名 数据类型
添加外键:
alter table Mark add foreign key (SIDs) references Student(SIDs)
on delete cascade :表示如果该外键所引用的其他表中的字段中的某个值被删除的话,该表中的对应的元组也被删除
on delete restrict: 表示如果该引用值被删除的话,将报错
on delete set null: 表示如果该外键引用值被删除的话,将该值设置为NULL
删除外键:
alter table Mark drop FK__Mark__SIDs__0425A276
强制删除表:
drop table Student cascade constrains;
如果主键设置了自动添加,想要手动添加主键值:
set identity_insert Student on insert into Student(SName,SSex,SAge,SIDs) values('流川枫','男',21,9908)
查找分类:
select distinct 职称 from Teacher
职称有好多,使用distinct可以去除重复的职称
Like查询:
% 表示任意长度
_ 表示单字符
查询非空
select * from Student where SName is not null
查询结果排序:
order by 字段名 ASC升序/DESC降序
Sql Server 左外连接:
select CName,m.SIDs,Mark from Classes c left join Mark m on m.CID=c.CID
同表做笛卡尔乘积:
select s2.SName,s2.SAge,s2.SSex from Student s1,Student s2 where s1.SName='安杰' and s1.SAge>s2.SAge
计算出同表中,年龄比安杰小的姓名,年龄,性别
6.
删除表数据并使自增长类型重新从1开始
truncate table T_sCls 此语句比delete效率高!