Backup MySQL dengan mysqldump

Backup merupakan suatu proses penting dalam berbagai hal, termasuk dalam kaitannya dengan penyimpanan data di dalam database. MySQL sebagai salah satu software database yang banyak digunakan saat ini, memiliki beberapa mekanisme backup. Tools yang membantu proses backup juga banyak tersedia, baik yang gratisan maupun yang berbayar. Salah satu toolsnya adalah dengan menggunakan PHPMyAdmin.

Namun dalam postingan ini, saya ingin lebih menekankan tentang bagaimana melakukan backup database MySQL dengan menggunakan tools bawaan MySQL yaitu mysqldump. Kita tidak perlu menginstall tools ini karena sudah tersedia saat kita menginstall MySQL.

Read More

Perintah MySQL berhubungan dengan Tanggal dan Waktu

Penanganan tanggal dan waktu merupakan hal yang cukup penting dalam suatu software basis data, termasuk MySQL. Bahkan MySQL memiliki lebih dari 50 fungsi khusus berhubungan dengan tanggal dan waktu. Selengkapnya dapat dilihat di dokumentasi resmi MySQL. Di tutorial ini, saya tidak akan membahas satu per satu fungsi tersebut, sebagian besar fungsi sudah saya jelaskan di buku gratis mysqlMySQL 5: Dari Pemula Hingga Mahir” yang saya publikasikan secara gratis beberapa waktu lalu. Namun dalam tutorial ini saya akan coba menyajikan beberapa contoh perintah MySQL berhubungan dengan tanggal dan waktu yang selama ini sering saya gunakan.

Semoga daftar berikut ini bermanfaat untuk kita semua.

Read More

php-spesifikasi-basis-data

Program PHP untuk Menampilkan Spesifikasi Basis Data

Spesifikasi Basis Data menggambarkan struktur data fisik pada suatu sistem atau aplikasi. Spesifikasi basis data menyajikan bagaimana penyimpanan data dilakukan di software basis data. Di dalam dokumentasi sistem, termasuk dalam laporan KKP dan skripsi, spesifikasi basis data juga perlu ditampilkan. Bentuk dari spesifikasi basis data sendiri secara umum berupa tabel yang menyajikan informasi field untuk seluruh tabel yang digunakan. Informasi field yang ditampilkan antara lain nama field, tipe field, panjang field dan field yang menjadi field kunci (primary key).

Secara sederhana, untuk membuat spesifikasi basis data, kita dapat menggunakan Microsoft Word atau Open Office Writer. Informasi tabel dan field berasal dari hasil analisis sistem berupa class diagram atau ERD (Entity Relationship Diagram). Nah dari spesifikasi basis data barulah dibuat struktur tabel di suatu DBMS seperti MySQL atau Oracle. Setelah tabel-tabel di DBMS siap, barulah program (aplikasi) dibangun.

Itu adalah proses idealnya. Dalam kenyataannya seringkali kebalik. Struktur tabel dan program dibangun terlebih dahulu, baru dokumentasinya dibuat belakangan. Kondisi ini juga banyak dilakukan oleh temen-temen kita, mahasiswa yang lagi menyusun skripsi atau KKP. Program dan aplikasi dikerjain duluan, baru laporan belakangan.

Bukannya bermaksud “meng-amini” proses pengembangan aplikasi yang kebalik tersebut, namun semoga program kecil berikut ini bisa berguna. Program berikut ini dibuat dengan PHP. Tujuannya adalah meng-generate tabel spesifikasi basis data secara otomatis dari suatu DBMS, kebetulan kita akan menggunakan MySQL.

php-spesifikasi-basis-data
Contoh tabel hasil program

Untuk menghasilkan tabel spesifikasi basis data, program berikut ini menggunakan beberapa fungsi bawaan PHP yang berhubungan dengan MySQL, yaitu:

  • mysql_connect() untuk melakukan koneksi ke database MySQL.
  • mysql_select_db() untuk membuka database yang akan digunakan.
  • mysql_query() untuk mengeksekusi (menjalankan) perintah query ke MySQL dari PHP.
  • mysql_fetch_row() untuk mengambil nilai hasil query yang dihasilkan oleh fungsi mysql_query(). Hasil query dimasukkan dalam array PHP.
  • mysql_num_fields() untuk menghasilkan jumlah field dari suatu tabel.
  • mysql_fetch_field() untuk mendapatkan informasi (metadata) dari suatu field dalam tabel.
  • mysql_field_len() untuk mendapatkan informasi panjang (length) setiap field dalam tabel.

