Pendahuluan
DROP TABLE pernyataan memungkinkan tabel untuk dihapus dari database MySQL. Pernyataan ini menghapus seluruh struktur serta isi tabel.
Tutorial mengeksplorasi DROP perintah pernyataan dan menampilkan opsi untuk menghapus tabel dari database MySQL .
Prasyarat
- Akses ke jendela terminal/baris perintah
- Sistem yang menjalankan MySQL
- Basis data yang berfungsi atau uji
- Pengguna MySQL dengan hak istimewa yang diperlukan (diperlukan hak DROP)
DROP TABLE Sintaks Perintah MySQL
Untuk menghapus tabel di MySQL, gunakan DROP TABLE penyataan. Sintaks dasar perintahnya adalah sebagai berikut:
DROP [TEMPORARY] TABLE [IF EXISTS] table_name [, table_name] [RESTRICT | CASCADE]; Mari kita uraikan sintaksnya:
DROP TABLEpernyataan menghapus tabel dan barisnya secara permanen.[TEMPORARY]opsi memastikan Anda menghapus tabel sementara saja.[IF EXISTS]opsi menjatuhkan tabel hanya jika ada.[RESTRICT]opsi akan tersedia di iterasi MySQL di masa mendatang. Ini memastikan bahwa baris induk tidak dihapus jika baris turunan mereferensikan nilai di baris induk tersebut.[CASCADE]option memastikan bahwa saat Anda menghapus sebuah baris, semua baris dalam tabel terkait yang mereferensikan baris tersebut juga akan dihapus. Opsi ini akan tersedia dalam iterasi MySQL di masa mendatang.
Gunakan Pernyataan DROP untuk Menghapus Tabel
Untuk menghapus tabel secara permanen, masukkan pernyataan berikut di dalam shell MySQL:
DROP TABLE table1;
Ganti table1 dengan nama tabel yang ingin Anda hapus. Output mengonfirmasi bahwa tabel telah dihapus.
Gunakan DROP untuk Menghapus Hanya Tabel yang Ada
MySQL menghasilkan kesalahan jika Anda mencoba menjatuhkan tabel yang tidak ada. Ini bisa menjadi masalah saat menyertakan DROP pernyataan dalam skrip yang telah ditentukan.
Untuk memeriksa MySQL apakah ada tabel terlebih dahulu:
DROP TABLE IF EXISTS table1;
IF EXISTS opsi menghasilkan peringatan jika table1 tidak ada.
Menggunakan opsi ini mencegah skrip terjebak pada kesalahan. Tampilkan peringatan dengan memasukkan:
SHOW WARNINGS;
Cara MENGHAPUS Banyak Tabel
Untuk menghapus beberapa tabel dengan satu DROP pernyataan:
DROP TABLE IF EXISTS table1, table2, table3;
IF EXISTS opsi menunjukkan satu peringatan sebagai table1 tidak ada.
Cara MENGHAPUS Tabel Sementara
Tabel sementara digunakan untuk menghasilkan dan menyimpan kumpulan data sesaat sebelum digunakan.
Misalnya, Anda mungkin memutuskan untuk menyimpan hasil SELECT pernyataan dengan beberapa pernyataan GABUNG dalam tabel sementara. Selanjutnya, kueri tabel sementara dengan mudah.
Untuk menghapus tabel sementara tanpa risiko kehilangan tabel biasa, gunakan TEMPORARY pilihan:
DROP TEMPORARY TABLE IF EXISTS table4;
Cara DROP Tabel Berdasarkan String Karakter
MySQL tidak memiliki perintah bawaan untuk menjatuhkan tabel yang cocok dengan string karakter. Sebagai gantinya, gunakan skrip untuk membantu melakukan tugas ini.
1. Tentukan database dan string karakter yang ingin Anda filter:
set @schema = 'tableselection';
set @string = 'table%';
Ganti tableselection dengan nama database Anda. Ganti table% dengan string karakter yang ingin Anda pilih dan hapus. Pastikan untuk meninggalkan % wildcard di akhir.
2. Buat pernyataan MySQL yang memilih semua tabel yang cocok dengan string karakter:
SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;
Kode ini memilih semua tabel dengan table% karakter yang ditentukan dari information_schema meja. Kemudian menggabungkannya dan menjalankan DROP pernyataan terhadap kelompok tersebut.
3. Buat seleksi dari hasil kode ini:
SELECT @droptool; 4. Menampilkan isi perintah:
PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Kode di bagian bawah disajikan secara keseluruhan untuk kemudahan penggunaan:
set @schema = 'tableselection';
set @string = 'table%';
SELECT CONCAT ('DROP TABLE ',GROUP_CONCAT(CONCAT(@schema,'.',table_name)),';')
INTO @droptool
FROM information_schema.tables
WHERE @schema = database()
AND table_name LIKE @string;
SELECT @droptool;
PREPARE stmt FROM @droptool;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;