dibimbing.id - Beginilah Cara Menghapus Isi Tabel di MySQL

Beginilah Cara Menghapus Isi Tabel di MySQL

Irhan Hisyam Dwi Nugroho

10 July 2023

39724

Image Banner

Catatan Redaksi: 

Artikel ini pertama kali diterbitkan pada Juli 2023 dan diperbarui pada 2 Mei 2025 untuk memastikan informasi tetap akurat dan relevan.

Cara menghapus isi tabel di MySQL penting untuk kamu kuasai, apalagi saat ingin membersihkan data tanpa mengganggu struktur tabel. Warga Bimbingan pasti pernah mengalami kebutuhan semacam ini, baik di latihan maupun proyek nyata.

MinDi akan membahas dua perintah yang paling sering digunakan, yaitu DELETE dan TRUNCATE. Walaupun terlihat mirip, keduanya punya cara kerja dan efek yang berbeda.

Penjelasan dari MinDi akan tetap ringkas tapi menyeluruh, biar kamu nggak cuma tahu caranya tapi juga paham kapan menggunakannya. Yuk, simak.

Baca juga : Panduan Memilih Bootcamp Data Science Terbaik di 2025


Contoh Tabel Mahasiswa di MySQL


Untuk memahami cara menghapus isi tabel di MySQL, kita akan gunakan contoh sederhana berupa tabel bernama mahasiswa. Tabel ini berisi data mahasiswa dengan kolom seperti id, nama, jurusan, dan status.

Struktur ini cukup umum digunakan, dan cocok untuk menggambarkan bagaimana data bisa dihapus seluruhnya atau sebagian berdasarkan kondisi tertentu. Dari sini, kita bisa langsung praktik menggunakan perintah DELETE dan TRUNCATE.

Struktur Tabel SQL:

CREATE DATABASE mahasiswa;

USE DATABASE mahasiswa;

CREATE TABLE mahasiswa (

 id INT AUTO_INCREMENT PRIMARY KEY,

 nama VARCHAR(100),

 jurusan VARCHAR(50),

 nim VARCHAR(15)

);


Contoh Data:

INSERT INTO mahasiswa (nama, jurusan, nim) VALUES

('Andi', 'Informatika', '202201001'),

('Budi', 'Ekonomi', '202201002'),

('Sari', 'Hukum', '202201003'),

('Dina', 'Informatika', '202201004');


Isi tabel daftar_mahasiswa:

Baca juga : Panduan Memilih Bootcamp Data Analyst untuk Karier Impianmu


Cara Menghapus Isi Tabel di MySQL


Sumber: Canva

Ada beberapa cara yang bisa digunakan untuk menghapus data dari tabel MySQL, tergantung pada kebutuhan dan situasi yang dihadapi.


1. Menggunakan DELETE


Perintah DELETE digunakan untuk menghapus data dari tabel dengan fleksibilitas penuh. Kamu bisa menghapus semua baris sekaligus atau hanya baris tertentu dengan menambahkan klausa WHERE.

Keunggulan DELETE adalah bisa dikombinasikan dengan kondisi spesifik, jadi aman untuk penghapusan selektif. Selain itu, DELETE juga memicu trigger dan bisa di-rollback jika dijalankan dalam transaksi.

Contoh:

-- Hapus semua isi tabel

DELETE FROM mahasiswa;


-- Hapus mahasiswa dari jurusan Ekonomi

DELETE FROM mahasiswa WHERE jurusan = 'Ekonomi';


Contoh Hasil DELETE ekonomi:

2. Menggunakan TRUNCATE

TRUNCATE digunakan untuk menghapus seluruh isi tabel secara instan. Perintah ini sangat cepat karena langsung membersihkan semua baris tanpa memeriksa satu per satu.

Namun, TRUNCATE tidak bisa digunakan dengan WHERE, tidak memicu trigger, dan tidak bisa di-rollback. Gunakan ini hanya jika kamu yakin ingin mengosongkan seluruh tabel tanpa syarat.

Contoh:

-- Hapus semua isi tabel mahasiswa secara cepat

TRUNCATE TABLE mahasiswa;


Contoh Hasil:


3. Menggunakan DELETE dengan ORDER BY dan LIMIT


Kombinasi DELETE dengan ORDER BY dan LIMIT berguna saat kamu ingin menghapus data secara bertahap. Ini sering digunakan untuk menghapus data lama, duplikat, atau baris tertentu dari atas atau bawah.

Dengan ORDER BY, kamu bisa menentukan urutan data yang akan dihapus, dan LIMIT membatasi jumlah baris yang dihapus. Ini memberikan kontrol lebih besar, terutama saat membersihkan tabel besar secara bertahap.

Contoh:

-- Hapus satu data mahasiswa dengan ID terkecil

DELETE FROM mahasiswa ORDER BY id ASC LIMIT 1;


-- Hapus dua mahasiswa terakhir berdasarkan NIM

DELETE FROM mahasiswa ORDER BY nim DESC LIMIT 2;


Contoh Hasil:

