SQL查询服务器下所有数据库及数据库的全部表
获取所有用户名
SELECT * FROM sys.sysusers
获取所有用户数据库
SELECT * FROM sys.sysdatabases
案例:
获取库中所有的表名
SELECT * FROM 库名.sys.tables
案例:
获取某个表的字段名
select * from 库名.sys.columns WHERE object_id IN (SELECT object_id FROM 库名.sys.tables WHERE name='表名')
案例:
补充:SqlServer中查询某数据库所有表及其数据总条数和占用空间
1.查询某数据库中的所有数据表
SELECT name 数据表 FROM sysobjects WHERE xtype='u' ORDER BY name
2.查询某数据库中的所有数据表及其数据总条数
SELECT a.name 数据表, b.rows 数据总条数 FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE ( a.type = 'u' ) AND ( b.indid IN ( 0, 1 ) ) ORDER BY a.name,b.rows DESC;
3.查询某数据库中的所有数据表及其数据总条数所占用的空间大小
SELECT OBJECT_NAME(id) 数据表, RTRIM(8 * dpages) + 'KB' 占用空间大小, rows 数据总条数 FROM sysindexes WHERE indid = 1 ORDER BY rows DESC , 数据表 , reserved DESC;