SQL Kolon İsimlerini Çekme-Information_Schema

Her zaman tablolara kaydedilen verileri çekmek istemeyiz bazen de veritabanındaki tabloların kendisini cekmek isteyebiliriz. Bazen tablonun kolonlarının isimlerini bazen viewlerini… İşte bu gibi durumlarda devreye Information_Schema viewleri girer. Information_Schema viewleri, seçilen veritabanına ait meta datalara ulaşmamizi sağlar. Bunlara örnek veritabaninda bulunan tablo veya view isimleri ya da onlara ait kolon bilgileri olabilir. Viewleri açıklerken örneklendirmeleri Northwind Database ile yapacağım.

Information_Schema altında bulunan viewler:

  • Information_Schema.Check_Constraints
  • Information_Schema.Column_Domain_Usage
  • Information_Schema.Column_Privileges
  • Information_Schema.Columns
  • Information_Schema.Constraint_Column_Usage
  • Information_Schema.Constraint_Table_Usage
  • Information_Schema.Domain_Constraints
  • Information_Schema.Domains
  • Information_Schema.Key_Column_Usage
  • Information_Schema.Parameters
  • Information_Schema.Referential_Constraints
  • Information_Schema.Routine_Columns
  • Information_Schema.Routines
  • Information_Schema.Schemata
  • Information_Schema.Table_Constraints
  • Information_Schema.Table_Privileges
  • Information_Schema.Tables
  • Information_Schema.Views
  • Information_Schema.View_Column_Usage
  • Information_Schema.View_Table_Usage

Yukarıda listede bulunan view lerden çok kullanılan birkaç tanesini açıklayalım.

Information_Schema.Tables

Veritabnındaki tüm tabloların listesini getirir. Aşağıdaki sorgu bize veritabanındaki Tablo isimlerini ve bu tabloların schema bilgilerini listeler.
[sql]
SELECT
TABLE_CATALOG AS ‘DATABASE ADI’
,TABLE_SCHEMA AS ‘SCHEMA ADI’
,TABLE_NAME AS ‘TABLO ADI’
FROM INFORMATION_SCHEMA.TABLES
[/sql]

 

Information_Schema.Columns

Veritabanındaki tüm kolonların ismini getirir. Kullanımında sorgudan sonra WHERE ile tablo kısıtı verirsek yalnızca kısıt verdiğimiz tablonun kolonlarını getirir. Aşağıdaki sorgu Products Tablosunun kolonlarını listeler.

[sql]
SELECT
COLUMN_NAME AS ‘KOLON ISIMLERI’
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME=’Products’
[/sql]

 

Information_Schema.Views

Veritabanındaki tüm view isimlerini getirir.

[sql]
SELECT
TABLE_NAME AS ViewAdi
FROM INFORMATION_SCHEMA.VIEWS
[/sql]

 

Kolay gelsin..

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir