Як перерахувати або шукати всі назви стовпців у своїй базі даних?


37

Я хочу шукати рядок у назвах стовпців, що знаходяться в базі даних.

Я працюю над проектом технічного обслуговування, і в деяких базах даних, з якими я маю справу, є понад 150 таблиць, тому я шукаю швидкий спосіб зробити це.

Що ви порадите?


подібне запитання задали в SO
CoderHawk

хороша стаття. Дуже дякую. Я також використовував TM Field Finder, і це дійсно потужний питання пошуку в 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/


8

Існує також SQL Search - безкоштовний інструмент, який інтегрується в SQL Server Management Studio.

alt текст


1
Пошук SQL - хороший інструмент, але майте на увазі, що вікно результатів довільно обмежено, я вважаю, 250 результатами. Востаннє, коли я використовував цей інструмент, у Red Gate не було можливості зняти це обмеження. Зважаючи на це, це все ще дуже корисний інструмент, і я рекомендував би його будь-якому DBA або розробнику SQL Server. Ціна теж права!
Мт М

5

Пізній, але сподіваємось, корисний, оскільки обидва інструменти безкоштовні.

Пошук ApexSQL - хороша річ у цьому інструменті в тому, що він також може шукати дані, показувати залежності між об'єктами та парою інших корисних речей.

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

SSMS Toolpack - безкоштовний для всіх версій, окрім SQL 2012. Дуже багато чудових варіантів, які не пов’язані лише з пошуком, таких як фрагменти, різні налаштування тощо.

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


1

Це одне, що використовує всі SQL DBA зі старих часів.

EXEC sp_help 'your table name';

Якщо тільки в одному рядку, вам навіть не потрібно вводити EXEC. Просто роби

sp_help 'your table name'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.