📅  最后修改于: 2023-12-03 15:20:19.751000             🧑  作者: Mango
在 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 中的所有表的方法,希望对您有所帮助。