如何列出或搜索数据库中的所有列名?

Web*_*ber 40 sql-server-2008 database-design sql-server metadata

我想在数据库中存在的列的名称中搜索字符串。

我正在处理一个维护项目,我处理的一些数据库有 150 多个表,所以我正在寻找一种快速的方法来做到这一点。

你有什么建议吗?

Cod*_*awk 41

您可以使用以下查询列出数据库中的所有列或跨表搜索列。

USE AdventureWorks 
GO 
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name; 
Run Code Online (Sandbox Code Playgroud)

您可以使用 information_schema视图列出 SQL Server 2005 或 2008 数据库中的所有对象。

SELECT * FROM information_schema.tables

SELECT * FROM information_schema.columns
Run Code Online (Sandbox Code Playgroud)

http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/


Mar*_*icz 8

还有SQL Search——一个与 SQL Server Management Studio 集成的免费工具。

替代文字


小智 5

较晚,但希望有用,因为这两种工具都是免费的。

ApexSQL 搜索——这个工具的好处是它还可以搜索数据、显示对象之间的依赖关系以及耦合其他有用的东西。

在此处输入图片说明

SSMS 工具包– 除 SQL 2012 外的所有版本均免费。许多不错的选项不仅仅与搜索相关,例如片段、各种自定义等。

在此处输入图片说明


归档时间:

查看次数:

156506 次

最近记录:

10 年,9 月 前