SQL 基本操作语句总结

1.查询数据库中表在哪些存储过程中使用

select distinct object_name(id) from syscomments where text like '%表名%'

2.查询数据库中具体存储过程的定义

方法一:EXEC sp_helptext N'存储过程名';

方法二:SELECT definition FROM sys.sql_modules WHERE object_id = (OBJECT_ID(N'PDS_ChangeKHData'));

3.查询数据库中所有的用户表

select name from sysobjects where xtype = 'U'

4.查询数据库中指定表所有列

select name from syscolumns where id = object_id(N'Order')

5.查询数据库中所有用户

SELECT name FROM Sysusers where status='0' and islogin='1'        说明:status :'2'用户账户 '0'系统账户 islogin: '1'表示账户 '0'表示角色

6.获取数据库中所有数据类型名

SELECT name FROM systypes

7.查询数据库中所有的数据库名

Select Name FROM master..SysDatabases order by Name

8.在数据库中动态执行sql语句

a)exec (@sql)          //@sql 为要执行的sql语句

b)exec sp_sqlexec @sql语句,N'sql语句中的为定量的名字和数据类型及如果是输出的话写上Output,未定量之间用逗号分隔',sql语句中未定量赋值。

    例:declare @sqlStr nvarchar(50)
      declare @RowNum int
    set @sqlStr = N'select @rowNumOut = count(*)from Customer';
    exec sp_executesql @sqlStr,N'@rowNumOut int output',@rowNumOut = @RowNum output;
          select @RowNum;

9.将数据库中的自增列重置1开始

a)set identity_insert 表名 on

  插入一条数据:insert into 表名(列名,....) values (值,.....) 注意这条sql语句一个部分都不能少。

b)dbcc   checkident('表名',reseed,0)         注意只有定义了自增的表才能用这个重置1

10.查询给定表中的自增列

SELECT COUNT(*) FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Orders'  AND (COLUMNPROPERTY(OBJECT_ID('Orders'),COLUMN_NAME,'IsIdentity')=1)

11.查询给定表中的主键列

select name from sysobjects where parent_obj= OBJECT_ID(N'Orders') and xtype = 'PK'

12.查询给定表中的当前标识值

dbcc checkident('t1',noreseed)

原文地址:https://www.cnblogs.com/quandeboke/p/3016444.html