MODUL I
DATA DEFINITION LANGUAGE (DDL)
DATABASE & TABEL
A. Tujuan Praktikum
Mahasiswa memahami sintaks perintah pada MySQL untuk membuat,
mengubah dan menghapus database dan tabel.
B. Indikator
Mahasiswa mampu membuat, mengubah dan menghapus dabatase dan
tabel pada MySQL menggunakan perintah yang telah dipelajari.
C. Materi
Data definition language (DDL) adalah perintah-perintah yang digunakan
untuk membuat ataupun menghapus database dan obyek database. Obyek
database disini adalah lain tabel, view, procedure, trigger. Sebenarnya
untuk membuat database dan obyeknya dapat dilakukan melalui
antarmuka phpMyAdmin, namun demikian pemahaman tentang sintaks
perintah sangatlah penting. Pada modul ini akan dibahas bagaimana
membuat database dan tabel menggunakan perintah yang telah
disediakan oleh MySQL.
1. CREATE
Merupakan perintah yang digunakan untuk membuat database
dan obyek database.
Sintaks untuk membuat database:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ...
create_specification:
[DEFAULT] CHARACTER SET [=] charset_name |
[DEFAULT] COLLATE [=] collation_name
1
Data Definition Language (DDL) – Database & Tabel
CREATE DATABASE db_praktikum;
column_definition:
data_type
[NOT NULL | NULL]
[DEFAULT default_value]
[AUTO_INCREMENT]
[UNIQUE [KEY] | [PRIMARY] KEY]
[COMMENT 'string']
[COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
[STORAGE {DISK|MEMORY|DEFAULT}]
[reference_definition]
2
Data Definition Language (DDL) – Database & Tabel
As
CREATE TABLE tb_baru (
col_id INT,
col_name VARCHAR(12)
);
3
Data Definition Language (DDL) – Database & Tabel
CREATE TABLE tb_baru (
col_id INT NOT NULL AUTO_INCREMENT,
col_name VARCHAR(12),
PRIMARY KEY (col_id)
);
4
Data Definition Language (DDL) – Database & Tabel
CONSTRAINT DESKRIPSI
NOT NULL NOT NULL digunakan untuk mendefinisikan
bahwa satu kolom tidak boleh berisi nilai NULL.
UNIQUE UNIQUE digunakan untuk menyatakan bahwa
pada satu kolom tidak boleh ada nilai yang
sama (duplikat). Pada satu tabel boleh terdapat
lebih dari satu kolom yang UNIQUE.
PRIMARY KEY PRIMARY KEY digunakan untuk memastikan
bahwa data pada suatu kolom adalah unik dan
sekaligus membuatkan INDEX untuk akses tabel
yang lebih cepat.
FOREIGN KEY FOREIGN KEY digunakan untuk
menghubungkan dua buah tabel menggunakan
masing-masing satu kolom pada kedua tabel.
Kolom yang digunakan pada satu tabel harus
merupakan PRIMARY KEY dan diacu oleh kolom
pada tabel lain yang disebut FOREIGN KEY.
CHECK CHECK digunakan untuk mengontrol nilai pada
suatu kolom. CHECK akan menentukan apakah
nilai pada kolom tersebut valid atau tidak
berdasarkan suatu ekspresi logika.
DEFAULT Tiap tabel pada MySQL harus memiliki suatu
nilai (termasuk nilai NULL). Ketika suatu kolom
tidak diberikan nilai pada proses INSERT tabel
maka kolom tersebut akan disiikan nilai yang
dispesifikasikan sebagai DEFAULT.
2. ALTER
Tujuan penggunaan perintah ini pada tabel adalah untuk
mengubah struktur dari tabel tersebut. Sebagai contoh, perintah ini
digunakan untuk menambah atau menghapus kolom, membuat atau
menghapus index, mengubah tip dari suatu kolom, atau mengubah
nama kolom atau tabel itu sendiri. Perintah ini juga dapat digunakan
5
Data Definition Language (DDL) – Database & Tabel
ALTER TABLE t2 DROP COLUMN c;
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL
AUTO_INCREMENT, ADD PRIMARY KEY (c);
7
Data Definition Language (DDL) – Database & Tabel
3. DROP
Perintah DROP yang diikuti dengan nama database digunakan
untuk menghapus semua tabel di database tersebut termasuk
menghapus database itu sendiri. Penghapusan database dari server
juga mengakibatkan semua file (fisik) yang dibuat sebagai hasil dari
perintah CREATE database akan dihapus. Contoh perintah untuk
menghapus database db_praktikum adalah sebagai berikut:
DROP DATABASE db_praktikum;
DROP [TEMPORARY] TABLE [IF EXISTS]
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
DROP TABLE t1, t2;
D. LATIHAN
Kerjakanlah latihan berikut:
1. Buatlah suatu database baru dengan nama “db_latihan”.
2. Pada “db_latihan” tambahkan tabel “m_mahasiswa” dengan field
sebagai berikut:
a. “mhs_NIM”, CHAR(10)
b. “mhs_Nama”, VARCHAR(50), NOT NULL
8
Data Definition Language (DDL) – Database & Tabel
c. “mhs_Tanggal_Lahir”, DATE
d. “mhs_Alamat”, VARCHAR(100)
e. “mhs_Jenis_Kelamin”, TINYINT, DEFAULT 1
f. “mhs_Telpon”, VARCHAR(20)
g. “mhs_Asal”, CHAR(5)
3. Buatlah CONSTRAINT PRIMARY KEY pada kolom “mhs_NIM”.
4. Buatlah tabel “m_kota” dengan field sebagai berikut:
a. “kota_id”, CHAR(5) primary key
b. “kota_nama”, VARCHAR(20)
5. Buatlah CONSTRAINT FOREIGN KEY dari tabel “m_mahasiswa”
kolom “mhs_asal” ke tabel “m_kota” kolom “kota_id”.
6. Cobalah untuk menghapus tabel “m_kota”. Berhasilkah?
E. REFERENSI
1. MySQL Server Documentation, http://dev.mysql.com
2. MySQL Tutorials, http://www.devshed.com