Baca juga : Panduan Cara Belajar Python untuk Data Scientist, Lengkap!


Perbedaan DELETE dan TRUNCATE


Sumber: Canva

Warga Bimbingan, meskipun sama-sama digunakan untuk menghapus isi tabel di MySQL, DELETE dan TRUNCATE punya perbedaan penting. Memahami perbedaannya akan bantu kamu memilih perintah yang paling tepat dan aman.


1. Fleksibilitas Penggunaan


DELETE memungkinkan kamu untuk menghapus sebagian data dengan kondisi tertentu menggunakan klausa WHERE. 

Sebaliknya, TRUNCATE langsung menghapus seluruh isi tabel tanpa bisa disaring. Jadi, DELETE cocok untuk penghapusan selektif, sedangkan TRUNCATE hanya untuk pembersihan total.


2. Kecepatan dan Performa


TRUNCATE biasanya lebih cepat dibandingkan DELETE karena tidak memproses baris satu per satu. 

Ia bekerja seperti mengatur ulang tabel dari awal secara langsung. Sedangkan DELETE akan memeriksa dan mencatat setiap baris yang dihapus, sehingga prosesnya lebih lambat terutama untuk tabel besar.


3. Efek Tambahan pada Tabel


DELETE tidak mengubah nilai auto increment pada tabel, jadi ID akan tetap melanjutkan dari angka terakhir. 

Sementara TRUNCATE akan me-reset auto increment, seolah-olah tabel baru dibuat ulang. Selain itu, DELETE bisa memicu trigger, sedangkan TRUNCATE tidak.

Baca juga : Panduan Analisis Data dengan Python Pandas, Mudah Dipelajari


Kapan Gunakan DELETE atau TRUNCATE?


Sumber: Canva

Warga Bimbingan, memilih antara DELETE atau TRUNCATE gak bisa asal-asalan. Kamu perlu tahu konteks dan kebutuhan datamu agar tidak menimbulkan efek samping yang merugikan. Berikut panduan sederhana dari MinDi untuk menentukan pilihan yang tepat.


1. Gunakan DELETE jika butuh kondisi khusus


Kalau kamu hanya ingin menghapus sebagian data berdasarkan kriteria tertentu, DELETE adalah pilihan yang tepat. 

Kamu bisa menambahkan WHERE untuk menyaring baris yang dihapus. Ini berguna kalau kamu ingin menjaga sebagian data tetap aman di dalam tabel.


2. Gunakan TRUNCATE untuk hapus semua data dengan cepat


TRUNCATE sangat cocok digunakan saat kamu ingin mengosongkan seluruh isi tabel secara instan. 

Perintah ini lebih cepat dari DELETE karena tidak memproses data satu per satu. Tapi hati-hati, karena tidak bisa menggunakan kondisi dan tidak bisa di-rollback.


3. Hindari TRUNCATE jika tabel terhubung dengan foreign key


Jika tabelmu punya relasi dengan tabel lain melalui foreign key, TRUNCATE bisa menimbulkan error atau tidak diizinkan. 

Dalam kasus seperti ini, DELETE lebih aman karena mendukung constraint dan bisa diatur lebih fleksibel. Selalu pastikan struktur relasi tabel sebelum mengosongkan data.

Baca juga : Python untuk Data Analyst: Arti, Manfaat, Library, dan Tips


Ingin Jadi Data Scientist Profesional?


Cara Menghapus Isi Tabel di MySQL dengan DELETE & TRUNCATE adalah salah satu skill dasar yang wajib dikuasai oleh calon Data Scientist. Mengelola data dengan tepat adalah langkah awal menuju analisis yang akurat dan pengambilan keputusan berbasis data.

Yuk, ikuti Bootcamp Data Science di dibimbing.id untuk mempelajari lebih dari sekadar SQL. Di bootcamp ini, kamu akan belajar Python, statistik, machine learning, visualisasi data, dan praktik proyek data secara langsung.

Bootcamp ini dirancang langsung oleh praktisi industri dengan kurikulum yang aplikatif dan relevan dengan kebutuhan perusahaan. Kamu juga akan dibimbing membangun portofolio yang siap pakai untuk masuk dunia kerja.

Dengan lebih dari 840+ hiring partner dan tingkat keberhasilan alumni mencapai 96%, ini adalah kesempatan nyata untuk berkarier di bidang data.

Jadi, tunggu apa lagi? Daftar sekarang di sini dan mulai langkah pertamamu menjadi Data Scientist profesional. #BimbingSampeJadi


Referensi


  1. SQL Introduction [Buka]

Share

Author Image

Irhan Hisyam Dwi Nugroho

Irhan Hisyam Dwi Nugroho is an SEO Specialist and Content Writer with 4 years of experience in optimizing websites and writing relevant content for various brands and industries. Currently, I also work as a Content Writer at Dibimbing.id and actively share content about technology, SEO, and digital marketing through various platforms.

Hi!👋
Kalau kamu butuh bantuan,
hubungi kami via WhatsApp ya!