Apakah MySQL itu?
MySQL itu terkenal dengan open-source.
MySQL itu sebuah Database.
Data di MySQL ditempatkan di database yang disebut tabel.
Sebuah tabel dapat berelasi dengan entitas lainya, dan didalam tabel terdapat kolom dan baris.
Database sangat bermanfaat ketika ingin menyimpan data-data, sebagai contoh sebuah perusahan mempunyai database yang ingin menyimpan data: “Employees”, “Product”, “Customers”, dan “Orders”. Sehingga untuk mengelolanya tidaklah sulit dibandingkan dengan penyimpanana data secara manual, maksudnya secara manual adalah setiap terjadi proses yang berkaitan dengan data dicatat dengan tangan, disimpan secara bertumpuk, dll. Yang menjadi masalah adalah keakuratanya, kecepatan, kesalahan, kehilangan, dll. Dengan adanya database ini semua permasalahan tersebut dapat di minimalisasikan.
Tabel Database
Sebuah database pasti terdapat satu atau lebih tabel, untuk membedakan antar tabel adalah dengan nama tabel tersebut. Berikut contoh tabel “Persons”:
LastName | FirstName | Address | City |
Hansen | Ola | Timoteivn 10 | Sandnes |
Svendson | Tove | Borgvn 23 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
Tabel di atas terdapat tiga baris data, dana empat kolom(LastName, FirstName, Address, dan City).
Queries
Kalau diterjemahkan artinya sebuah pertanyaan atau sebuah permohonan. Jangan bingung ya kita lihat aja contoh kasusnya.
Dengan MySQL kita dapat melakukan query ke database untuk memperoleh informasi yang kita inginkan. Berikut contoh query:
SELECT LastName FROM Persons |
Query diatas yang berfungsi untuk melakukan select terhadapa data di kolom “LastName” pada tabel “Persons”. Hasilnya seperti berikut:
LastName |
Hansen |
Svendson |
Pettersen |
Download MySQL database
MySQL dapat kita download secara bebas di http://www.mysql.com/downloads/index.html
Satu hal yang saya suka dari MySQL adalah open-source, bukan berarti karena bersifat free kalah dengan database yang ber profit. Aku anjungkan jempol untuk MySQL, berharap untuk maju terus dan open-source. |
PHP MySQL Connect Database
Sebelum kita mengakses data pada database, harus melakukan koneksi terlebih dahulu ke database tersebut. Pada PHP kita bisa menggunakan fungsi mysql_connect, berikut sintaknya:
mysql_connect(servername,username,password); |
Penjelasan:
Parameter | Description |
servername | Nama server kita, secara default “localhost:3306” |
username | User name untuk login ke database, secara default “root” |
password | Password untuk login ke database, secara default kosong “” |
Berikut contoh dimana kita meletakan koneksi ke database dan menampungnya ke variabel($con), dan “die” jika koneksi gagal:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } // some code ?> |
Menutup koneksi
Koneksi akan otomatis di tutup ketika selesai mengakses data dari database. Kejadian seperti ini sering kita lupakan, yang penting sudah koneksi dan gak terpikir tidak menutupnya. Menyebabkan pembebanan terhadap database sangat banyak, padahal kita tidak melakukan koneksi maupun pengaksesan data. Hal ini sangat penting untuk diingat saat mengakses database. Pada PHP kita bisa menggunakan fungsi mysql_close() untuk menutup koneski, berikut contohnya:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } // some code mysql_close($con); ?> |
PHP MySQL Create Database dan Table
Didalam sebuah database terdapat satu atau lebih tabel.
Membuat database
Statement CREATE DATABASE digunakan untuk membuat sebuah database pada MySQL, berikut sintaknya:
CREATE DATABASE database_name |
Agar PHP bisa mengeksekusi statement diatas, kita dapat menggunakan fungsi mysql_query. Fungsi ini dipakai untuk mengirim sebuah query ke MySQL.
Berikut contoh pembuatan database yang diberi nama “my_db”:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } if (mysql_query(“CREATE DATABASE my_db”,$con)) { echo “Database created”; } else { echo “Error creating database: ” . mysql_error(); } mysql_close($con); ?> |
Membuat Tabel
Statement CREATE TABEL digunakan untuk membuat sebuah tabel di MySQL, statement ini dilakukan setelah membuat databasenya. Jangan lupa dengan fungsi mysql_query untuk mengeksekusi statement yang kita buat.
Berikut adalah contoh pembuatan tabel “Persons” dengan tiga kolom, diantaranya “FirstName”, “LastName”, dan “Age”:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } // Create database if (mysql_query(“CREATE DATABASE my_db”,$con)) { echo “Database created”; } else { echo “Error creating database: ” . mysql_error(); } // Create table mysql_select_db(“my_db”, $con); $sql = “CREATE TABLE Persons ( FirstName varchar(15), LastName varchar(15), Age int )”; // Execute query mysql_query($sql,$con); mysql_close($con); ?> |
Penting: sebuah database harus di pilih sebelum membuat tabel, dan kita dapat menggunakan fungsi berikut mysql_select_db().
Catatan: ketika kita membuat field dengan tipe varchar, harus spesifik panjang maksimum dari field tersebut. e.g. varchar(15).
Untuk refrensi type data yang terdapat pada MySQL dapat dilihat di Data Types reference.
PHP MySQL Insert Into
Statement INSERT INTO digunakan untuk menginput records baru pada sebuah tabel.
Ditutorail atas kita sudah membuat tabel “Persons” dengan tiga kolom yaitu “FirstName”, “LastName”, dan “Age”. Kita akan menggunakn tabel tersebut untu contoh dibawah ini. Memasukan dua records ke tabel “Persons”:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); mysql_query(“INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘Peter’, ‘Griffin’, ’35′)”); mysql_query(“INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘Glenn’, ‘Quagmire’, ’33′)”); mysql_close($con); ?> |
Insert Data dari Form ke Database
Sekarang kita membuat form HTML nya untuk menambah record ke tabel “Persons”.
Form HTML:
<html> <body> <form action=”insert.php” method=”post”> Firstname: <input /> Lastname: <input /> Age: <input /> <input /> </form> </body> </html> |
Ketika seorang user mengklik button submit pada contoh diatas, maka data tersebut dikirim ke “insert.php”.
Halaman “insert.php”:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); $sql=”INSERT INTO Persons (FirstName, LastName, Age) VALUES (‘$_POST[firstname]‘,’$_POST[lastname]‘,’$_POST[age]‘)”; if (!mysql_query($sql,$con)) { die(‘Error: ‘ . mysql_error()); } echo “1 record added”; mysql_close($con) ?> |
PHP MySQL Select
Berikut contoh melakukan selects terhadap semua data pada tabel “Persons”(karakter * digunakan untuk menampilkan semua data pada sebuah tabel)
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); $result = mysql_query(“SELECT * FROM Persons”); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . ” ” . $row['LastName']; echo “<br />”; } mysql_close($con); ?> |
Pada contoh diatas untuk hasil mysql_query ditampung pada variabel $result.
Selanjutnya, kita menggunakan fungsi mysql_fetch_array() untuk menghasilkan baris pertama seperti sebuah array. Setiap pemanggilan mysql_fetch_array() akan menghasilkan baris berikutnya, dengan itu kita menggunakn loops(for, atau while). Untuk menampilkan data setiap baris, dengan cara variabel $row ($row[‘FirstName’] dan $row[‘LastName’]).
Hasil dari kode di atas seperti berikut:
Peter Griffin Glenn Quagmire |
Menampilkan hasil ke HTML
Kita akan menampilkan data tersebut ke dalam HTML, berikut contohnya:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); $result = mysql_query(“SELECT * FROM Persons”); echo “<table border=’1′> <tr> <th>Firstname</th> <th>Lastname</th> </tr>”; while($row = mysql_fetch_array($result)) { echo “<tr>”; echo “<td>” . $row['FirstName'] . “</td>”; echo “<td>” . $row['LastName'] . “</td>”; echo “</tr>”; } echo “</table>”; mysql_close($con); ?> |
Hasilnya seperti berikut:
Firstname | Lastname |
Glenn | Quagmire |
Peter | Griffin |
PHP MySQL Clause Where
Membatasi baris yang ingin ditampilkan, maupun suatu syarat yang perlu dipenuhi untuk spesifik kriteria. Berikut sintaknya:
SELECT column_name(s) FROM table_name WHERE column_name operator value |
Contoh berikut menyeleksi semua baris dari tabel “Persons” dimana “FirstName = ‘Peter’”:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); $result = mysql_query(“SELECT * FROM Persons WHERE FirstName=’Peter’”); while($row = mysql_fetch_array($result)) { echo $row['FirstName'] . ” ” . $row['LastName']; echo “<br />”; } ?> |
Hasil dari kode diatas seperti berikut:
Peter Griffin |
PHP MySQL Order By Keyword
- Order By digunakan untuk mengurutkan data
- Order By secara default ascending, yaitu diurutkan dari kecil ke besar
- Order By dapat descending, yaitu diurutkan dari besar ke kecil. Kebalikan dari asc
Berikut sintaknya:
SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC |
Contoh berikut melakukan select terhadap semua data pada tabel “Persons” dan diurutkan berdasarkan “Age” yaitu berdasarkan umur dari kecil ke besar:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); $result = mysql_query(“SELECT * FROM Persons ORDER BY age”); while($row = mysql_fetch_array($result)) { echo $row['FirstName']; echo ” ” . $row['LastName']; echo ” ” . $row['Age']; echo “<br />”; } mysql_close($con); ?> |
Output dari kode diatas:
Glenn Quagmire 33 Peter Griffin 35 |
PHP MySQL Update
Digunakan untuk memodifikasi/mengubah data pada sebuah tabel, berikut sintaknya:
UPDATE table_name SET column1=value, column2=value2,… WHERE some_column=some_value |
Catatan: jangan lupa pake kondisi WHERE, gunanya untuk mengubah data yang mana akan di modifikasi, kalau tidak pake kondisi where maka semua data yang ada pada tabel akan ikut berubah, hal ini perlu diingat dan berhati-hati.
Berikut contoh sintak UPDATE dengan PHP dan MySQL, pertama kita lihat ada tabel “Persons” yang datanya belum dimodifikasi.
Tabel “Persons”:
FirstName | LastName | Age |
Peter | Griffin | 35 |
Glenn | Quagmire | 33 |
Selanjutnya kita lihat sintak update berikut:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); mysql_query(“UPDATE Persons SET Age = ’36′ WHERE FirstName = ‘Peter’ AND LastName = ‘Griffin’”); mysql_close($con); ?> |
Setelah melakukan update terhadap tabel “Persons” maka data tabel seperti berikut:
FirstName | LastName | Age |
Peter | Griffin | 36 |
Glenn | Quagmire | 33 |
PHP MySQL Delete
Digunakan untuk menghapus record pada tabel, berikut sintaknya:
DELETE FROM table_name WHERE some_column = some_value |
Catatan: jangan lupa pake kondisi WHERE, gunanya untuk menghapus data yang mana akan di hapus, kalau tidak pake kondisi where maka semua data yang ada pada tabel akan ikut terhapus, hal ini perlu diingat dan berhati-hati lah. J
Berikut contoh Delete pada PHP dan MySQL, dimana terdapat tabel “Persons” sebelum isi record di hapus.
Tabel “Persons”:
FirstName | LastName | Age |
Peter | Griffin | 35 |
Glenn | Quagmire | 33 |
Berikut kita ingin menghapus baris dimana LastName=’Griffin’ pada tabel “Persons”:
<?php $con = mysql_connect(“localhost”,”peter”,”abc123″); if (!$con) { die(‘Could not connect: ‘ . mysql_error()); } mysql_select_db(“my_db”, $con); mysql_query(“DELETE FROM Persons WHERE LastName=’Griffin’”); mysql_close($con); ?> |
Setelah proses delete, maka data tabel “Persons” seperti berikut:
FirstName | LastName | Age |
Glenn | Quagmire | 33 |
Source : http://agieos.blogspot.com/p/php-mysql.html