Anda di halaman 1dari 6

Modul Praktikum Basis Data - MySQL

Modul 2
Data Definition Language (DDL)
2.1. Bahasa SQL
SQL memiliki kepanjangan Structured Query Language, digunakan sebagai
antarmuka dalam pengelolaan data. SQL merupakan bahasa komprehensif untuk basis
data sehingga dibuat standar bahasa SQL oleh ANSI (American National Standard
Institute) dan ISO (International Standard Organizatioan). Di dalamnya terdapat
perintah untuk pendefinisian data, melakukan query dan update terhadap data. Perintah
tersebut dikelompokan dalam 2 istilah: DDL (Data Definition Language) untuk
pendefinisian data dan DML (Data Manipulation Language) untuk melakukan update
dan query.
2.2. Tipe Data
A. Tipe Data Numerik
Tipe Keterangan Range Nilai
TINYINT Nilai integer yang sangat kecil Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
SMALLINT Nilai integer yang kecil Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
MEDIUMINT Integer dengan nilai medium Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
Tipe Keterangan Range Nilai
INT Integer dengan nilai standar Signed : -2147483648 s.d. 2147483647
Unsigned : 0 s.d. 4294967295
BIGINT Integer dengan nilai besar Signed : -9223372036854775808 s.d.
9223372036854775807
Unsigned : 0 s.d. 18446744073709551615
FLOAT Bilangan desimal dengan single- minimum ± 1.175494351e-38
precission maksimum ± 3.402823466e+38
DOUBLE Bilangan desimal dengan double- minimum ± 2.2205738585072014e-308
precission maksimum ± 1.7976931348623457e+308
DECIMAL(M,D) Bilangan float (desimal) yang Tergantung pada nilai M dan D
dinyatakan sebagai string. M adalah
jumlah digit yang disimpan dalam
suatu kolom, N adalah jumlah digit
dibelakang koma
Keterangan : Signed dan Unsigned adalah atribut untuk tipe data numerik
- Signed : data yang disimpan dalam suatu kolom dapat berupa data negatif dan
positif.
- Unsigned : digunakan agar data yang dimasukkan bukan data negatif (>=0).
Tipe data float tidak dapat dinyatakan dengan unsigned.
B. Tipe Data String :
Tipe Keterangan Ukuran Maksimum
CHAR(n) String karakter dengan panjang yang tetap, yaitu n 1 M byte
VARCHAR(n) String karakter dengan panjang yang tidak tetap, maks n 1 M byte
TINYBLOB BLOB (Binary Large Object) yang sangat kecil 28-1 byte
BLOB BLOB berukuran kecil 216-1 byte
MEDIUMBLOB BLOB berukuran sedang 224-1 byte
LONGBLOB BLOB berukuran besar 232-1 byte
TINYTEXT String teks yang sangat kecil 28-1 byte
TEXT String teks berukuran kecil 216-1 byte
MEDIUMTEXT String teks berukuran medium(sedang) 224-1 byte
LONGTEXT String teks berukuran besar 232-1 byte
ENUM Enumerasi, kolom dapat disi dengan 1 member enumerasi 65535 anggota
SET Himpunan, kolom dapat diisi dengan beberapa nilai 64 anggota himpunan
anggota himpunan

Teknik Informatika – Universitas Siliwangi 6


Modul Praktikum Basis Data - MySQL

Tipe data tanggal dan jam :


Tipe Range Format
DATE “1000-01-01” s.d. “9999-12-31” “0000-00-00”
TIME “-832:59:59” s.d. “838:59:59” “00:00:00”
DATETIME “1000-01-01 00:00:00” s.d. “9999-12- “0000-00-00 00:00:00”
31 23:59:59”

2.3. Perintah DDL (Data Definition Language)


DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-
atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut,
serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah
CREATE, ALTER, dan DROP.

a. Membuat Database
Perintah: CREATE DATABASE namadatabase;
namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama
yang sama antar database. Berikut ini perintah untuk membuat database dengan
nama akademik :

