Как мне перечислить или найти все имена столбцов в моей базе данных?

37

Я хочу найти строку в именах столбцов, присутствующих в базе данных.

Я работаю над проектом обслуживания, и некоторые из баз данных, с которыми я имею дело, имеют более 150 таблиц, поэтому я ищу быстрый способ сделать это.

Что вы порекомендуете?

Уэббер
источник
Подобный вопрос задан в SO
CoderHawk
хорошая статья Большое спасибо. Я также использовал TM Field Finder, и он действительно мощный в плане поиска в схеме SQL, а также данных.
Связанный: Исследование вашей схемы базы данных с SQL
Питер Мортенсен

Ответы:

38

Вы можете использовать следующий запрос, чтобы перечислить все столбцы или столбцы поиска по таблицам в базе данных.

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; 

Вы можете использовать представления information_schema для вывода списка всех объектов в базах данных SQL Server 2005 или 2008.

SELECT * FROM information_schema.tables

SELECT * FROM information_schema.columns

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

CoderHawk
источник
8

Существует также SQL Search - бесплатный инструмент, который интегрируется с SQL Server Management Studio.

альтернативный текст

Марек Грженкович
источник
1
SQL Search - хороший инструмент, но имейте в виду, что окно результатов произвольно ограничено, я думаю, 250 результатами. В прошлый раз, когда я использовал этот инструмент, у Red Gate не было способа снять это ограничение. Тем не менее, это все еще очень полезный инструмент, и я бы порекомендовал его любому администратору SQL Server или разработчику. Цена тоже подходит!
Мэтт М
5

Позднее, но, надеюсь, полезно, так как оба инструмента бесплатны.

ApexSQL Search - хорошая вещь об этом инструменте в том, что он также может искать данные, показывать зависимости между объектами и связывать другие полезные вещи.

введите описание изображения здесь

SSMS Toolpack - бесплатно для всех версий, кроме SQL 2012. Множество отличных опций, которые не связаны только с поиском, таких как фрагменты, различные настройки и многое другое.

введите описание изображения здесь

Стэнли Норман
источник
1

Это тот, который все SQL DBA из старого времени используют.

EXEC sp_help 'your table name';

Если только с одной строкой, вам даже не нужно вводить EXEC. Просто сделать

sp_help 'your table name'
PhilRoan
источник