Program

Dan berikut ini program lengkapnya.

  1. <html>
  2. <head><title>MySQL Database Spesification Creator</title>
  3. <style type="text/css">
  4. table.db-table { border-right:1px solid #ccc; border-bottom:1px solid #ccc; }
  5. table.db-table th { background:#eee; padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; }
  6. table.db-table td { padding:5px; border-left:1px solid #ccc; border-top:1px solid #ccc; }
  7. </style>
  8. </head>
  9. <body>
  10. <?php
  11. /* connect to the db */
  12. $connection = mysql_connect('localhost','user','password');
  13. mysql_select_db('nama_database',$connection);
  14.  
  15. /* show tables */
  16. $result = mysql_query('SHOW TABLES',$connection) or die('cannot show tables');
  17. while($tableName = mysql_fetch_row($result)) {
  18.  
  19. $table = $tableName[0];
  20.  
  21. echo '<h3>',$table,'</h3>';
  22. $result2 = mysql_query('SELECT * FROM '.$table.' LIMIT 1') or die('cannot select from '.$table);
  23. $i = 0;
  24. echo '<table cellpadding="0" cellspacing="0" class="db-table">';
  25. echo '<tr><th>No</th><th>Nama Field</th><th>Type</th><th>Panjang</th><th>Keterangan</th></tr>';
  26. while($i< mysql_num_fields($result2)) {
  27. $meta = mysql_fetch_field($result2, $i);
  28. $length = mysql_field_len($result2, $i);
  29. echo '<tr>';
  30. echo '<td>'.($i+1).'</td>'; //nomor
  31. echo '<td>'.(($meta->primary_key)?'<u>'.$meta->name.'</u>' : $meta->name).'</td>'; //nama field
  32. echo '<td>'.$meta->type.'</td>'; //tipe field
  33. echo '<td>'.$length.'</td>'; //panjang
  34. echo '<td>'.$meta->name.'</td>'; //keterangan
  35. echo '</tr>';
  36. $i++;
  37. }
  38. echo '</table><br />';
  39. }
  40. ?>
  41. </body>
  42. </html>

Download Program

Program PHP DB to Spesifikasi (948 bytes, 3,755 hits)

Mengenal Trigger di MySQL

Menurut Wikipedia, trigger dalam database diartikan sebagai “procedural code that is automatically executed in response to certain events on a particular table or view in a database“. Singkatnya, trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel ‘log’ sebelum menghapus data di tabel pelanggan.

Di MySQL, Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.1.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini.

Read More

MySQL 5: dari pemula hingga mahir

Buku Gratis: MySQL 5, Dari Pemula Hingga Mahir

MySQL merupakan software database open source yang paling populer di dunia, dimana saat ini digunakan lebih dari 100 juta pengguna di seluruh dunia. Dengan kehandalan, kecepatan dan kemudahan penggunaannya, MySQL menjadi pilihan utama bagi banyak pengembang software dan aplikasi baik di platform web maupun desktop. Pengguna MySQL tidak hanya sebatas pengguna perseorangan maupun perusahaan kecil, namun perusahaan seperti Yahoo!, Alcatel-Lucent, Google, Nokia, Youtube, WordPress dan Facebook juga merupakan pengguna MySQL. Cari buku gratis mysql?

MySQL pertama kali dibuat dan dikembangkan di Swedia, yaitu oleh David Axmark, Allan Larsson dan Michael “Monty” Widenius. Mereka mengembangkan MySQL sejak tahun 1980-an. Saat ini versi MySQL yang sudah stabil mencapai versi 5x, dan sedang dikembangkan versi 6x. Untuk lebih lengkapnya dapat dilihat di situs resmi MySQL .

MySQL 5: dari pemula hingga mahirBuku gratis berjudul “MySQL 5: Dari Pemula Hingga Mahir” ini mencoba membahas MySQL secara praktis, disajikan secara terstruktur dan disertai contoh-contoh dan latihan untuk membantu pemahaman. Buku ini diharapkan dapat membantu Anda menguasai MySQL hingga mahir. Buku ini sangat cocok bagi Anda yang baru mempelajari MySQL maupun bagi Anda yang ingin lebih memperdalam MySQL sebagai salah satu software database terkemuka saat ini.

Read More

Contoh Class Diagram Sistem Pembelian

Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel

Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one), 1-M (one-to-many), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan dengan pesan, pesan dengan barang, dsb.

Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, dari class diagram di bawah, kita ingin menampilkan nama pelanggan berikut transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua tabel, yaitu pelanggan dan pesan.

Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk perintah JOIN. Dalam tutorial ini, akan dijelaskan secara bertahap mengenai bagaimana menggabungkan dua tabel atau lebih, terutama untuk menampilkan data yang berasal dari beberapa tabel (query mysql untuk penggabungan tabel). Contoh-contoh dalam tutorial ini secara khusus telah dicoba di database MySQL, namun demikian secara umum perintah penggabungan tabel di semua jenis database tidak jauh berbeda alias sama.

Read More

Mengenal Tipe Tabel di MySQL

Pada postingan terdahulu, sudah pernah dibahas mengenai beberapa perintah SQL dasar di MySQL termasuk bagaimana membuat database dan tabel. Lalu bagaimana dengan tipe tabel di MySQL? Ternyata MySQL mendukung beberapa tipe tabel, tergantung konfigurasi saat proses instalasi MySQL. MySQL memiliki 3 (tiga) tipe data utama, yaitu MyISAM, InnoDB dan HEAP.

Jika kita tidak menyebutkan tipe tabel saat membuat tabel, maka tipe tabel otomatis akan dibuat sesuai konfigurasi default server MySQL. Hal ini ditentukan oleh variabel default-table-type di file konfigurasi MySQL.

Apa saja tipe tabel di MySQL? Mari kita lihat satu per satu secara singkat (dan semoga cukup jelas 😀 ).

Read More

Pengenalan Perintah Dasar SQL di MySQL

Apa itu SQL?

SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.

Terdapat 3 (dua) jenis perintah SQL, yaitu DDL, DML dan DCL.

Read More

Backup dan Restore Database dengan PHPMyAdmin

PHPMyAdmin merupakan salah satu tools administrasi database MySQL yang sangat populer saat ini. Memiliki banyak kelebihan antara lain open source, berbasis web sehingga dapat diakses dari manapun, memiliki fitur administrasi database yang lengkap serta mendukung berbagai bahasa (lebih dari 50 bahasa). Untuk menggunakan PHPMyAdmin, kita dapat meng-install-nya dengan mudah di komputer kita. Di sebagian besar penyedia hosting seperti Hostgator tempat hosting situs ini, PHPMyAdmin juga tersedia.

Nah, salah satu fitur PHPMyAdmin yang sangat berguna dalam mengatur database MySQL adalah fasilitas Backup dan Restore. Proses backup merupakan proses mengeluarkan dan menyimpan seluruh atau sebagian object dalam database. Sedangkan proses restore merupakan proses dimana memasukkan kembali file yang sudah dibackup ke sistem dalam database. Istilah lain dari backup adalah export atau dump, sedangkan restore sama artinya dengan import.

Read More

Buku Gratis: Pemrograman Web dengan PHP dan MySQL

cover-jadiInternet merupakan salah satu fenomena paling berpengaruh dalam beberapa dekade terakhir ini, baik bagi perkembangan teknologi itu sendiri maupun bagi perkembangan disiplin ilmu lain, seperti ekonomi, politik, sosial dan budaya. Perkembangan internet juga berpengaruh langsung terhadap perkembangan situs web. Di awal kemunculannya, internet maupun situs web belum begitu populer karena layanannya yang masih terbatas. Namun lihatlah saat ini, situs web sudah demikian populer dan layanannya pun beragam, mulai dari situs berita seperti Detik dan Okezone, situs penyedia email seperti Yahoo dan Gmail, sampai situs pertemanan (social networking) seperti Friendster dan Facebook.

Dalam kaitannya dengan situs web dan layanan di dalamnya tidak lepas dari teknologi di baliknya, yaitu pemrograman web, desain web dan database. Salah satu bahasa pemrograman yang banyak digunakan untuk membangun suatu situs web adalah PHP (http://www.php.net). Penggunaannya saat ini bahkan sudah mencapai 25 juta situs web. Sedangkan dari sisi database, penggunaan MySQL (http://www.mysql.com) masih juga mendominasi dalam aplikasi berbasis web.

Read More