Sqlserver列出所有数据库名,表名,字段名

2011年04月19日 Windows 暂无评论

 

以下代码在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

 
 

给我留言