Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara logik merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom(column atau field). Sedangkan dalam sebuah database dapat terdiri dari beberapa table.
Beberapa tipe data dalam MySQL yang sering dipakai:
| Tipe data | Keterangan |
|-------------------|-----------------------------------------------------------------------------------------------------------|
| INT(M) [UNSIGNED] | Angka -2147483648 s/d 2147483647 |
| FLOAT(M,D) | Angka pecahan |
| DATE | Tanggal Format : YYYY-MM-DD |
| DATETIME | Tanggal dan Waktu Format : YYYY-MM-DD HH:MM:SS |
| CHAR(M) | String dengan panjang tetap sesuai dengan yang ditentukan. Panjangnya 1-255 karakter |
| VARCHAR(M) | String dengan panjang yang berubah-ubah sesuai dengan yang disimpan saat itu. Panjangnya 1 – 255 karakter |
| BLOB | Teks dengan panjang maksimum 65535 karakter |
| LONGBLOB | Teks dengan panjang maksimum 4294967295 karakter |
MEMBUAT DATABASE DAN TABLE
Untuk masuk ke dalam program MySQL pada prompt jalankan perintah berikut ini:
C:\> MYSQL (Enter)
Kemudian akan masuk kedalam MySQL seperti tampilan dibawah ini:

