如何在T-SQL中执行" SHOW TABLES"的等效功能?

时间:2020-03-06 14:37:50  来源:igfitidea点击:

我想根据表名称在SQL Server 2005 Express数据库中查找表。在" MySQL"中,我将使用" SHOW TABLES LIKE" Datasheet%"",但是在" T-SQL"中,这将引发错误(它试图查找" SHOW"存储过程,但失败了)。

这可能吗?如果可以,怎么办?

解决方案

试试这个 :

select * from information_schema.columns
where table_name = 'yourTableName'

还寻找其他" information_schema"视图。

试试这个

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE 'Datasheet%'

尝试跟随

SELECT table_name
FROM information_schema.tables
WHERE
table_name LIKE 'Datasheet%'

这将为我们提供当前数据库中的表的列表:

Select Table_name as "Table name"
From Information_schema.Tables
Where Table_type = 'BASE TABLE' and Objectproperty 
(Object_id(Table_name), 'IsMsShipped') = 0

可以在这里找到其他一些有用的T-SQL位:http://www.devx.com/tips/Tip/28529

我知道我们已经接受了答案,但是为什么不只使用简单得多的sp_tables呢?

sp_tables 'Database_Name'

除了" information_schema"视图之外," MS"正在逐步淘汰其他方法。因此,为了向前兼容,请始终使用它们。

而且,由于INFORMATION_SCHEMA是SQL-92标准的一部分,因此很多数据库(包括MySQL)都支持它。

试试吧 :

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE '%'