mysql> create database akademik;

Perintah tambahan : untuk menampilkan daftar nama database yang ada pada mysql
menggunakan perintah : SHOW DATABASES;

mysql> show databases;


+--------------------+
| Database |
+--------------------+
| information_schema |
| akademik |
| mysql |
| test |
+--------------------+
4 rows in set (0.11 sec)

b. Menghapus Database
Perintah : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
untuk menghapus database dengan nama akademik ;

mysql> drop database akademik;

c. Membuat Tabel
Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database
sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan
menggunakan perintah : USE namadatabase;
Berikut ini perintah untuk menggunakan database dengan nama akademik :
mysql> use akademik;
Database Changed

Teknik Informatika – Universitas Siliwangi 7


Modul Praktikum Basis Data - MySQL

Perintah membuat table :


create table namatabel
(
Field1 TipeData1,
Field2 TipeData2
);
namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1
merupakan nama kolom pertama dan tipe data untuk kolom pertama. Jika ingin
membuat tabel dengan kolom lebih dari satu, maka setelah pendefinisian tipe data
sebelumnya diberikan tanda koma (,). Berikut ini perintah untuk membuat tabel
dengan nama mahasiswa :

mysql> create table mahasiswa(


-> npm char(9) not null,
-> nama varchar(20) not null,
-> alamat varchar(30) null,
-> jns_kelamin char(1) not null,
-> gol_darah varchar(2) null,
-> primary key (npm));

Keterangan : null yaitu field tesebut dapat tidak berisi nilai sedangkan not null
yaitu field harus berisi nilai atau tidak boleh kosong. Primary key untuk
mendefinisikan kata kunci dalam sebuah tabel.

Perintah tambahan :
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database akademik) : SHOW TABLES;

mysql> show tables;


+--------------------+
| Tables_in_akademik |
+--------------------+
| mahasiswa |
+--------------------+

Untuk menampilkan deskripsi tabel (dalam hal ini mahasiswa) perintahnya


adalah :
DESC namatabel atau DESCRIBE namatabel;
mysql> describe mahasiswa;

+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm | char(9) | NO | PRI | NULL | |
| nama | varchar(20) | NO | | NULL | |
| alamat | varchar(30) | YES | | NULL | |
| jns_kelamin | char(1) | NO | | NULL | |
| gol_darah | varchar(2) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+

Teknik Informatika – Universitas Siliwangi 8


Modul Praktikum Basis Data - MySQL

d. Menghapus Tabel
Perintah : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
menghapus tabel dengan nama mahasiswa :
mysql> drop table mahasiswa;

e. Membuat Kolom Auto Untuk Penambahan Data Otomatis


Parameter yang digunakan untuk membuat kolom bentuk AUTO adalah AUTO
INCREMENT. Dengan menggunakan tipe kolom ini, data akan bertambah secara
otomatis. Yang perlu diingat, syarat kolom AUTO harus menggunakan tipe data
angka (INT, TINIINT, …) . Bentuk perintahnya sebagai berikut:

CREATE TABLE [IF NOT EXISTS] nama_tabel (


kolom_kunci tipe(panjang) NOT NULL AUTO_INCREMENT,
kolom_b tipe(panjang) [NOT NULL | NULL], ...,
PRIMARY KEY(kolom_kunci) )

Coba dalam pembuatan tabel selanjutnya.

f. Menghapus Primary Key Pada Tabel


ALTER TABLE namatabel DROP PRIMARY KEY;
Berikut ini perintah yang digunakan untuk menghapus primary key pada tabel
mahasiswa :

mysql> alter table mahasiswa drop primary key;

g. Menambah Kolom/Field Baru Pada Tabel


ALTER TABLE namatabel ADD fieldbaru tipe;
namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah
nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan
ditambahkan. Berikut ini perintah untuk menambah kolom tgl_lahir dengan tipe
data date :

mysql> alter table mahasiswa add tgl_lahir date;

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