Bentuk prompt mysql>
adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakhiri dengan tanda titik-koma ;
.
Cara untuk membuat sebuah database baru adalah dengan perintah:
create database namadatabase;
Contoh:
create database privatdb;
Untuk membuka sebuah database dapat menggunakan perintah berikut ini:
use namadatabase;
Contoh:
use privatdb;
Perintah untuk membuat tabel baru adalah:
create table namatabel
(
struktur
);
Contoh:
Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama, email, alamat, kota. Sedangkan strukturnya seperti tabel dibawah ini:
| Kolom/Field | Tipe data | Keterangan |
|-------------|-----------------------------|--------------------------------------------------------------------------|
| nomor | int(6) not null primary key | angka dengan panjang maksimal 6, sebagai primary key, tidak boleh kosong |
| nama | char(40) not null | teks dengan panjang maksimal 40 karakter, tidak boleh kosong |
| email | char(255) not null | teks dengan panjang maksimal 255 karakter, tidak boleh kosong |
| alamat | char(80) not null | teks dengan panjang maksimal 80 karakter, tidak boleh kosong |
| kota | char(20) not null | teks dengan panjang maksimal 20 karakter, tidak boleh kosong |
Perintah MySQL untuk membuat tabel seperti diatas adalah:
create table anggota( nomor int(6) not null primary key, nama char(40) not null, email char(255) not null, alamat char(80) not null, kota char(20) not null
);
Sedangkan data yang akan diisikan dalam tabel anggota adalah sebagai berikut:
| Nomor | Nama | E-Mail | Alamat | Kota |
|-------|-----------------|------------------------|---------------------------|-----------|
| 1 | Arini Nurillahi | arini@hotmail.com | Jl. Lebak Rejo 7 | Surabaya |
| 2 | Renny Herlina | rennyherlina@yahoo.com | Jl. Hayam Wuruk 81 | Bau Bau |
| 3 | Anon Kuncoro | anonkuncoro@yahoo.com | Jl. Candi Permata II/182 | Semarang |
| 4 | Bayu | bayu@astaga.com | Jl. Pemuda 19 | Surabaya |
| 5 | Riza | riza@themail.com | Jl. Karang Menjangan 5 | Surabaya |
| 6 | Paul | paul@rocketmail.com | Jl. Metojoyo A-10 | Malang |
| 7 | Anita | anita@netscape.net | Jl. Teuku Umar 45 | Malang |
| 8 | Yusuf | yusuf@hotmail.com | Jl. Rajawali 78 | Mojokerto |
| 9 | Ali | ali77@astaga.com | Jl. Hasanuddin 3 | Mojokerto |
| 10 | Aji | ajisaka77@yahoo.com | Jl. Kalilom Lor Kelinci 9 | Surabaya |
| 11 | Latief | latif@mail.com | Jl. Merak 171 | Surabaya |
| 12 | Supri | supri@themail.com | Jl. Sudirman 12 | Malang |
Untuk memasukkan sebuah baris (record) kedalam tabel MySQL adalah sebagai berikut:
insert into namatabel values(kolom1, kolom2, kolom3,...);
Contoh:
insert into anggota values('1','Arini Nurillahi','arini@hotmail.com','Jl.Lebak Rejo
7','Surabaya');
MENAMPILKAN ISI TABLE
Isi tabel dapat ditampilkan dengan menggunakan perintah SELECT, cara penulisan perintah SELECT adalah:
select kolom from namatable;

Contoh:
- Untuk menampilkan kolom (field) nomor dan nama pada tabel anggota
select nomor, nama from anggota;
- Untuk menampilkan semua kolom(field) pada tabel anggota
select * from anggota;
- Untuk menampilkan semua kolom pada tabel anggota yang berada pada kota 'Surabaya'
select * from anggota where kota='Surabaya';
- Untuk menampilkan semua kolom pada tabel anggota dengan urut nama
select * from anggota order by nama;
- Untuk menghitung jumlah record pada tabel anggota select
count(*) from anggota;
- Untuk menampilkan kota pada tabel anggota
select kota from anggota;
- Untuk menampilkan kota dengan tidak menampikan kota yang sama pada tabel anggota
select distinct kota from anggota;
- Untuk menampilkan nama dan email yang mempunyai email di 'yahoo.com'
select nama,email from anggota where email like '%yahoo.com';
MENGHAPUS RECORD
Untuk menghapus suatu record dengan kriteria tertentu digunakan perintah sebagai berikut:
delete from namatabel where kriteria;
Contoh: Menghapus record dari tabel anggota yang bernomor '3' delete from anggota where nomor='3';
MEMODIFIKASI RECORD
Untuk memodifikasi (merubah) isi record tertentu adalah dengan menggunakan perintah sebagai berikut:
update namatabel set kolom1=nilaibaru1, kolom2=nilaibaru2 ... where kriteria;
Contoh: Merubah e-mail dari anggota yang bernomor 12 menjadi 'supri@yahoo.com' dalam tabel anggota.
update anggota set email='supri@yahoo.com' where nomor='12';
MENGHUBUNGKAN PHP DENGAN MySQL
Agar script PHP yang kita buat dapat berhubungan dengan database dari MySQL dapat menggunakan fungsi berikut ini:
File utama.php:
<?php
function open_connection()
{
$host=”localhost”;
$username=”root”;
$password=””;
$databasename=”privatdb”;
$link=mysql_connect($host,$username,$password) or die ("Database tidak dapat dihubungkan!");
mysql_select_db($databasename,$link); return $link;
}
?>
Isi dari variabel $host, $username, $password dan $databasename dapat disesuaikan sesuai dengan setting pada MySQL server yang ada.
Contoh: Menampilkan data anggota yang telah dibuat dengan menggunakan script PHP.
File contoh13.php:
<?php
// ----- ambil isi dari file utama.php require("utama.php");
// ----- hubungkan ke database
$link=open_connection();
// ----- menentukan nama tabel
$tablename="anggota";
// ----- perintah SQL dimasukkan ke dalam variable string
$sqlstr="select * from $tablename";
// ------ jalankan perintah SQL
$result = mysql_query ($sqlstr) or die ("Kesalahan pada perintah SQL!");
// ------ putus hubungan dengan database mysql_close($link);
// ------ buat tampilan tabel
echo("<table width=100% cellspacing=1 cellpadding=2 bgcolor=#000000>"); echo("<tr><td bgcolor=#CCCCCC>No</td><td bgcolor=#CCCCCC>Nama</td><td bgcolor=#CCCCCC>E-Mail</td><td bgcolor=#CCCCCC>Alamat</td><td bgcolor=#CCCCCC>Kota</td></tr>");
// ------ ambil isi masing-masing record while ($row = mysql_fetch_object ($result))
{
// ----- mengambil isi setiap kolom
$nomor=$row->nomor;
$nama=$row->nama;
$email=$row->email;
$alamat=$row->alamat;
$kota=$row->kota;
// ------ menampilkan di layar browser
echo("<tr><td bgcolor=#FFFFFF>$nomor</td><td bgcolor=#FFFFFF>$nama</td><td bgcolor=#FFFFFF>$email</td><td bgcolor=#FFFFFF>$alamat</td><td bgcolor=#FFFFFF>$kota</td></tr>");
}
echo("</table>");
?>
