MySQL & PHPMyAdmin
Tujuan:
- Mahasiswa mampu mengadministrasi basisdata MySQL
- Mahasiswa mampu mengkoneksikan basisdata MySQL dengan PHP
Landasan
Teori
MySQL adalah multi
user database yang menggunakan bahasa Structured
Query Language (SQL). MySQL dalam operasi client-server melibatkan server
daemon MySQL disisi server dan
berbagai macam program serta library
yang berjalan disisi client. MySQL
mampu untuk menangani data yang cukup besar. Perusahaan yang mengembangkan
MySQL yaitu TcX, mengaku mampu menyimpan data lebih dari 40 database, 10.000 tabel dan sekitar 7
juta baris, totalnya kurang lebih 100 Gigabytes
data. Informasi selengkapnya tentang MySQL dapat dilihat di www.mysql.com.
SQL adalah bahasa standar yang digunakan untuk
mengakses server database. Bahasa ini
pada awalnya dikembangkan oleh IBM, namun telah diadopsi dan digunakan sebagai
standar industri. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan
menggunakan dBASE atau Clipper yang masih menggunakan perintah-perintah
pemrograman.
Database, tabel, baris, dan kolom
Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam
tabel-tabel yang secara logik merupakan struktur dua dimensi yang terdiri atas
baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel
sering disebut sebagai instance dari
data, sedangkan kolom sering disebut sebagai attributes atau field.
Keseluruhan tabel itu dihimpun dalam satu kesatuan yang disebut database.
Tipe Data pada MySQL
Berikut ini tabel tipe data yang dapat digunakan untuk field-field
tabel pada database MySQL.
Tabel Tipe Data pada
MySQL
Tipe Data
|
Keterangan |
Ukuran |
TINYINT[(M)]
[UNSIGNED] [ZEROFILL]
|
Integer
yang sangat kecil.
Signed
range –128 – 127
Unsigned
range 0 –255.
|
1
|
SMALLINT[(M)]
[UNSIGNED] [ZEROFILL]
|
Integer
yang kecil.
Signed
range –32768 – 32767
Unsigned
range 0 –65535.
|
2
|
MEDIUMINT[(M)]
[UNSIGNED] [ZEROFILL]
|
Integer
dengan ukuran sedang.
Signed
range –8388608 –8388607
Unsigned
range 0 – 16777215.
|
3
|
INT[(M)]
[UNSIGNED] [ZEROFILL]
|
Data
numeris yang tidak memiliki komponen desimal atau disebut juga bilangan
bulat. Signed range –2147483648 – 2147483647
Unsigned
range 0 – 4294967295.
|
4
|
BIGINT[(M)]
[UNSIGNED] [ZEROFILL]
|
Integer
dengan ukuran yang besar.
Signed
range –9223372036854775808 – 9223372036854775807
Unsigned
range 0 – 18446744073709551615.
|
8
|
FLOAT(Precision)
|
Bilangan
pecahan. FLOAT (4) adalah single precision dan FLOAT (8) adalah double
precision (lihat juga DOUBLE).
Range
–3.402823466E+38F – -1.175494351E-38, 0,
-1.175494351E-38
– 3.402823466E+38F.
|
4
|
FLOAT[(M,D)]
|
Bilangan
floating point/pecahan kecil. Tidak boleh unsigned.
Range
–3.402823466E+38F – -1.175494351E-38, 0,
-1.175494351E-38
– 3.402823466E+38F.
|
4
|
DOUBLE
PRECISION[[M,D]]
|
Bilangan
floating point/pecahan normal atau bilangan real.Tidak boleh unsigned
|
8
|
REAL[(M,D)]
DECIMAL[(M,D)]
|
Sama
seperti DOUBLE. Tidak boleh unsigned. Range sama seperti DOUBLE. Berkelakuan
seperti CHAR.
|
8
M+D
|
NUMERIC[(M,D)]
|
Sama
seperti DECIMAL.
|
M+D
|
TIMESTAMP[(M)]
|
Timestamp/tanda
waktu otomatis. Berisi waktu pada saat tabel diakses, dalam UNIX time.
|
4
|
DATE
|
Untuk
menyimpan informasi tanggal.
Format
: ‘YY-MM-DD’, ‘YYYY-MM-DD’, dan ‘YYMMDD’.
Range
0000-00-00 to 9999-12-31.
|
4
|
TIME
|
Untuk
menyimpan informasi waktu.
Format
: ‘HH:MM:SS, ‘HHMMSS’, ‘HHMM’, ‘HH’
|
3
|
DATETIME
|
Untuk
menyimpan informasi tanggal dan waktu.
Format
: “YYYY-MM-DD HH:MM:SS”.
Range
‘0000-01-01 00:00:00’ – ‘9999-12-31 23:59:59’.
|
8
|
YEAR
|
Informasi
tahun.
|
1
|
CHAR(M)[binary]
|
String
dengan panjang tetap, selalu tersimpan sesuai dengan panjang yang ditentukan.
Range 1 – 255 karakter. Seluruh space akhiran dibuang saat di-retriev.
Di-sortir dan dibandingkan secara case insentive kecuali jika diberikan
binary keyword.
|
M
|
VARCHAR(M)
[binary]
|
String
dengan panjang variable, tersimpan sesuai dengan panjangnya saat itu. Range 1
– 255 karakter. Seluruh space akhiran dibuang saat di-retriev. Di-sortir dan
dibandingkan secara case insentive kecuali jika diberikan binary keyword
|
L+1
|
TINYBLOB
TINYTEXT
|
Teks
dengan ukuran yang pendek.
Dengan
panjang maksimum 255 karakter
|
L+1
|
BLOB
TEXT
|
Deretan
karakter yang panjang. Biasa dipakai sebagai pengganti format data text
karena keterbatasan ukuran format text. Dengan panjang maksimum 65535
karakter
|
L+2
|
MEDIUMBLOB
MEDIUMTEXT
|
Teks
dengan ukuran yang sedang. Dengan panjang maksimum 16777216 karakter
|
L+3
|
LONGBLOB
LONGTEXT
|
Teks
dengan ukuran yang panjang.
Dengan
panjang maksimum 4294967295 karakter
|
L+4
|
ENUM
|
Objek
string yang hanya boleh mempunyai satu nilai dari nilai yang dimungkinkan
(atau NULL).
|
1 / 2
|
SET
|
Objek
string yang dapat mempunyai lebih dari satu nilai dari nilai yang
dimungkinkan (atau NULL).
|
1 - 8
|
Mengoneksikan User dengan Server
Untuk mengoneksikan user dengan server, kita dapat melakukan
dengan menggunakan aplikasi telnet. Cara penggunaannya menngunakan apliksi
DOS-Command:
C:> telnet 172.21.206.2
atau
c:> telnet www2.ti.usd
Jika sukses maka kita akan terhubung dengan server dan harus
memberikan nama user
Red
Hat Linux release 8.0 (Psyche)
Kernel
2.4.18-14 on an i686
login:
Gunakan username seperti saat anda mengkases ftp://www2.ti.usd.
Menjalankan MySQL
Sebelum
kita dapat menjalankan MySQL terlebih dahulu kita pastikan apakah daemon MySQL sudah di-start apa belum. Untuk menjalankan MySQL
gunakan perintah berikut:
# MYSQL -U user -P
# password :
user disini adalah nama user kita pada MySQL, setelah di-enter maka kita diminta untuk memasukan password-nya. Jika berhasil maka akan
tampil promt mysql
Welcome to the MySQL monitor. Command end with
; or \g.
Your MySQL connection id is 403 to server
version 3.22.10-beta
Type ‘help’ for help.
mysql>
Catatan:
Anda telah dibuatkan user MySQL, hubungi administrator basis data MySQL. Anda juga sudah dibuatkan database sendiri sendiri.
Anda telah dibuatkan user MySQL, hubungi administrator basis data MySQL. Anda juga sudah dibuatkan database sendiri sendiri.
Membuat Database
Untuk
membuat database gunakan perintah berikut ini :
mysql>CREATE DATABASE nama_database;
Membuka Database
Untuk
membuka suatu database gunakan perintah berikut ini :
mysql>USE nama_database
Membuat Tabel
Setelah
database terbuat dan kita telah membukanya, kita seharusnya membuat tabel yang
akan menyimpan data yang kita butuhkan. Setiap perintah SQL pada MySQL harus
diakhiri dengan titik koma (;). Pada promt
mysql ketikkan perintah berikut untuk membuat tabel.
mysql>CREATE TABLE nama_tabel
mysql>(
mysql>nama_field1 tipe_data1,
mysql>nama_field2 tipe_data2,
.
. .
mysql>);
Insert Query
Untuk
mengisi data pada suatu tabel, kita gunakan perintah INSERT. Sintaks
penulisannya adalah sebagai berikut :
mysql>INSERT INTO nama_tabel (field1,
field2, ... ) VALUES (nilai_field1,
nilai_field2, ...
);
Select Query
Perintah
ini digunakan untuk melihat data dari satu atau beberapa tabel. Sintaks
penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM
nama_tabel;
Untuk
melihat semua kolom/field pada suatu tabel, sintaks penulisannya adalah sebagai
berikut :
mysql>SELECT * FROM nama_tabel;
Menyaring Hasil Select Query dengan WHERE
Kita
dapat membatasi hasil select query
dengan keyword WHERE sehingga record-record yang dikeluarkan hanyalah record
yang sesuai dengan kriteria yang diinginkan. Sintaks penulisannya adalah sebagi
berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM
nama_tabel WHERE kriteria;
Operator yang digunakan
dalam kriteria WHERE
Operator
Equality dan Inequality
Operator
|
Keterangan
|
=
|
Operan kiri sama dengan operan kanan
|
<> atau !=
|
Operan kiri tidak sama dengan operan kanan
|
>
|
Operan kiri lebih besar dari operan kanan
|
>=
|
Operan kiri lebih besar atau sama dengan dari operan
kanan
|
<
|
Operan kiri lebih kecil dari operan kanan
|
<=
|
Operan kiri lebih kecil atau sama dengan dari operan
kanan
|
Operator
Logic
Operator
|
Keterangan
|
And
|
Operator logika ‘dan’
|
Or
|
Operator logika ‘atau’
|
Mensortir Data
Hasil
query dapat disortir sesuai dengan kebutuhan dengan keyword ORDER BY. Sintaks
penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM
nama_tabel ORDER BY kriteria;
Untuk
mensortir dengan urutan terbalik, gunakan keyword tambahan DESC. Sintaks
penulisannya adalah sebagai berikut :
mysql>SELECT (fieldx, fieldx, ... ) FROM
nama_tabel ORDER BY kriteria DESC;
Delete Query
Berfungsi
untuk menghapus suatu record dengan kriteria tertentu. Sintaks penulisannya
adalah sebagai berikut :
mysql>DELETE FROM nama_tabel WHERE
kriteria;
Untuk
menghapus seluruh record pada suatu tabel, gunakan perintah DELETE tanpa
menentukan kriterianya.
mysql>DELETE FROM nama_tabel WHERE
kriteria;
Update Query
Berfungsi
untuk memodifikasi nilai kolom/field dari suatu record. Sintaks penulisannya
adalah sebagai berikut :
mysql>UPDATE nama_tabel SET
nama_field1=nilai_baru1, nama_field2=nilai_baru2,
... WHERE kriteria;
Untuk
memodifikasi nilai suatu kolom/field secara keseluruhan gunakan perintah UPDATE
tanpa menentukan kriterianya.
mysql> UPDATE nama_tabel SET
nama_field1=nilai_baru1, ...;
PHPMyAdmin
Aplikasi
ini berguna untuk mengadministrasi basisdata MySQL berbasis web. Cara
penggunaanya, sbb:
1.
Jalankan
internet ekplorer. Panggil http://www2.ti.usd/~MyAdmin.
2.
Berikan
username dan password sebagai user MySQL.
3.
Tambahkan
tabel baru. Gunakan fungsi-fungsi yang ada pada menu.
KONEKSI PHP DENGAN MySQL
Pada bagian ini akan dibahas tentang langkah-langkah
yang diperlukan untuk melakukan akses ke basis data MySQL. Tapi sebagai
catatan, PHP harus memiliki ekstensi koneksi ke basis data MySQL agar dapat
menggunakan fungsi-fungsi koneksi ke basis data MySQL.
Membuka koneksi ke basis data MySQL
Sebelum
mampu mengakses basis data server,
terlebih dahulu kita harus membuka koneksi ke basis data. Untuk koneksi ke
MySQL server, digunakan perintah :
<?
$hostname = "localhost";
$username = "";
$password = "";
if
(!$mysql_link = mysql_connect($hostname, $username, $password))
{
echo
mysql_error();
exit;
}
?>
Setelah
itu variabel $mysql_link akan berisi referensi yang akan digunakan untuk proses
akses basis data selanjutnya.
Query ke basis data MySQL
Setelah
koneksi sukses dilakukan, sekarang tinggal melakkukan query ke basis data untuk membaca data, menyisipkan, memperbaharui,
dan sebagainya pada satu atau beberapa tabel dengan menggunakan bahasa SQL.
Gunakan perintah berikut untuk mengirimkan query
(yang dalam contoh ini disimpan dalam variabel $myquery) ke server :
<?
$database=”test”;
If(!mysql_select_db($database, $mysql_link))
{
echo
mysql_error();
exit;
}
$myquery = "SELECT * FROM nama_tabel";
if
(!$mysql_result = mysql_query($myquery, $mysql_link))
{
echo
mysql_error();
exit;
}
?>
Setelah
proses diatas sukses, variabel $mysql_result
akan berisi identifier ke hasil query
yang siap digunakan oleh fungsi selanjutnya, misalnya mysql_fetch_row(), mysql_fetch_array(),
dan sebagainya.
Menampilkan isi Tabel
Setelah
melakukan query, perlu dilakukan
proses untuk menampilkan hasil query.
Sebagai contoh gunakan perintah dibawah ini untuk menampilkan dalam bentuk
format tabel HTML. Misalkan hasil query
yang dilakukan memiliki tiga buah field.
<table>
<tr>
<td>field 1
<td>field 2
<td>field 3
<?
while ($row = mysql_fetch_row($mysql_result))
(
echo “<tr>”;
echo “<td>$row[0]”;
echo “<td>$row[1]”;
echo “<td>$row[2]”;
}
?>
<table>
Menambah record ke basis data MySQL
Untuk
menyisipkan record ke suatu tabel,
gunakan perintah berikut ini:
<?
$myquery = "INSERT INTO
nama_tabel(field1, field2, field3)";
$myquery .= "VALUES ($field1, $field2, $field3)";
if
(!$mysql_result = mysql_query($myquery, $mysql_link))
{
echo
mysql_error();
exit;
}
?>
Pada
contoh diatas kita menyisipkan record
ke tabel nama_tabel field1, field2 dan field3 dengan nilai variabel $field1,
$field2 dan $field3. Biasanya variabel ini adalah variabel eksternal, misalnya
dari form HTML.
Menghapus record ke basis data MySQL
Untuk
menghapus record ke suatu tabel,
gunakan perintah berikut ini:
<?
$myquery = "DELETE FROM nama_tabel";
$myquery .= "WHERE kriteria";
if
(!$mysql_result = mysql_query($myquery, $mysql_link))
{
echo
mysql_error();
exit;
}
?>
Pada
contoh diatas kita akan menghapus record
dari tabel nama_tabel dengan kriteria dijabarkan dalam variabel kriteria. Biasanya variabel ini adalah
variabel eksternal, misalnya dari form
HTML.
Mengubah record ke basis data MySQL
Untuk
menyisipkan record ke suatu tabel,
gunakan perintah berikut ini:
<?
$myquery = " UPDATE nama_tabel SET field1=$field1, ";
$myquery .= " field2=$field2,
field3=$field3";
$myquery .= " WHERE kriteria";
if
(!$mysql_result = mysql_query($myquery, $mysql_link))
{
echo
mysql_error();
exit;
}
?>
Pada
contoh diatas kita akan mengubah record
ke tabel nama_tabel field1, field2 dan field3 dengan nilai variabel $field1,
$field2 dan $field3 dan kriteria dijabarkan dalam variabel kriteria. Biasanya variabel ini adalah variabel eksternal, misalnya
dari form HTML.
Tidak ada komentar:
Posting Komentar