Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Tampilan INFORMATION_SCHEMA SQL Server | Lihat apakah Tabel Ada

Apa Masalahnya?

Saat menulis kueri untuk database yang mungkin baru Anda gunakan, atau yang sering berubah, Anda mungkin ingin menjalankan pemeriksaan cepat untuk menemukan semua tabel dalam database tertentu, atau kolom dalam database, atau untuk mencari apakah tabel atau kolom ada.

Mengapa Ini Masalah?

Memahami skema dan tabel apa yang ada di dalamnya membantu menulis SQL yang efisien dan membantu menghindari menjalankan kueri beberapa kali hanya untuk melihat apakah nama skema atau nama kolom sudah benar.

Tutorial ini akan membantu memecahkan masalah ini.

Menggunakan Skema Informasi

Menanyakan metadata pada sumber data adalah cara termudah untuk menentukan susunan tabel jika Anda belum memahaminya. Microsoft SQL Server menyediakan tampilan skema informasi sebagai salah satu dari beberapa metode untuk mendapatkan metadata ini. Seperti yang dinyatakan oleh dokumentasi dukungan mereka, “Tampilan skema informasi menyediakan tampilan internal, tabel sistem yang independen dari metadata SQL Server. Tampilan skema informasi memungkinkan aplikasi bekerja dengan benar meskipun perubahan signifikan telah dilakukan pada tabel sistem yang mendasarinya.”

Kami akan menggunakan beberapa tampilan dalam skema informasi untuk menjalankan kueri yang membantu menentukan susunan tabel di sumber data.

Untuk Menampilkan TABLES dan COLUMNS dalam database atau temukan TABLES dan COLUMNS .

Kueri pertama ini akan mengembalikan semua tabel dalam database yang Anda kueri.

SELECT
  	TABLE_NAME
FROM
  	INFORMATION_SCHEMA.TABLES

Kueri kedua akan mengembalikan daftar semua kolom dan tabel dalam database yang Anda kueri.

SELECT
  	TABLE_NAME,
COLUMN_NAME
FROM
  	INFORMATION_SCHEMA.COLUMNS

Atau, Anda juga dapat menanyakan hanya COLUMNS dari tabel tertentu dan mengembalikan nama kolom dari tabel tertentu 'Album' di database kami.

SELECT
	COLUMN_NAME
FROM
  	INFORMATION_SCHEMA.COLUMNS
WHERE
	TABLE_NAME = 'Album'

Dengan query selanjutnya ini anda dapat mengetahui ada atau tidaknya TABLE di sumber data yang cocok dengan beberapa jenis parameter penelusuran.

IF EXISTS(
SELECT
  			*
  		FROM
  			INFORMATION_SCHEMA.TABLES
  		WHERE
  			TABLE_NAME = 'Album'
			)
SELECT 'found' AS search_result ELSE SELECT 'not found' AS search_result;

Kueri akan mengembalikan kata 'ditemukan' jika tabel 'Album' ada di database kami.

Sekarang untuk melangkah lebih jauh, Anda dapat menggunakan kueri ini untuk mengetahui apakah ada COLUMN atau tidak. di sumber data yang cocok dengan beberapa jenis parameter penelusuran.

IF EXISTS(
SELECT
  				*
  			FROM
  				INFORMATION_SCHEMA.COLUMNS
  			WHERE
  				COLUMN_NAME = 'Title'
				)
SELECT 'found' AS search_result ELSE SELECT 'not found' AS search_result;

Memanfaatkan INFORMATION_SCHEMA tampilan di sumber data Anda dapat menjadi cara yang andal untuk menentukan apa yang ada di sumber data saat Anda membuat kueri.

Untuk informasi lebih lanjut tentang Tampilan Skema Informasi Sistem SQL Server Microsoft, silakan baca lebih lanjut dari dokumen dukungan mereka.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menerapkan Penanganan Kesalahan dan Transaksi di SQL Server

  2. Kapan Menggunakan Indeks Clustered atau Non-Clustered di SQL Server

  3. Cara Memasukkan Nilai Pada Kolom Identitas Secara Manual di Tabel SQL Server - Tutorial SQL Server / T-SQL Part 41

  4. SQL Server 2016:Buat Prosedur Tersimpan

  5. Permintaan ODBC pada MS SQL Server mengembalikan 255 karakter pertama hanya dalam PHP PDO (FreeTDS)