Berikut adalah empat cara untuk memeriksa apakah ada tabel di database MariaDB atau tidak.
information_schema.TABLES
Tabel
information_schema.TABLES
tabel berisi informasi tentang berbagai non-TEMPORARY
tabel (kecuali tabel dari database Skema Informasi) dan tampilan di server.
Berikut ini contoh kueri tabel ini:
SELECT
TABLE_SCHEMA,
TABLE_NAME,
TABLE_TYPE
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'PetHouse' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Pets';
Hasil:
+--------------+------------+------------+ | TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | +--------------+------------+------------+ | PetHouse | pets | BASE TABLE | +--------------+------------+------------+
Di sini, saya mengembalikan tabel dasar yang disebut Pets
dari database bernama PetHouse
. Menanyakan ini tanpa memfilter hasil dengan TABLE_SCHEMA
mengembalikan tabel dasar dari semua database. Membuat kueri tanpa memfilter menurut TABLE_TYPE
mengembalikan semua jenis tabel.
Jika kami tidak membutuhkan semua info itu, kami dapat melakukan ini:
SELECT EXISTS (
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'PetHouse' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Pets'
);
Hasil:
1
Atau kita bisa mendapatkan hitungannya:
SELECT COUNT(TABLE_NAME)
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'PetHouse' AND
TABLE_TYPE LIKE 'BASE TABLE' AND
TABLE_NAME = 'Pets';
Hasil:
+-------------------+ | COUNT(TABLE_NAME) | +-------------------+ | 1 | +-------------------+
The SHOW TABLES
Perintah
SHOW TABLES
perintah mencantumkan non-TEMPORARY
tabel, urutan dan tampilan dalam database yang diberikan. Kita dapat menggunakan WHERE
klausa untuk mempersempitnya ke tipe tertentu.
Kami juga dapat menggunakan FULL
pengubah untuk mengembalikan kolom kedua yang menampilkan jenis:
SHOW FULL TABLES
WHERE Table_Type LIKE 'BASE TABLE'
AND Tables_in_pethouse LIKE 'Pets';
Hasil:
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Pets | BASE TABLE | +--------------------+------------+
Dalam hal ini nama databasenya adalah pethouse
, dan kolom pertama adalah Tables_in_pethouse
.
The SHOW TABLE STATUS
Perintah
SHOW TABLE STATUS
perintahnya mirip dengan SHOW TABLES
perintah tetapi memberikan informasi yang lebih luas tentang masing-masing (non-TEMPORARY
) tabel.
Contoh:
SHOW TABLE STATUS
FROM PetHouse
WHERE Name = 'Pets';
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 | Max_index_length | Temporary | +------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | Pets | InnoDB | 10 | Dynamic | 8 | 2048 | 16384 | 0 | 32768 | 0 | NULL | 2021-04-01 15:42:43 | NULL | NULL | utf8mb4_general_ci | NULL | | | 0 | N | +------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
mariadb-show
Klien
Cara lain untuk melakukannya adalah dengan mariadb-show
kegunaan.
Untuk menggunakan opsi ini, buka jendela prompt/terminal baris perintah dan jalankan perintah berikut (menggantikan pethouse
dengan database yang Anda minati):
mariadb-show pethouse;
Hasil:
+---------------+ | Tables | +---------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +---------------+
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 maka semua database yang cocok akan ditampilkan. Jika tidak ada tabel yang diberikan, maka semua tabel yang cocok dalam database akan ditampilkan. Jika tidak ada kolom yang diberikan, maka semua kolom dan tipe kolom yang cocok dalam tabel akan ditampilkan.
Klien juga dapat dijalankan sebagai mysqlshow
:
mysqlshow pethouse;
Utilitas ini menerima beberapa opsi, seperti --user
(agar Anda dapat memberikan nama pengguna), --password
(agar Anda dapat memasukkan kata sandi), dll.
Lihat dokumentasi MariaDB untuk daftar lengkap opsi.
Periksa apakah Tabel Sudah Ada Sebelum Membuatnya
Jika Anda perlu membuat tabel jika belum ada, Anda dapat menggunakan IF NOT EXISTS
klausa dari CREATE TABLE
penyataan. Jika tabel tidak ada, itu akan dibuat. Jika sudah ada, tidak akan dibuat.
Lihat Cara Membuat Tabel Hanya jika Tidak Ada di MariaDB sebagai contoh.