基础语句

语句 说明
select @@version 查询数据库的版本
select @@servername; 查询服务名
select host_name(); 查询主机名
select db_name(); 查询当前数据库名
select db_name(1); 查询第一个数据库名
select db_name(2); 查询第二个数据库名
select user; 查询当前数据库的拥有者
use tempdb 切换到tempdb表
top n 查询前n条记录
limit 2,3 查询第2条开始的3条数据,也就是2,3,4
select substring(‘string’,2,1) 截取给定字符串的索引为2的1个字符
select ascii(‘a’) 查询给定字符串的ascii值
select len(‘string’) 查询给定字符串的长度
EXEC sp_spaceused @updateusage = N’TRUE’; 查询当前数据库的大小
sp_spaceused ‘表名’ 查询指定表名的大小


判断权限

参数 说明
select is_srvrolemember(‘sysadmin’) 判断是否是SA权限
select is_srvrolemember(‘db_owner’) 判断是否是db_owner权限
select is_srvrolemember(‘public’) 判断是否是public权限


数据库连接

server=127.0.0.1;UID=sa;PWD=123456;database=master;Provider=SQLOLEDB
mssql://sa:123456@127.0.0.1/XCCMS_SocialBusinessDB

查询数据库

参数 说明
select count(name) from sysdatabases 查询数据库的个数,仅当前数据库是master的时候,才能执行该命令
select name from sysdatabases 查询数据库的名字
select * from sysdatabases 查询所有数据库的信息

查询数据表

参数 说明
select count(name) from sysobjects where type=’U’ 查询当前数据库中表的个数
select name from sysobjects where type=’U’ # 查询当前数据库中所有表的名字
select * from sysobjects where type=’U’ 查询当前数据库的所有表的详细信息
参数 说明
select count(name) from test..sysobjects where xtype=’U’ 查询指定test数据库中表的个数
select name from test..sysobjects where xtype=’U’ 查询指定test数据库中表的名字
select * from test..sysobjects where xtype=’U’ 查询指定test数据库中表的详细信息


查询列

参数 说明
select count(name) from test..syscolumns where id=(select max(id) from test..sysobjects where xtype=’u’ and name=’users’) 查询当前数据库的指定users表的列的个数
select name from test..syscolumns where id=(select max(id) from test..sysobjects where xtype=’u’ and name=’users’) 查询当前数据库的指定users表的所有列的名字
select * from test..syscolumns where id=(select max(id) from test..sysobjects where xtype=’u’ and name=’users’) 查询当前数据库的指定users表的列的详细信息
参数 说明
select count(name) from test..syscolumns where id=(select max(id) from test..sysobjects where xtype=’u’ and name=’users’) 查询指定test数据库的指定users表的列的个数
select name from test..syscolumns where id=(select max(id) from test..sysobjects where xtype=’u’ and name=’users’) 查询指定test数据库的指定users表的所有列的名字
select * from test..syscolumns where id=(select max(id) from test..sysobjects where xtype=’u’ and name=’users’) 查询指定test数据库的指定users表的列的详细信息

查询数据

参数 说明
select count(*) from test..users 查询test数据库user表的数据的条数
select * from test..users 查询test数据库user表的所有数据