如何快速获取MSSQL所有表名(mssql全部表名)

作为一名数据库管理员,需要知道每一张表的内容,及时更新表的结构,尤其是大型网站每天数据会不断地增加,所以就相应的要快速地获取MSSQL数据库中所有的表名,下面介绍几种方法。

1. 使用MSSQL管理工具SSMS导出表结构

SSMS(SQL Server Management Studio)是微软封装的一个功能强大的免费SQL Server管理工具,可以用来快速导出数据库中所有表的结构,将其保存为文本文件。

步骤如下:

(1)右击左侧所查看的数据库,选择“任务”,然后点击“生成脚本…”

(2)在打开的“生成脚本”页面,选择脚本对象“数据库”,然后在“选择对象类型”中,单击“检查所有”,并且勾选“CREATE TABLE”、“ALTER TABLE”、“DROP TABLE”,然后点击“确定”;

(3)在右侧设置“计划选项”,将文件保存为SQL文件,将文件存放在指定的文件夹中,然后点击“执行”;

(4)执行完毕后,就可以在指定的文件夹中找到导出的SQL文件,然后用任意文本编辑工具打开,可以获取到数据库所有的表名,结构如下:

CREATE TABLE [dbo].[tableone]
(
. . .
)

ALTER TABLE [dbo].[tabletwo]
. . .
DROP TABLE [dbo].[tablethree]

2. 使用TSQL语句快速获取MSSQL所有表名

在SQL Server中,可以使用“select name from sys.tables” 语句来获取当前数据库中所有用户表的名称,其中sys.tables是逻辑信息架构数据表,是一个系统视图,内含有关系数据库中组成表的所有信息;如果想要查看全部表的话,可以使用”select name from sys.all_objects where type = ‘u’” ,其中sys.all_objects也是一个系统视图,会列出所有的表的名称。

SELECT [name]
FROM sys.all_objects
WHERE [type] = 'U'

3. 使用存储过程查询MSSQL中所有表

通过调用系统存储过程sp_msforeachtable,也可以快速查询出MSSQL数据库中所有表,该存储过程接受三个及以上参数,第一个参数接受一个非查询语句,其余的参数为要输出查询表,调用系统存储过程执行前,需要在数据库中先把要执行的存储过程及参数传入,如下:

EXEC sp_msforeachtable @command1='print ''?'''

以上就是获取MSSQL中所有表的三种方法,任选其一即可,都能很好的满足用户的查询需求。


数据运维技术 » 如何快速获取MSSQL所有表名(mssql全部表名)