Halaman

Selasa, 16 Oktober 2012

Membuat Duplikat Atau Backup Tabel PHP-MySQL

Tabel MySQL dapat dibuat dari tabel lain yang memiliki kesamaan dalam hal struktur dan isi tabelnya. Duplikat tabel dapat dipakai untuk keperluan mem-backup tabel. Selain itu dapat digunakan sebagai arsip tabel per bulan.

Membuat Duplikat Tabel Menggunakan Query Sederhana MySQL
Misalnya tabel tb_nilai ingin diduplikat, dibackup, atau diarsipkan tiap bulannya. Tabel tb_nilai ini memiliki struktur tabel seperti yang terlihat pada gambar berikut:


Struktur tabel nilai


Maka untuk menduplikasikan tabel tersebut tidak perlu membuat query SQL seperti:
CREATE TABLE tb_nilai_backup (
  nomor_induk INT NOT NULL,
  kode_pelajaran VARCHAR(6) NOT NULL,
  nilai INT,
  PRIMARY KEY(nomor_induk, kode_pelajaran)
);
Namun cukup query sederhana seperti berikut:
CREATE TABLE tb_nilai_backup LIKE tb_nilai;


Persamaan struktur tabel duplikat dan tabel asli


Kemudian untuk mengisikan semua datanya ke dalam tabel duplikat tersebut, cukup lakukan dengan menuliskan query berikut:
INSERT INTO tb_nilai_backup SELECT * FROM tb_nilai;
Cukup mudah bukan? Sekarang saatnya menggabungkan dengan kode PHP.

Membuat Duplikat atau Backup Tabel Menggunakan Query Sederhana PHP-MySQL
Untuk keperluan pengarsipan atau backup tabel tiap bulan, Anda dapat menggunakan query SQL di atas kemudian penamaan tabelnya dapat menggunakan penanda akhiran (suffix) angka bulannya menggunakan fungsi date() milik PHP.

Misal tabel tb_nilai ingin diarsipkan atau dibackup dengan format nama tabel tb_nilai_2012_10 yang artinya backup tabel tb_nilai untuk bulan Oktober 2012. Untuk keperluan backup, duplikat, atau pengarsipan ini, tuliskan kode PHP sederhana berikut:
<?php
  mysql_query("CREATE TABLE tb_nilai_backup_".date("Y_m")." LIKE tb_nilai");
  mysql_query("INSERT INTO tb_nilai_backup_".date("Y_m")." SELECT * FROM tb_nilai");
?>
Dalam sekejap tabel duplikatnya akan dibuat dengan penamaan yang diakhiri kode tahun-bulan, misalnya seperti tb_nilai_backup_2012_10.

Semoga bermanfaat.

© 2012 husnanlabs.blogspot.com

Tidak ada komentar:

Posting Komentar