Ada dua metode utama untuk melihat tabel di MySQL:
- MYSQL SHOW TABEL perintah.
- Meminta Information_schema.tables tabel.
Dalam artikel ini, kita akan menjelajahi keduanya.
Perintah MySQL SHOW TABLES
Perintah show tables menampilkan daftar semua tabel yang dibuat dalam database. Sintaksnya adalah sebagai berikut:
SHOW [EXTENDED] | [FULL] TABLES
[{FROM} database_name]
[LIKE 'DBNamePattern']
Dalam sintaks,
- Pengubah :Kita dapat menggunakan salah satu opsi berikut untuk melihat tabel:
- DIPERPANJANG – opsi ini mengisi daftar tabel yang telah dibuat oleh pernyataan ALTER TABLE yang gagal.
- PENUH – opsi ini menunjukkan kolom tambahan yang menyediakan tipe tabel. Ini bisa berupa Tabel Dasar, Tampilan, atau Tampilan Sistem.
- DARI – jika Anda ingin mengisi daftar tabel dari tabel tertentu, Anda dapat menggunakan kata kunci FROM.
- SUKA – jika Anda ingin mengisi daftar tabel dengan pola tertentu dalam namanya, Anda dapat menggunakan kata kunci LIKE.
Mari kita lihat contohnya.
Contoh 1:Tampilkan Semua Tabel yang Dibuat dalam Basis Data Tertentu
Untuk melihat semua tabel MySQL yang dibuat di Sakila database, gunakan pengubah LENGKAP dan kata kunci FROM. Jalankan perintah berikut:
mysql> SHOW TABLES FROM sakila;
Keluaran
Seperti yang Anda lihat, kueri mengisi daftar tabel dari Sakila basis data.
Contoh 2:Mengisi Daftar Tabel dengan Pola Kata Kunci Tertentu
Misalkan kita ingin mendapatkan daftar tabel yang namanya dimulai dengan kata kunci film . Kami menggunakan kata kunci LIKE untuk mencocokkan pola.
Tapi saat kita menggunakan LIKE kata kunci, kami tidak dapat menggunakan FROM pengubah. Pertanyaannya adalah sebagai berikut:
use sakila;
SHOW TABLES like 'film%'
Keluaran
Contoh 3:Mengisi Daftar Tabel dengan Tipenya
Untuk mengisi daftar tabel dengan tipenya, kita dapat menggunakan FULL pengubah. Misalkan kita ingin menurunkan daftar tabel dengan tipenya yang dibuat di database Sakila. Lihat kueri berikut:
mysql> SHOW FULL TABLES FROM sakila;
Keluaran
Sekarang, mari kita isi daftar tabel dari information_schema.tables .
Meminta Tabel Information_schema.tables
Untuk melihat tabel MySQL, kita dapat menggunakan information_schema.tables tabel yang berisi informasi berikut:
- Skema_Tabel :Nama database atau skema tempat tabel dibuat.
- Nama_tabel: Nama tabel.
- Tipe_tabel: Jenis meja. Ini dapat berupa salah satu dari berikut ini:
- Tampilan Sistem: Daftar tampilan sistem. Ini berisi informasi detail internal database. Tampilan ini dibuat dengan menggabungkan beberapa tabel dasar dengan informasi database.
- Tabel dasar: Daftar tabel dasar dapat berupa tabel pengguna atau tabel sistem.
- Tampilan: Daftar tampilan yang ditentukan pengguna.
- Mesin :Nama mesin database tempat tabel dibuat.
- Versi :Nomor versi .frm file tabel.
- Baris_format :Format penyimpanan baris. Format penyimpanan baris dapat berupa salah satu dari berikut ini:
- Tetap
- Terkompresi
- Berlebihan
- Dinamis
- Ringkas
- Baris_Tabel :Jumlah baris dalam tabel. Jika Anda menggunakan tabel InnoDB, ini mengembalikan perkiraan jumlah baris. Untuk mendapatkan jumlah baris yang tepat, gunakan SELECT COUNT(*) kueri.
- Panjang_baris rata-rata :Rata-rata panjang baris file data.
- Panjang_data :Jika Anda menggunakan tabel MyISAM, nilai data_length kolom adalah panjang file data. Jika Anda menggunakan tabel InnoDB, nilai Data_length kolom adalah jumlah ukuran yang dialokasikan untuk indeks berkerumun dikalikan dengan ukuran halaman InnoDB.
- Panjang_data_maks: Panjang maksimum file data yang diizinkan. Ini adalah jumlah byte yang dapat disimpan dalam tabel.
- Panjang_indeks: Panjang indeks. Jika Anda menggunakan tabel MyISAM, nilai index_length kolom menunjukkan ukuran indeks. Jika Anda menggunakan tabel InnoDB, nilai index_length kolom adalah ukuran total semua indeks non-cluster dikalikan dengan ukuran halaman.
- Bebas_data :Jumlah total byte yang dialokasikan tetapi tidak digunakan. Jika Anda menggunakan tabel InnoDB, nilai data_free kolom adalah ruang tablespace yang tidak terpakai di mana tabel telah dibuat.
- Peningkatan_otomatis: Nilai Peningkatan_Otomatis kolom adalah nilai kenaikan otomatis berikutnya.
- Waktu_Buat :Tanggal dan waktu tabel dibuat. Saat kami memulihkan database, nilai create_date akan menjadi waktu ketika database dipulihkan.
- Waktu_pembaruan :Tanggal dan waktu saat file data diperbarui. Ini menampilkan stempel waktu dari pernyataan INSERT, UPDATE, atau DELETE terakhir yang dieksekusi pada tabel InnoDB.
- Waktu_Periksa: Tanggal dan waktu terakhir kali tabel diperiksa.
- Table_collation :Nama susunan default tabel.
- Checksum :Nilai checksum.
- Buat_Opsi :Opsi konfigurasi tambahan yang digunakan untuk membuat tabel.
- Table_comment :Komentar atau informasi yang digunakan saat membuat tabel.
Contoh 1:Isi Daftar Semua Tabel
Misalkan kita ingin mengisi semua tabel yang dibuat di semua database. Pertanyaannya adalah sebagai berikut:
mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;
Keluaran
Seperti yang Anda lihat, kueri telah mengisi daftar tabel dengan nama database dan waktu pembuatan. Kueri mengembalikan banyak catatan, sehingga output dipangkas.
Contoh 2:Isi Daftar Semua Tabel yang Dibuat dalam Basis Data Tertentu
Untuk mengisi daftar tabel yang dibuat di Sakila database, Anda dapat menerapkan filter pada Table_Schema kolom:
mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';
Keluaran
Seperti yang Anda lihat, kueri telah mengembalikan daftar tabel dan tampilan yang dibuat di database Sakila, waktu pembuatannya, dan jenisnya.
Contoh 3:Isi Daftar Semua Tabel dengan Jumlah Baris
Kami dapat menyertakan Table_rows kolom untuk melihat jumlah baris tabel MySQL. Misalkan Anda ingin mendapatkan daftar tabel yang namanya dimulai dengan film . Output harus menyertakan jumlah record dalam tabel tersebut.
mysql> select table_catalog, table_schema, table_name,table_type,table_rows from information_schema.tables WHERE table_schema='sakila' and table_name like 'film%' and table_type='BASE TABLE';
Keluaran
Contoh 4:Mengisi Hitungan Tabel dan Tampilan
Misalnya, kami ingin mendapatkan jumlah tabel dan tampilan yang dibuat dalam database. Untuk melakukannya, jalankan kueri berikut:
mysql> select table_schema as 'Database OR Schema name', count(table_type) as 'Tables and Views', table_type as 'Object Type' from information_schema.tables group by table_type,table_schema;
Keluaran
Seperti yang Anda lihat pada gambar di atas, kueri telah mengisi jumlah tabel dan tampilan yang dibuat di semua database.
Contoh 5:Tabel dengan Ukurannya
Sekarang, kita ingin mengisi daftar tabel yang dibuat di Sakila database dengan ukurannya. Untuk membuat daftar, jalankan kueri berikut:
mysql> SELECT Table_schema as 'Database Name', TABLE_NAME AS 'Table', ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS 'Size in KB' FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'sakila' and table_type='BASE TABLE' ORDER BY (DATA_LENGTH + INDEX_LENGTH) DESC;
Keluaran
Seperti yang Anda lihat, kueri telah mengembalikan nama database, nama tabel, dan ukuran.
Ringkasan
Jadi, kita telah mendefinisikan dan belajar menggunakan metode mengisi daftar tabel yang dibuat dalam database. Kami menjelajahi TAMPILKAN TABEL perintah, dan kemudian kami memeriksa metode kueri Information_schema.tables meja. Kami berharap tips ini akan berguna dalam alur kerja Anda.
Jika Anda ingin mempelajari selengkapnya tentang tabel di SQL, baca artikel tentang tabel sementara di SQL Server. Dan jika Anda ingin menambahkan sesuatu, berbagi tip pekerjaan Anda, atau mendiskusikan metode ini, Anda dipersilakan di bagian Komentar.