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
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 :
Perintah tambahan : untuk menampilkan daftar nama database yang ada pada mysql
menggunakan perintah : SHOW DATABASES;
b. Menghapus Database
Perintah : DROP DATABASE namadatabase;
Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah
untuk menghapus database dengan nama 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
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;
+-------------+-------------+------+-----+---------+-------+
| 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 | |
+-------------+-------------+------+-----+---------+-------+
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;
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;