Mengosongkan isi Tabel MySQL dengan TRUNCATE Statement

Mengosongkan isi Tabel MySQL dengan TRUNCATE Statement

Mengosongkan isi Tabel MySQL dengan TRUNCATE Statement - Perintah Truncate Table hampir sama dengan perintah Delete Table Di MySQL, perbedaan yang paling mendasar adalah bahwa query Truncate Table sebenarnya tidak menggunakan Where Clause, sedangkan Delete Table dapat menggunakan Where Clause.

Penggunaan TRUNCATE dalam pengosongan Data pada tabel lebih cepat daripada DELETE dan ini dilihat dari cara perintah TRUNCATE dalam “menghapus / mengosongkan" data. Sebenarnya perintah TRUNCATE tidak menghapus data, melainkan dia akan men-dealokasikan semua data pada tabel page dan menghapus pointer yang menuju ke indexnya. 

Data sebenarnya masih ada dan baru akan hilang apabila lokasinya ditindih dengan  data-data yang baru, atau bila kalian melakukan database shrinking. 

Menurut Books OnLine SQL Server menyatakan bahwa operasi TRUNCATE merupakan operasi yang sifatnya “minimally logged operation”. Anda dapat menggunakan perintah TRUNCATE di dalam suatu transaction database, dan ketika transaction ini Anda roll-back, maka data page akan dialokasikan kembali dan database kembali ke keadaan seperti sebelum perintah TRUNCATE dijalankan.


Mengosongkan isi Tabel MySQL
disini saya memakai tabel mahasiswa_backup yang sudah ada isinya pada artikel Cara Menduplikat Tabel MySQL.
mysql> select*from mahasiswa_backup;
+---------+----------------+------+------------+
| nim     | nama_mahasiswa | jk   | alamat     |
+---------+----------------+------+------------+
| 0202201 | rifai          | L    | Jl. Garuda |
| 0202202 | rifaldi        | L    | Jl. Garuda |
| 0202207 | Zainab         | P    | Jl. Garuda |
| 0202210 | Saldi          | L    | Jl. Garuda |
| 0202211 | Dimas          | L    | Jl. Garuda |
| 0202217 | Diana Mardiana | P    | Jl. Garuda |
| 0202218 | Dian           | P    | Jl. Garuda |
+---------+----------------+------+------------+
7 rows in set (0.00 sec)

Query dasar TRUNCATE untuk menghapus seluruh isi tabel mahasiswa_backup diatas.
TRUNCATE nama_tabel;
mysql> TRUNCATE mahasiswa_backup;
Query OK, 0 rows affected (0.14 sec)

mysql> select*from mahasiswa_backup;
Empty set (0.03 sec)

mysql>

Catatan:
Perintah Truncate Table akan mereset sequence yang ada di table tersebut apabila salah satu kolomnya menggunakan constraint AUTO INCREMENT.

Sekian artikel Mengosongkan isi Tabel MySQL dengan TRUNCATE Statement, nantikan artikel tentang Basis Data di blog ini.

Jika Kalian menyukai Artikel ini Silahkan Bagikan. Bila ada yang ingin berdiskusi tentang Judul Artikel diatas atau ada pertanyaan yang ingin ditanyakan silahkan menggunakan Fasilitas Komentar dan Fasilitas Contact Form. atau bisa mengirim langsung ke email struktur.mysql@gmail.com.
Previous
Next Post »