是否可以编写一个查询,该查询将为我提供SQL Server数据库中所有表的名称?我正在研究一些我没有创建的系统上的'事实'文档,并且正在寻找一个快捷方式来获取数据库中表的列表。查询以获取SQL Server 2008数据库中所有表的名称
回答
在一个单一的数据库 - 是:
USE your_database
SELECT name FROM sys.tables
获取所有数据库中的所有表 - 只能用黑客....看到这太问题的几种方法如何做到这一点:How do I list all tables in all databases in SQL Server in a single result set?
另一种方式,也将在MySQL和PostgreSQL
select TABLE_NAME from INFORMATION_SCHEMA.TABLES
where TABLE_TYPE = 'BASE TABLE'
工作试试这个:
SELECT s.NAME + '.' + t.NAME AS TableName
FROM sys.tables t
INNER JOIN sys.schemas s
ON t.schema_id = s.schema_id
它将显示当前数据库中所有表的架构+表名。
这是一个版本,它将列出当前服务器上每个数据库中的每个表。它允许对任何部分或服务器+数据库+模式+表名的部分使用的搜索参数:
SET NOCOUNT ON
DECLARE @AllTables table (CompleteTableName nvarchar(4000))
DECLARE @Search nvarchar(4000)
,@SQL nvarchar(4000)
SET @Search=null --all rows
SET @SQL='select @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name from [?].sys.tables t inner join sys.schemas s on t.schema_id=s.schema_id WHERE @@SERVERNAME+''.''+''?''+''.''+s.name+''.''+t.name LIKE ''%'+ISNULL(@SEARCH,'')+'%'''
INSERT INTO @AllTables (CompleteTableName)
EXEC sp_msforeachdb @SQL
SET NOCOUNT OFF
SELECT * FROM @AllTables ORDER BY 1
集@Search为NULL所有表,将其设置为东西像“dbo.users”或“用户”或“.master.dbo”,甚至包括像通配符等
要获取领域信息过多,你可以使用以下“的.master%u。”:
SELECT TABLE_SCHEMA, TABLE_NAME,
COLUMN_NAME, substring(DATA_TYPE, 1,1) AS DATA_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA NOT IN("information_schema", "mysql", "performance_schema")
ORDER BY TABLE_SCHEMA, TABLE_NAME, ORDINAL_POSITION
请使用以下查询来列出数据库中的表。
select name from sys.Tables
此外,您可以添加where
条件,跳过系统中加入type ='U'
防爆生成表格和列表只有用户创建的表:select name from sys.Tables where type ='U'
请在适当的地方使用适当的格式。 – svgrafov 2017-10-02 08:47:45
肯定Jens..thanks :) – 2017-10-02 10:24:04
- 1. SQL Server查询获取表中所有列的数据类型?
- 2. 记录SQL Server 2008 Express数据库上的所有查询?
- 3. 如何获取SQL SERVER数据库中所有表的行数
- 4. 如何使用tsql获取SQL Server实例中的所有数据库名称?
- 5. SQL查询以获取SQL Server中所有作业的状态
- 6. SQL查询从所有数据库中获取数据
- 7. sql server 2008数据库图表名称搜索
- 8. 获取在SQL Server中提供的数据库名称2014
- 9. 查询所有当前数据库和用户名的SQL Server查询
- 10. 从SQL Server 2008端查询SQL Server 2005数据库
- 11. `无效的对象名称`,除非我在SQL Server 2008查询中指定数据库名称
- 12. 数据库名称更改SQL失败Sql Server 2008
- 13. 查询SQL Server 2012数据库实例中的所有视图
- 14. SQL Server 2008 R2表查询
- 15. 查询来获取数据库的SQL Server 2005中
- 16. SQL中特定数据库中所有表的列名称
- 17. SQL Server数据库查询
- 18. 如何获取SQL Server 2008查询中的行数
- 19. 我可以在C#应用程序中获得SQL Server数据库的所有表的名称吗?
- 20. 数据库中所有表的列表
- 21. 在SQL Server中获取所有数据库大小的总和
- 22. 数据库别名SQL Server上2008
- 23. SQL服务器 - 获取有关通过执行获取数据库名称的所有数据库和文件
- 24. 获取查询的列名在SQL Server
- 25. SQL Server 2008检索数据查询
- 26. SQL Server 2008 - 查询空间数据
- 27. PHP/SQL - 如何获取数据库中表的名称?
- 28. 如何从sqlite获取所有数据库名称和表名称
- 29. 更改数据库的表名(SQL Server 2008中)
- 30. Sql Server 2008有列显示名称吗?
完美地工作! – 2010-05-21 15:19:12