ฉันจะแสดงรายการหรือค้นหาชื่อคอลัมน์ทั้งหมดในฐานข้อมูลของฉันได้อย่างไร


37

ฉันต้องการค้นหาสตริงในชื่อคอลัมน์ที่มีอยู่ในฐานข้อมูล

ฉันกำลังทำงานในโครงการบำรุงรักษาและฐานข้อมูลบางส่วนที่ฉันจัดการมีมากกว่า 150 ตารางดังนั้นฉันกำลังมองหาวิธีที่รวดเร็วในการทำเช่นนี้

คุณแนะนำเมนูใด?


คำถามที่คล้ายกันถามในSO
CoderHawk

บทความที่ดี ขอบคุณมาก. ฉันยังใช้ TM Field Finder และมันมีประสิทธิภาพมากในเรื่องของการค้นหาใน SQL Schema และข้อมูล

คำตอบ:


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 - เครื่องมือฟรีที่ทำงานร่วมกับ SQL Server Management Studio

ข้อความแสดงแทน


1
SQL Search เป็นเครื่องมือที่ดี แต่โปรดจำไว้ว่าหน้าต่างผลลัพธ์นั้น จำกัด โดยพลการฉันเชื่อว่ามี 250 ผลลัพธ์ ครั้งสุดท้ายที่ฉันใช้เครื่องมือนี้ Red Gate ไม่มีวิธียกข้อ จำกัด นี้ ที่ได้รับการกล่าวว่ามันยังคงเป็นเครื่องมือที่มีประโยชน์มากและฉันอยากจะแนะนำให้ SQL Server DBA หรือนักพัฒนาใด ๆ ราคาถูกเกินไป!
Matt M

5

สายสุดท้าย แต่หวังว่าจะมีประโยชน์เนื่องจากเครื่องมือทั้งสองนั้นฟรี

ApexSQL Search - สิ่งที่ดีเกี่ยวกับเครื่องมือนี้ก็คือมันสามารถค้นหาข้อมูลแสดงการพึ่งพาระหว่างวัตถุกับสิ่งที่มีประโยชน์อื่น ๆ

ป้อนคำอธิบายรูปภาพที่นี่

SSMS Toolpack - ฟรีสำหรับทุกรุ่นยกเว้น SQL 2012 ตัวเลือกที่ยอดเยี่ยมมากมายที่ไม่เกี่ยวข้องกับการค้นหาเช่นตัวอย่างข้อมูลการปรับแต่งต่างๆและอื่น ๆ อีกมากมาย

ป้อนคำอธิบายรูปภาพที่นี่


1

นี่คือสิ่งที่ SQL DBA ทั้งหมดจากการใช้เวลาเก่า

EXEC sp_help 'your table name';

หากใช้เพียงบรรทัดเดียวคุณไม่จำเป็นต้องพิมพ์ EXEC แค่ทำ

sp_help 'your table name'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.