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