大概这样的格式
数据库名称 表数量
dome1 100
dome2 200
8 个解决方案
#1
--查看所有数据库:
select name from sys.databases
--查看当前数据库的所有表的名字
select name from sysobjects where xtype='U' and category=0
#2
DECLARE @T TABLE(DBName sysname,TabCount int)
INSERT @T EXEC sp_msforeachdb 'select ''?'',count(*) FROM ?.sys.tables WHERE type=''U'''
SELECT * FROM @T
#3
--查看当前数据库的所有表
declare @str varchar(max)
set @str=''
select @str=@str+' use '+name+
' select '+quotename(name,'''')+' as databasename,COUNT(name) as [count]
from sysobjects where xtype=''U'' and category=0'
from (select name from sys.databases)a
print @str
exec(@str)
--本机测试结果
databasename count
master 124
databasename count
tempdb 6
databasename count
model 0
databasename count
msdb 17
#4
顶
#5
select count(name) tablenum from ysbi.dbo.sysobjects where type ='U' 这个是查库里所有的表的。
select d.name from master.dbo.sysdatabases d,master.dbo.ESP_INIT_LOG l where d.name = l.DATABASE_NAME 这个是查服务器所有的表的,怎么把这两个sql合成一个呢。
select d.name from master.dbo.sysdatabases d,master.dbo.ESP_INIT_LOG l where d.name = l.DATABASE_NAME 这个是查服务器所有的表的,怎么把这两个sql合成一个呢。
#6
select
d.name ,a.tablenum
from master.dbo.sysdatabases d,
master.dbo.ESP_INIT_LOG l ,
(select count(name) tablenum from ysbi.dbo.sysobjects AS a where type ='U' ) AS a
where d.name = l.DATABASE_NAME
#7
查出来的效果 是这样的。
bkysbase 58
carbase 58
jlyszzx 58
master 58
xjysbase 58
ysbase1 58
ysbase2 58
ysbi 58
Wang 58
carbase 58
master 58
cwbase80 58
cwbase3 58
mydb 58
ysbi 58
#8
sp_msforeachdb 'print ''?'' exec(''select ''''?'''',count(*) as [表数] from ?.sys.objects where type=''''U'''''')'
#1
--查看所有数据库:
select name from sys.databases
--查看当前数据库的所有表的名字
select name from sysobjects where xtype='U' and category=0
#2
DECLARE @T TABLE(DBName sysname,TabCount int)
INSERT @T EXEC sp_msforeachdb 'select ''?'',count(*) FROM ?.sys.tables WHERE type=''U'''
SELECT * FROM @T
#3
--查看当前数据库的所有表
declare @str varchar(max)
set @str=''
select @str=@str+' use '+name+
' select '+quotename(name,'''')+' as databasename,COUNT(name) as [count]
from sysobjects where xtype=''U'' and category=0'
from (select name from sys.databases)a
print @str
exec(@str)
--本机测试结果
databasename count
master 124
databasename count
tempdb 6
databasename count
model 0
databasename count
msdb 17
#4
顶
#5
select count(name) tablenum from ysbi.dbo.sysobjects where type ='U' 这个是查库里所有的表的。
select d.name from master.dbo.sysdatabases d,master.dbo.ESP_INIT_LOG l where d.name = l.DATABASE_NAME 这个是查服务器所有的表的,怎么把这两个sql合成一个呢。
select d.name from master.dbo.sysdatabases d,master.dbo.ESP_INIT_LOG l where d.name = l.DATABASE_NAME 这个是查服务器所有的表的,怎么把这两个sql合成一个呢。
#6
select
d.name ,a.tablenum
from master.dbo.sysdatabases d,
master.dbo.ESP_INIT_LOG l ,
(select count(name) tablenum from ysbi.dbo.sysobjects AS a where type ='U' ) AS a
where d.name = l.DATABASE_NAME
#7
查出来的效果 是这样的。
bkysbase 58
carbase 58
jlyszzx 58
master 58
xjysbase 58
ysbase1 58
ysbase2 58
ysbi 58
Wang 58
carbase 58
master 58
cwbase80 58
cwbase3 58
mydb 58
ysbi 58
#8
sp_msforeachdb 'print ''?'' exec(''select ''''?'''',count(*) as [表数] from ?.sys.objects where type=''''U'''''')'