📜  sql查询列出数据库sql server中的所有表 - SQL(1)

📅  最后修改于: 2023-12-03 15:20:19.751000             🧑  作者: Mango

SQL查询列出数据库 SQL Server 中的所有表

在 SQL Server 数据库中,要查询该数据库中所有的表,可以通过以下 SQL 查询语句进行操作:

SELECT *
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_catalog='数据库名'

该查询语句利用了 information_schema 系统视图,查找了该数据库中所有基本表的相关信息,然后筛选出所有的基本表,从而输出该数据库中所有的表信息。

下面是详细的代码和解释:

-- 1. 查看所有基本表的信息
SELECT *
FROM information_schema.tables
WHERE table_type = 'BASE TABLE'

-- 2. 查看指定数据库中的所有基本表的信息(假设数据库名为 test)
SELECT *
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_catalog = 'test'

对于 information_schema.tables 视图,可以查看该视图所包含的列,以便更好地理解表的信息:

COLUMN_NAME             | DATA_TYPE          | DESCRIPTION
--------------------    | ---------------    | -----------------------------------
TABLE_CATALOG           | sysname            | 表所在的数据库名称
TABLE_SCHEMA            | sysname            | 表所在的架构名称
TABLE_NAME              | sysname            | 表名称
TABLE_TYPE              | varchar(255)      | 表类型,包含 "VIEW"、"BASE TABLE" 等
TABLE_GUID              | uniqueidentifier  | 表的 GUID
DESCRIPTION             | varchar(4000)     | 表的说明
TABLE_PROPID            | int                | 表属性的 ID
DATE_CREATED            | datetime          | 表的创建日期
DATE_MODIFIED           | datetime          | 表的修改日期

通过 SELECT 语句,我们可以调用这些列来显示出表的相关信息。如果想要筛选出指定数据库中的表,只需要在查询语句中使用 table_catalog 来限定即可。

以上是 SQL 查询列出数据库 SQL Server 中的所有表的方法,希望对您有所帮助。