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 sysobjectsWHERE xtype='u'ORDER BY name
2.查询某数据库中的所有数据表及其数据总条数
SELECT a.name 数据表, b.rows 数据总条数FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.idWHERE ( 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 sysindexesWHERE indid = 1ORDER BY rows DESC , 数据表 , reserved DESC;