Perintah DROP DATABASE
📚 Pengenalan Perintah DROP DATABASE
Perintah DROP DATABASE digunakan untuk menghapus database yang ada. Perintah ini akan menghapus semua tabel, view, stored procedure, fungsi, dan objek database lainnya secara permanen.
Peringatan: Perintah DROP DATABASE akan menghapus semua data dalam database secara permanen dan tidak dapat dibatalkan. Pastikan Anda memiliki backup sebelum menjalankan perintah ini.
Sintaks DROP DATABASE
Sintaks dasar untuk DROP DATABASE adalah:
DROP DATABASE nama_database;
Atau dengan opsi IF EXISTS untuk menghindari error jika database tidak ada:
DROP DATABASE IF EXISTS nama_database;
Contoh DROP DATABASE
Untuk menghapus database bernama 'toko_online':
DROP DATABASE toko_online;
DROP DATABASE di Berbagai Sistem Database
Sintaks untuk DROP DATABASE mungkin sedikit berbeda tergantung pada sistem database yang digunakan:
MySQL
DROP DATABASE IF EXISTS toko_online;
PostgreSQL
DROP DATABASE IF EXISTS toko_online;
SQL Server
DROP DATABASE IF EXISTS toko_online;
Oracle
DROP DATABASE toko_online;
Menampilkan Database yang Ada
Untuk menampilkan semua database yang ada sebelum menghapus:
MySQL
SHOW DATABASES;
PostgreSQL
\l
SQL Server
SELECT name FROM sys.databases;
Oracle
SELECT name FROM v$database;
Backup Database Sebelum Menghapus
Sebelum menghapus database, sangat disarankan untuk membuat backup:
MySQL
mysqldump -u username -p toko_online > toko_online_backup.sql
PostgreSQL
pg_dump -U username toko_online > toko_online_backup.sql
SQL Server
BACKUP DATABASE toko_online TO DISK = 'C:\Backup\toko_online_backup.bak' WITH FORMAT, INIT;
Oracle
EXPDP username/password DIRECTORY=backup_dir DUMPFILE=toko_online_backup.dmp
Memeriksa Koneksi Aktif
Sebelum menghapus database, pastikan tidak ada koneksi aktif:
MySQL
SHOW PROCESSLIST;
PostgreSQL
SELECT * FROM pg_stat_activity WHERE datname = 'toko_online';
SQL Server
SELECT * FROM sys.dm_exec_sessions WHERE database_id = DB_ID('toko_online');
Memutus Koneksi Aktif
Jika ada koneksi aktif, Anda mungkin perlu memutuskannya terlebih dahulu:
MySQL
-- Mengubah mode single user SET GLOBAL read_only = ON; FLUSH TABLES WITH READ LOCK;
PostgreSQL
-- Memutus semua koneksi ke database SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'toko_online';
SQL Server
-- Mengubah mode single user ALTER DATABASE toko_online SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
Best Practices untuk DROP DATABASE
- Selalu buat backup sebelum menghapus database
- Periksa apakah ada koneksi aktif sebelum menghapus
- Gunakan IF EXISTS untuk menghindari error
- Gunakan transaksi jika memungkinkan (tergantung pada sistem database)
- Dokumentasikan alasan penghapusan database
- Periksa dependensi aplikasi sebelum menghapus
Coba Sendiri
Anda dapat mencoba kode SQL di atas di editor berikut:
💡 Tips Perintah DROP DATABASE
Di lingkungan produksi, sangat disarankan untuk menggunakan prosedur formal untuk menghapus database, termasuk persetujuan dari tim, dokumentasi, dan backup. Beberapa organisasi mungkin memiliki kebijakan penahanan (retention policy) yang menentukan berapa lama database harus disimpan sebelum dihapus.