Data Definiton Language atau DDL digunakan untuk mendefinisikan data pada sebuah database. Beberapa perintah dalam DDL seperti:
CREATE digunakan untuk membuat database atau objek seperti tabel, view, function, index, procedure, dan trigger.
ALTER digunakan untuk mengubah struktur pada database.
DROP digunakan untuk menghapus objek pada database.
RENAME digunakan untuk mengubah nama objek pada database.
Tipe Data pada MySQL
Tipe data adalah suatu bentuk pemodelan data yang dideklarasikan pada saat melakukan pembuatan tabel. Tipe data ini akan mempengaruhi setiap data yang akan dimasukkan ke dalam sebuah tabel. Data yang akan dimasukkan harus sesuai dengan tipe data yang dideklarasikan.
Tipe Data untuk Bilangan (Number)
Tipe Data | Keterangan |
TINYINT | Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk bilangan bertanda: -128 sampai dengan 127 dan untuk yang tidak bertanda : 0 s/d 255. |
SMALLINT | Ukuran 2 Byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -32768 s/d 32767 dan untuk yang tidak bertanda : 0 s/d 65535 |
MEDIUMINT | Ukuran 3 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -8388608 s/d 8388607 dan untuk yang tidak bertanda : 0 s/d 16777215 |
INT | Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda :-2147483648 s/d 2147483647 dan untuk yang tidak bertanda : 0 s/d 4294967295 |
BIGINT | Ukuran 8 byte. Bilangan bulat terbesar dengan jangkauan untuk bilangan bertanda : -9223372036854775808 s/d 9223372036854775807 dan untuk yang tidak bertanda : 0 s/d 1844674473709551615 |
FLOAT | Ukuran 4 byte. Bilangan pecahan |
DOUBLE | Ukuran 8 byte. Bilangan pecahan |
DOUBLEPRECISION | Ukuran 8 byte. Bilangan pecahan |
REAL | Ukuran 8 byte. Sinonim dari DOUBLE |
DECIMAL | (M,D) Ukuran M byte. Bilangan pecahan, misalnya DECIMAL(5,2 dapat digunakan untuk menyimpan bilangan - 99,99 s/d 99,99 |
NUMERIC | (M,D) Ukuran M byte. Sinonim dari DECIMAL, misalnya NUMERIC(5,2) dapat digunakan untuk menyimpan bilangan - 99,99 s/d 99,99 |
Tipe Data untuk Tanggal dan Jam
Tipe Data | Keterangan |
DATETIME | DATETIME Ukuran 8 byte. Kombinasi tanggal dan jam, dengan jangkauan dari '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59' |
DATE | Ukuran 3 Byte. Tanggal dengan jangkauan dari '1000-01-01' s/d '9999-12-31' |
TIMESTAMP | Ukuran 4 byte. Kombinasi tanggal dan jam, dengan jangkauan dari '1970-01-01 00:00:00' s/d '2037' |
TIME | Ukuran 3 byte. Waktu dengan jangkauan dari '839:59:59' s/d '838:59:59' |
YEAR | Ukuran 1 byte. Data tahun antara 1901 s/d 2155 |
Tipe Data untuk Karakter dan Lain-lain
Tipe Data | Keterangan |
CHAR | Mampu menangani data hingga 255 karakter. Tipe data CHAR mengharuskan untuk memasukkan data yang telah ditentukan oleh kita. |
VARCHAR | Mampu menangani data hingga 255 karakter. Tipe data VARCHAR tidak mengharuskan untuk memasukkan data yang telah ditentukan oleh kita. |
TINYBLOB, TINYTEXT | Ukuran 255 byte. Mampu menangani data sampai 2^8-1 data. |
BLOB, TEXT | Ukuran 65535 byte. Type string yang mampu menangani data hingga 2^16-1 (16M-1) data. |
MEDIUMBLOB, MEDIUMTEXT | Ukuran 16777215 byte. Mampu menyimpan data hingga 2^24-1 (16M-1) data. |
LONGBLOB, LONGTEXT | Ukuran 4294967295 byte. Mampu menyimpan data hingga berukuran GIGA BYTE. Tipe data ini memiliki batas penyimpanan hingga 2^32-1 (4G-1) data. |
ENUM | ('nilai1','nilai2',…,'nilaiN') Ukuran 1 atau 2 byte. Tergantung jumlah nilai enumerasinya (maksimum 65535 nilai) |
SET | ('nilai1','nilai2',…,'nilaiN') 1,2,3,4 atau 8 byte, tergantung jumlah anggota himpunan (maksimum 64 anggota) |
CREATE DATABASE
Database adalah sebuah media utama yang harus dibuat dalam membangun sebuah basis data agar nantinya dapat kita letakkan beberapa tabel dengan field-fieldnya.
Perintah yang digunakan untuk menciptakan database pada MySQL dengan query berikut :
CREATE DATABASE nama_database;
Contoh:
CREATE DATABASE akademik;
DROP Database
Untuk menghapus Database yang telah dibuat dapat menggunakan query SQL berikut:
DROP DATABASE nama_database;
CREATE TABLE
Tabel terletak pada sebuah database, sehingga pembuatan tabel dilakukan setelah sebuah database telah dibuat. Dalam tabel terdapat bari dan kolom. Baris diistilahkan dengan recordset dan kolom dengan field. Untuk membuat sebuah tabel, database harus diaktifkan dulu karena tabel akan dimasukkan ke dalam database yang akan diaktifkan. Query untuk mengaktifkan Database adalah:
USE nama_database;
Setelah masuk ke dalam database anda dapat membuat sebuah tabel. Untuk membuat tabel dapat menggunakan query dibawah ini
CREATE TABLE nama_tabel ( field-1 type(length),
field-2 type(length), field-3 type(length), .....(.....));
Contoh:
CREATE TABLE mahasiswa(
id_mhsw int(3),
nama varchar(50),
alamat varchar(60),
email varchar(60),
no_telp varchar(15),
sex char(1)
);
SHOW TABLES
SHOW TABLES digunakan untuk melihat table yang telah dibuat.
SHOW TABLES;
Struktur Tabel
anda dapat melihat tipe data dan panjang recordset dengan cara menampilkan struktur tabel. Perintah yang digunakan untuk menampilkan struktur tabel adalah:
DESC nama_tabel;
ATAU
DESCRIBE nama_tabel;
DROP TABLE
Untuk menghapus Tabel yang telah dibuat dapat menggunakan query SQL berikut :
DROP TABLE nama_tabel;
Membuat Kunci Primer ( Primary Key )
Dalam membuat sebuah database, kita akan menemukan sebuah record yang datanya
tidak boleh sama dengan record yang lain. Agar data tidak kembar maka harus membuat
sebuah kolom yang di deklarasikan sebagai kunci primer (primary key). Query untuk menciptakan kunci primer (primary key)
adalah :
CREATE TABLE nama_tabel ( field-1 type(length)PRIMARY KEY,
field-2 type(length), ... ....(....));
Contoh:
CREATE TABLE mahasiswa(
id_mhsw int(3) primary key,
nama varchar(50),
alamat varchar(60),
email varchar(60),
no_telp varchar(15),
sex char(1)
);
Auto Increment
Auto increment field pada MySQL adalah suatu tipe field integer yang secara otomatis
akan bertambah nilainya jika terjadi penambahan row pada table dimana field tersebut
berada. Untuk menambahkan atau merubah suatu field sebagai auto increment, berikut adalah
beberapa aturannya :
- field tersebut harus didefinisikan sebagai primary key.
- menambahkan keyword AUTO_INCREMENT pada definisi field.
- harus bertipe numerik (TINYINT, INT, dan lain-lain).
- hanya boleh ada satu field auto increment pada suatu table, tidak bisa lebih.
CREATE TABLE nama_tabel ( field-1 type(length)PRIMARY KEY NOT NULL
AUTO_INCREMENT, field-2 type(length), ... ....(....));
Contoh:
CREATE TABLE mahasiswa(
id_mhsw int(3) PRIMARY KEY NOT NULL AUTO_INCREMENT,
nama varchar(50),
alamat varchar(60),
email varchar(60),
no_telp varchar(15),
sex char(1)
);
Mengganti nama table
Query SQL untuk merubah nama tabel dengan menggunakan RENAME, query
seperti berikut :
ALTER TABLE tabel_lama RENAME TO tabel_baru;
Menambah Field pada Tabel
Menambah kolom dapat diartikan sebagai langkah untuk menyisipkan field baru
pada sebuah tabel. Untuk melakukan penambahan Field maka ALTER spesifikasi yang
digunakan adalah ADD. Query yang digunakan adalah:
ALTER TABLE nama_tabel ADD nama_field Type_data(length);
Contoh:
alter table mahasiswa add gol_darah char(2);
Mengubah Field pada Tabel
Mengubah kolom dapat diartikan sebagai mengubah nama kolom atau tipe kolom itu sendiri. Untuk melakukan penambahan Field maka ALTER spesifikasi yang
digunakan adalah CHANGE. Query yang digunakan adalah:
ALTER TABLE nama_tabel CHANGE nama_field_lama nama_field_baru tipe_data;
Contoh:
ALTER TABLE mahasiswa CHANGE gol_darah goldarah varchar(2);
Menghapus Field pada Tabel
Pada pembuatan database pasti terdapat kesalahan seperti pada field tabel yang
berlebihan dan lain-lain. Untuk melakukan Penghapusan Field maka ALTER spesifikasi
yang digunakan adalah DROP.
ALTER TABLE nama_tabel DROP nama_field;