h. Menambah Kolom Kunci/primary key Pada Tabel


Pada saat pembuatan tabel, Anda lupa mendefinisikan kunci primernya. Dengan
menggunakan perintah ALTER, Anda dapat melakukan perubahan sebuah kolom
menjadi kunci. Bentuk sintaksnya sebagai berikut:
ALTER TABLE nama_tbl ADD PRIMARY KEY(kolom)

Dengan menggunakan aturan seperti sintaks di atas, Anda dapat langsung


menyebutkan nama kolom yang akan dibuat sebagai kunci.
Sebagai latihan, Anda dapat menghapus tabel dosen terlebih dahulu. Setelah itu
buat kembali tabel dosen dengan tidak mendefinisikan primay key-nya.
mysql> alter table dosen
-> add primary key(nip);

Teknik Informatika – Universitas Siliwangi 9


Modul Praktikum Basis Data - MySQL

i. Mengubah Tipe Data atau Lebar Kolom Pada Tabel


ALTER TABLE namatabel MODIFY COLUMN field tipe;
namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya.
Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe
data baru atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini perintah
untuk mengubah tipe data untuk kolom nama dengan varchar(25) :

mysql> alter table mahasiswa modify column nama varchar(25);

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

j. Mengubah Nama Kolom


ALTER TABLE namatabel CHANGE COLUMN namalamakolom
namabarukolom tipedatanya;
namatabel adalah nama tabel yang akan diubah nama kolomnya,
namalamakolom adalah kolom yang akan diganti namanya, namabarukolom
adalah nama baru kolom, tipedatanya adalah tipe data dari kolom tersebut.
Berikut ini perintah untuk mengubah nama kolom nama menjadi nama_lengkap :

mysql> alter table mahasiswa change column nama nama_lengkap


varchar(20);

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

k. Mengubah Nama Tabel


Jika nama tabel yang ada tidak sesuai dengan data, Anda dapat mengubahnya
dengan cara mengganti nama tabel tersebut. Caranya, dengan menggunakan
parameter RENAME. Perintahnya sebagai berikut:

ALTER TABLE nama_lama RENAME [TO] nama_baru

Pada perintah di atas, Anda bebas untuk tidak menggunakan parameter TO, karena
sifatnya hanya optional (pilihan) saja.
Sebagai latihan, bagaimana jika tabel ambil kita ganti namanya menjadi
mengambil. Sebelum diganti, Anda dapat melihat kondisi awal terlebih dahulu di
dalam database.

Untuk mengganti nama tabel dari ambil menjadi mengambil, Anda dapat
menjalankan perintah seperti berikut:
mysql> alter table jenis_barang rename to data_jenis;

l. Menghapus Kolom Pada Tabel


ALTER TABLE namatabel DROP COLUMN namakolom;
Berikut ini perintah untuk menghapus kolom tgl_lahir pada tabel mahasiswa :

mysql> alter table mahasiswa drop tgl_lahir;

Lakukan perintah decs mahasiswa(lihat tabel),amati perubahannya.

Teknik Informatika – Universitas Siliwangi 10


Modul Praktikum Basis Data - MySQL

m. Mendefinisikan Foreign Key Pada Tabel (Kunci Tamu)


ALTER TABLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY
(namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE
CASCADE ON DELETE NO ACTION;
Berikut perintah untuk membuat foreign key nip pada tabel mengajar dari tabel
induk dosen :

mysql> alter table mengajar add constraint fk foreign key (nip)


references dosen(nip) on update cascade on delete no action;

Lakukan perintah decs ambil(lihat tabel),amati perubahannya.

n. Menghapus Foreign Key


ALTER TABLE namatabel DROP FOREIGN KEY namaconstraint;
Berikut ini perintah untuk menghapus foreign key pada tabel mengajar :

mysql> alter table mengajar drop foreign key fk;

Teknik Informatika – Universitas Siliwangi 11

Anda mungkin juga menyukai