Pertanyaan SQL untuk Mendapatkan Nama Jadual daripada Pangkalan Data Tertentu
Selalunya, pentadbir pangkalan data dan pembangun aplikasi perlu mendapatkan semula senarai nama jadual dalam pangkalan data tertentu. Pendekatan berbeza sedikit bergantung pada sistem pangkalan data (cth., MySQL, SQL Server, Oracle). Satu pertanyaan yang serasi secara universal tidak dapat dilakukan kerana perbezaan dalam struktur skema pangkalan data.
Cabaran: Standard INFORMATION_SCHEMA
pertanyaan selalunya mengembalikan jadual daripada semua pangkalan data pada pelayan, bukan hanya yang dikehendaki.
Penyelesaian: Kita perlu menambah penapis khusus pangkalan data pada pertanyaan.
Pertanyaan Khusus Pangkalan Data:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>
Ganti "dbName"
dengan nama sebenar pangkalan data sasaran anda.
Untuk Oracle, pendekatan INFORMATION_SCHEMA
berbeza. Untuk mendapatkan semula jadual bagi skema pengguna semasa:
<code class="language-sql">SELECT TABLE_NAME FROM USER_TABLES</code>
Untuk menentukan skema yang berbeza (memerlukan keistimewaan yang sesuai):
<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '<schema_name>'</code>
Ganti <schema_name>
dengan nama pemilik skema.
Maklumat ini menyediakan penyelesaian SQL yang boleh disesuaikan untuk mendapatkan semula nama jadual, memastikan keserasian merentas pelbagai platform pangkalan data. Ingat untuk melaraskan nilai dbName
atau schema_name
agar sepadan dengan persekitaran anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Nama Jadual daripada Pangkalan Data Khusus Menggunakan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!