Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

5 Cara untuk Memeriksa Apakah Tabel Ada di MySQL

Berikut adalah lima cara untuk memeriksa apakah ada tabel di database MySQL atau tidak.

table_exists() Prosedur

Di MySQL, sys.table_exists() prosedur tersimpan menguji apakah tabel yang diberikan ada sebagai tabel biasa, TEMPORARY meja, atau pemandangan. Prosedur mengembalikan tipe tabel dalam OUT parameter.

Contoh:

CALL sys.table_exists('Music', 'Albums', @table_type); 
SELECT @table_type;

Hasil:

+-------------+
| @table_type |
+-------------+
| BASE TABLE  |
+-------------+

Perhatikan bahwa jika tabel sementara dan permanen ada dengan nama yang diberikan, TEMPORARY dikembalikan.

information_schema.TABLES Tabel

Cara lain untuk memeriksa apakah tabel ada adalah dengan menanyakan information_schema.TABLES tabel:

SELECT 
   TABLE_SCHEMA, 
   TABLE_NAME,
   TABLE_TYPE
FROM 
   information_schema.TABLES 
WHERE 
   TABLE_SCHEMA LIKE 'music'    AND 
	TABLE_TYPE LIKE 'BASE TABLE' AND
	TABLE_NAME = 'Artists';

Hasil:

+--------------+------------+------------+
| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE |
+--------------+------------+------------+
| Music        | Artists    | BASE TABLE |
+--------------+------------+------------+

Dalam hal ini, saya mengembalikan tabel dasar yang disebut Artists dari database bernama music . 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 'music' AND 
        TABLE_TYPE LIKE 'BASE TABLE' AND
        TABLE_NAME = 'Artists'
    );

Hasil:

1

Atau kita bisa mendapatkan hitungannya:

SELECT COUNT(TABLE_NAME)
FROM 
   information_schema.TABLES 
WHERE 
   TABLE_SCHEMA LIKE 'music' AND 
	TABLE_TYPE LIKE 'BASE TABLE' AND
	TABLE_NAME = 'Artists';

Hasil:

+-------------------+
| COUNT(TABLE_NAME) |
+-------------------+
|                 1 |
+-------------------+

The SHOW TABLES Perintah

SHOW TABLES perintah mencantumkan non-TEMPORARY tabel, urutan dan tampilan dalam database MySQL 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_music LIKE 'Albums';

Hasil:

+-----------------+------------+
| Tables_in_music | Table_type |
+-----------------+------------+
| Albums          | BASE TABLE |
+-----------------+------------+

Dalam hal ini nama databasenya adalah music , dan kolom pertama adalah Tables_in_music .

The SHOW TABLE STATUS Perintah

Di MySQL, 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 Music
WHERE Name = 'Albums';

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 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NULL       | utf8mb4_0900_ai_ci |     NULL |                |         |
+--------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+--------------------+----------+----------------+---------+

mysqlshow Klien

Cara lain untuk memeriksa tabel dalam database MySQL adalah dengan menggunakan mysqlshow klien.

Untuk menggunakan utilitas ini, buka jendela prompt/terminal baris perintah dan jalankan perintah berikut:

mysqlshow --user root --password music;

Pastikan untuk mengganti music dengan database yang Anda minati, dan root dengan pengguna yang berlaku. --password bit menghasilkan pengguna yang dimintai kata sandi.

Hasil:

Enter password: 
Database: music
+----------------+
|     Tables     |
+----------------+
| Albums         |
| Artists        |
| Genres         |
| valbumsartists |
| valbumsgenres  |
| vallalbums     |
| vallartists    |
| vallgenres     |
+----------------+

mysqlshow klien mengembalikan tampilan dan tabel.

Outputnya hanya menampilkan nama database, tabel, atau kolom yang memiliki hak istimewa bagi pengguna.

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.

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 Memeriksa apakah Tabel Sudah Ada Sebelum Membuatnya di MySQL sebagai contoh.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Fungsi UNHEX() Bekerja di MySQL

  2. Paginasi PHP &MySQL

  3. Format PHP date() saat memasukkan ke datetime di MySQL

  4. 4 Alat Baris Perintah yang Berguna untuk Memantau Kinerja MySQL di Linux

  5. Bagaimana Fungsi RPAD() Bekerja di MySQL