Apa cara terbaik untuk mendapatkan nama-nama semua tabel dalam database tertentu pada SQL Server?
sql-server
tsql
database-table
sinar
sumber
sumber
SHOW TABLES
(seperti yang digunakan dalam MySQL) berfungsi?Jawaban:
SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2017 atau 2019:
Untuk hanya menampilkan tabel dari database tertentu
Atau,
PS: Untuk SQL Server 2000:
sumber
WHERE TABLE_TYPE='BASE TABLE'
hanya akan menyertakan tabel dasar (dan dengan ekstensi Anda selalu dapat menggunakanWHERE TABLE_TYPE != 'VIEW'
).AND name <> 'sysdiagrams'
.Berikut adalah daftar jenis objek lain yang dapat Anda cari juga:
sumber
SELECT name FROM sysobjects WHERE xtype = 'U'
akan melakukan hal yang sama.PK,FK,D,C,V,UQ
dll untuk membandingkan sumber dan target basis data, tetapi kemudian saya menemukan fitur ini di VS, tetapi apakah tidak adasql query
untuk membandingkan sumber lengkap dan basis data target?'U'
digunakan untuk mengidentifikasi Tabel Pengguna ... sebagai lawan dari mungkin'UT'
atau, yang paling intuitif,'T'
... Ah, ini bekerja!ATAU
sumber
ATAU
sumber
SQL Server 2012
sumber
sumber
(SQL Server 2000 standar; masih didukung dalam SQL Server 2005.)
sumber
select * from sysobjects where xtype='U'
sumber
sumber
SELECT name FROM sysobjects WHERE xtype='U' AND name <> 'sysdiagrams';
karena tabel sysdiagrams walaupun dibuat oleh Microsoft SQL Server Management Studio secara teknis bukan tabel sistem tetapi biasanya kita ingin mengecualikannya.Kelemahannya
INFORMATION_SCHEMA.TABLES
adalah ia juga termasuk tabel sistem sepertidtproperties
danMSpeer_...
tabel, tanpa ada cara untuk membedakannya dari tabel Anda sendiri.Saya akan merekomendasikan menggunakan
sys.objects
(versi baru dari tampilan sysobjects usang ), yang mendukung tidak termasuk tabel sistem:sumber
Di SSMS, untuk mendapatkan semua nama tabel yang sepenuhnya memenuhi syarat dalam database tertentu (Misalnya, "MyDatabase"):
Hasil:
sumber
Silakan gunakan ini. Anda akan mendapatkan nama tabel bersama dengan nama skema:
sumber
sumber
Terima kasih kepada Ray Vega, yang tanggapannya memberikan semua tabel pengguna dalam database ...
sp_helptext menunjukkan kueri yang mendasarinya, yang merangkum ke ...
sumber
Anda dapat menggunakan sys.objects untuk mendapatkan semua objek basis data.
ATAU
sumber
Tautan ini dapat memberikan lebih banyak informasi tentang topik ini
sumber
Menggunakan
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
juga menampilkan semua tabel dan kolom terkait.sumber