如何在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 '%'