您的位置:首页 > 数据库

实用SQL语句

2011-08-24 12:44 127 查看
一、判断表是否存在
1、正常表
if object_id('tableName') is not null
drop table tableName  --如果表存在,则删除
2、临时表
if object_id('tempdb..#tableName') is not null
drop table #tableName    --如果临时表存在,则删除

二、获取字符串字节长度和字符长度
select 字节大小=datalength('abc中国人'), 字符数=len('abc中国人')

三、向自动增长列插入值
SET IDENTITY_INSERT [dbo].[SO_Master] ON / OFF 设置打开或关闭自动增长列的插入,打开时,可给自动增长列插入值

四、按姓氏笔画排序
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as

五、获取当前数据库中的所有用户表
select * from sysobjects where xtype='U'

六、获取某一个表的所有字段
select name from syscolumns where id=object_id('表名')

七、查看存储过程内容
sp_helptext 存储过程名

八、查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns where table_name = '表名'

九、计算执行SQL语句查询时间
declare @d datetime
set @d=getdate()
select * from SYS_ColumnProperties select [语句执行时间(毫秒)]=datediff(ms,@d,getdate())

十、删除数据库中所有表中的数据
--先禁用所有外键约束
exec sp_msforeachtable 'alter table ? nocheck CONSTRAINT all'
--然后删除数据
exec sp_msforEachTable 'TRUNCATE TABLE ?'
--再启用所有外键约束
exec sp_msforeachtable 'alter table ? check constraint all'

十一、得到表中主键包含的列名
SELECT syscolumns.name FROM syscolumns,sysobjects,sysindexes,sysindexkeys
WHERE syscolumns.id = object_id('tablename') AND sysobjects.xtype = 'PK'
AND sysobjects.parent_obj = syscolumns.id AND sysindexes.id = syscolumns.id
AND sysobjects.name = sysindexes.name AND sysindexkeys.id = syscolumns.id
AND sysindexkeys.indid = sysindexes.indid AND syscolumns.colid = sysindexkeys.colid
十二、插入语句的同时得到自增量的值
在插入语句后面加上 select @@IDENTITY


sysobjects中各字段意思详见:http://topic.csdn.net/t/20060305/22/4594215.html

十二、插入语句的同时得到自增量的值

在插入语句后面加上 select @@IDENTITY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: