Sqlserver列出所有数据库名,表名,字段名
以下代码在SqlServer2005测试通过。
1.获取所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
2.获取所有表名:
SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name
XType='U':表示所有用户表;
XType='S':表示所有系统表;
3.获取所有字段名:
SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')
附:
比如要删除某一堆表数据,可以利用到这些语句
declare @sql varchar(100)
declare @name varchar(100)
declare mc Cursor
--找出相关表
for select name from sysobjects where xtype='U'
and name like '%com%' order by name
open mc
fetch next from mc into @name
while(@@fetch_status = 0 )
begin
--循环表,执行删除操作
set @sql='truncate table '+@name
print @sql
exec(@sql)
fetch next from mc into @name
end
close mc
deallocate mc