Berikut adalah empat cara untuk membuat daftar tabel dalam database MySQL menggunakan SQL atau baris perintah.
SHOW TABLES
Perintah
SHOW TABLES
perintah mencantumkan non-TEMPORARY
tabel dan tampilan dalam database yang diberikan:
SHOW TABLES;
Hasil:
+-----------------+ | Tables_in_music | +-----------------+ | Albums | | Artists | | Genres | | valbumsartists | | valbumsgenres | | vallalbums | | vallartists | | vallgenres | +-----------------+
Itu mencantumkan semua tabel dalam database saat ini, yang disebut Music
.
Kami juga dapat menggunakan FULL
pengubah untuk mengembalikan kolom kedua yang menampilkan jenis:
SHOW FULL TABLES;
Hasil:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | | Artists | BASE TABLE | | Genres | BASE TABLE | | valbumsartists | VIEW | | valbumsgenres | VIEW | | vallalbums | VIEW | | vallartists | VIEW | | vallgenres | VIEW | +-----------------+------------+
Kita dapat melihat bahwa sebagian besar hasil yang tercantum di sini sebenarnya adalah tampilan.
Jika kita hanya ingin tabel dasar dikembalikan, kita dapat menggunakan WHERE
klausa terhadap Table_type
kolom:
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Hasil:
+-----------------+------------+ | Tables_in_music | Table_type | +-----------------+------------+ | Albums | BASE TABLE | | Artists | BASE TABLE | | Genres | BASE TABLE | +-----------------+------------+
SHOW TABLES
juga menerima LIKE
klausa yang dapat digunakan untuk mempersempit hasil menjadi tabel yang cocok dengan pola tertentu:
SHOW TABLES
LIKE 'a%';
Hasil:
+----------------------+ | Tables_in_music (a%) | +----------------------+ | Albums | | Artists | +----------------------+
Dalam hal ini saya mengembalikan semua tabel yang dimulai dengan huruf a
.
SHOW TABLE STATUS
Perintah
SHOW TABLE STATUS
perintahnya mirip dengan SHOW TABLES
perintah tetapi memberikan informasi yang lebih luas tentang masing-masing (non-TEMPORARY
) meja.
Itu juga menerima WHERE
dan LIKE
klausa, seperti SHOW TABLES
.
Contoh:
SHOW TABLE STATUS
LIKE 'a%';
Hasil:
+---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+ | Albums | InnoDB | 10 | Dynamic | 20 | 819 | 16384 | 0 | 32768 | 0 | 21 | 2022-02-15 09:10:36 | NULL | NULL | utf8mb4_0900_ai_ci | NULL | | | | Artists | InnoDB | 10 | Dynamic | 16 | 1024 | 16384 | 0 | 0 | 0 | 17 | 2021-11-13 12:56:02 | NULL | NULL | utf8mb4_0900_ai_ci | NULL | | | +---------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+
information_schema.TABLES
Tabel
Kami juga dapat menanyakan information_schema.TABLES
tabel:
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'Music' AND TABLE_TYPE LIKE 'BASE_TABLE';
Hasil:
+------------+ | TABLE_NAME | +------------+ | Artists | | Genres | | Albums | +------------+
Menanyakan ini tanpa memfilter hasil dengan TABLE_SCHEMA
mengembalikan tabel dari semua database. Demikian pula, menanyakannya tanpa memfilter menurut TABLE_TYPE
mengembalikan semua jenis tabel.
mysqlshow
Klien
Cara lain untuk melakukannya adalah dengan mysqlshow
kegunaan.
Untuk menggunakan opsi ini, buka jendela prompt/terminal baris perintah dan jalankan perintah berikut (menggantikan music
dengan database yang Anda minati):
mysqlshow music;
Hasil:
+----------------+ | Tables | +----------------+ | Albums | | Artists | | Genres | | valbumsartists | | valbumsgenres | | vallalbums | | vallartists | | vallgenres | +----------------+
Ini mengembalikan tampilan dan tabel.
Outputnya hanya menampilkan nama database, tabel, atau kolom yang Anda miliki beberapa hak istimewanya.
Jika tidak ada database yang diberikan, daftar nama database akan ditampilkan. Jika tidak ada tabel yang diberikan, semua tabel yang cocok dalam database akan ditampilkan. Jika tidak ada kolom yang diberikan, semua kolom dan tipe kolom yang cocok dalam tabel akan ditampilkan.
Jika Anda mendapatkan kesalahan "akses ditolak", Anda mungkin perlu menggunakan sudo
, dan masukkan kata sandi Anda saat diminta:
sudo mysqlshow music;
Utilitas ini menerima beberapa opsi, seperti --user
(agar Anda dapat memberikan nama pengguna), --password
(agar Anda dapat memasukkan kata sandi), --host
untuk host tempat server MySQL berada, dll.
Lihat dokumentasi MySQL untuk daftar lengkap opsi.