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

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.