Tips Mysql -1

March 13, 2008 – 11:43 am

Ketika baru mulai belajar MySQL database, yang saya pelajari baru create database, drop database, create table, drop table, alter table, nge-set privileges, dan beberapa perintah dasar lainnya. Suatu ketika saya sedang membuat sebuah database dengan jumlah table lebih dari 10 table.

Waktu itu sedang mencoba utak-atik tipe data integer dengan format auto_increment-nya. Setelah tambah record, hapus record, tambah lagi recordnya, ternyata yang namanya auto_increment itu angkanya bertambah terus. Karena waktu itu belum tahu cara ngereset auto_increment, ya terpaksa harus drop table satu persatu.

Yang menjadi pertanyaan waktu itu, bagaimana caranya menghapus seluruh table dalam satu database hanya dengan perintah sederhana?.. Mengingat dalam MySQL tidak ada perintah drop all tables, maka jawaban yang paling mudah adalah dihapus databasenya kemudian buat database baru lagi..

Tapi.. bagaimana kalo kita hanya ingin menghapus seluruh table tanpa harus menghapus databasenya?.. Akhirnya nemu ide dengan memanfaatkan text output dari mysqldump yang dijadikan sebagai input perintah untuk penghapusan table. Kurang lebih begini perintahnya:

# mysqldump -u[user] -p[password] –add-drop-table –no-data [nama_database] | grep ^Drop > hapus_semua_table.txt

# mysql -u[user] -p[password] [nama_database] < hapus_semua_table.txt

Atau bisa disingkat menjadi:

# mysqldump -u[user] -p[password] –add-drop-table –no-data [nama_database] | grep ^DROP | mysql -u[user] -p[password] [database]

Selamat mencoba..

nb.
Hati-hati menggunakan cara ini. Backup dulu data yang dianggap penting. Segala Resiko ditanggung sendiri..

Post a Comment