Cara Menghapus Data Dalam Tabel Mysql Lebih Lanjut
Cara menghapus isi tabel dalam mysql - Dalam database mysql ada yang namanya DML yaitu Data Manipulasi Language. DML ini terdiri dari SELECT, INSERT, UPDATE, & DELETE. Pada tutorial kemarin admin juga sudah membahas tentang Cara Menampilkan Data Record Tabel ( Select ), Cara Menginput Data Record Tabel ( INSERT ), dan Cara Mengubah Data Record Tabel ( Delete ).
Kali ini admin akan membahas tentang bagaimana cara menghapus data record tabel ( DELETE ). Dalam menghapus data record tabel, mysql memberikan beberapa cara yang akan kita bahas disini.
Pertama kita siapkan dulu tabel dan juga berserta data recordnya. Sebagai contoh admin menggunakan tabel guru yang pernah kita buat praktek pada tutorial Cara Menampilkan Data Record di Tabel Mysql.
mysql> create database sekolah;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sekolah |
| sys |
+--------------------+
5 rows in set (0.00 sec)
mysql> use sekolah;
Database changed
mysql> create table guru (kode_guru char(10), nama_guru varchar(35), jenis_kelamin enum('L','P'), alamat_guru varchar(50), primary key(kode_guru));
Query OK, 0 rows affected (0.03 sec)
Kemudian isikan data berikut di Tabel Guru :
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG001 | Khoirudin | L | Jepara |
| KG002 | Amelia | P | Bangsri |
| KG003 | Angel | P | Mlonggo |
| KG004 | Sulistiyo | L | Kembang |
| KG005 | Putri | P | Bangsri |
| KG006 | Pujiono | L | Pakis Aji |
| KG007 | Dewi | P | Kembang |
| KG008 | Yusuf | L | Bangsri |
| KG009 | Yuniar | L | Mlonggo |
| KG010 | Susan | P | Jepara |
+-----------+-----------+---------------+-------------+
Pada dasarnya statement query yang digunakan untuk menghapus data adalah sebagai berikut :
DELETE FROM NamaTabel WHERE Kondisi
Sebelumnya admin juga sudah membahas sedikit mengenai cara menghapus record data ini di tutorial Cara Menampilkan Menambah Mengedit dan Menghapus data di MySQL ( Bagian Cara Menghapus Data ) dan kali ini admin akan membahasnya lebih lanjut lagi.
Cara Menghapus Data dengan DELETE ORDER BY LIMIT.
Perintah ORDER BY LIMIT dalam mysql ini kondisi tambahan optional yang artinya boleh digunakan boleh tidak. ORDER BY berfungsi untuk mengurutkan mengurutkan data dalam tabel sedangkan LIMIT digunakan untuk membatasi jumlah hasil data yang tampil dalam tabel.
Sebagai contoh misal admin ingin menghapus data yang ada dalam tabel guru. Admin menghapus 3 data guru yang di urutkan berdasarkan nama_guru yang di mulai dari A - Z.
mysql> select*from guru order by nama_guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG002 | Amelia | P | Bangsri |
| KG003 | Angel | P | Mlonggo |
| KG007 | Dewi | P | Kembang |
| KG001 | Khoirudin | L | Jepara |
| KG006 | Pujiono | L | Pakis Aji |
| KG005 | Putri | P | Bangsri |
| KG004 | Sulistiyo | L | Kembang |
| KG010 | Susan | P | Jepara |
| KG009 | Yuniar | L | Mlonggo |
| KG008 | Yusuf | L | Bangsri |
+-----------+-----------+---------------+-------------+
10 rows in set (0.00 sec)
mysql> delete from guru order by nama_guru asc limit 4;
Query OK, 4 rows affected (0.11 sec)
mysql> select*from guru order by nama_guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG006 | Pujiono | L | Pakis Aji |
| KG005 | Putri | P | Bangsri |
| KG004 | Sulistiyo | L | Kembang |
| KG010 | Susan | P | Jepara |
| KG009 | Yuniar | L | Mlonggo |
| KG008 | Yusuf | L | Bangsri |
+-----------+-----------+---------------+-------------+
6 rows in set (0.00 sec)
Dari query diatas admin menampilkan data guru yang sudah admin urutkan dari data A - Z kemudian admin hapus 4 data teratas dengan menggunakan fungsi ORDER BY LIMIT. Kemudian data guru admin tampilkan kembali sehingga data guru tersebut dan dapat kita lihat 4 baris data paling atas hilang dan terhapus dari tabel.
Cara Menghapus Data Semua isi dalam tabel Mysql.
Untuk query yang digunakan untuk menghapus semua isi tabel itu mudah yaitu dengan menggunakan statement DELETE tanpa menggunakan kondisi WHERE. Selain itu bisa juga dengan menggunakan statement TRUNCATE. Statement TRUNCATE ini akan menghapus TABEL tersebut (DROP TABLE). Kemudian TRUNCATE akan membuat ulang tabel tersebut.
Contoh penggunaan tanpa kondisi WHERE dan TRUNCATE .
mysql> select*from guru;
+-----------+-----------+---------------+-------------+
| kode_guru | nama_guru | jenis_kelamin | alamat_guru |
+-----------+-----------+---------------+-------------+
| KG004 | Sulistiyo | L | Kembang |
| KG005 | Putri | P | Bangsri |
| KG006 | Pujiono | L | Pakis Aji |
| KG008 | Yusuf | L | Bangsri |
| KG009 | Yuniar | L | Mlonggo |
| KG010 | Susan | P | Jepara |
+-----------+-----------+---------------+-------------+
6 rows in set (0.01 sec)
mysql> delete from guru;
Query OK, 6 rows affected (0.09 sec)
mysql> select*from guru;
Empty set (0.00 sec)
mysql> select*from siswa;
+-----+------------+--------------+------------+
| nis | nama_siswa | alamat_siswa | tgl_lahir |
+-----+------------+--------------+------------+
| 1 | Agus | Bangsri | 2000-01-15 |
| 2 | Udin | Mlonggo | 2000-11-11 |
| 3 | Sepia | Bangsri | 2001-01-21 |
| 4 | Andini | Jepara | 2002-11-15 |
| 5 | Aisyah | Pakis Aji | 2001-12-27 |
+-----+------------+--------------+------------+
5 rows in set (0.00 sec)
mysql> TRUNCATE TABLE siswa;
Query OK, 0 rows affected (0.27 sec)
mysql> select*from siswa;
Empty set (0.00 sec)
mysql>
pada query diatas admin menggunakan dua tabel yaitu tabel guru dan juga tabel siswa. Untuk tabel guru admin menggunakan DELETE tanpa kondisi WHERE dan untuk tabel siswa admin menggunakan TRUNCATE. Bisa di lihat juga bahwa DELETE tanpa kondisi WHERE saat menghapus semua data jumlah data/row yang dihapus ( Query OK, 6 rows affected (0.09 sec) ). Sedangkan untuk TRUNCATE tidak menampilkan jumlah data/row yang dihapus ( Query OK, 0 rows affected (0.27 sec) ). Selain itu untuk kecepatan penghapusan semua data itu lebih cepat menggunakan TRUNCATE jika data yang kita hapus banyak.
Post a Comment for " Cara Menghapus Data Dalam Tabel Mysql Lebih Lanjut "