Data Definition Language (DDL) Pada MySQL
Daftar Isi
Merlindawibowo.com – SQL adalah didasarkan pada himpunan operasi-operasi relasional yang telah dilakukan modifikasi dan perbaikan. Nantinya, pada SQL akan ada query yang akan membantu dalam jalannya operasi ini. Query adalah perintah-perintah untuk mengakses data pada sistem basis data.
Data Definition Language (DDL) merupakan bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek, seperti tabel, indeks bahkan basis datanya sendiri. Secara prinsip, DDL merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi tipe data dari objek-objek basis data.
Perintah dasar dalam DDL antara lain:
- CREATE : digunakan untuk membuat database, table, view, dan index
- ALTER : digunakan untuk mengubah struktur table
- DROP : digunakan untuk menghapus database, table, view, dan index
A. Tipe Data
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 dalam MySQL terdiri atas beberapa jenis, yaitu tipe data teks, numerik dan date.
Baca juga : Data Manipulation Language (DDL) pada MySQL
1. Tipe Data Teks
Tipe Data | Keterangan |
CHAR() | A fixed section from 0 to 255 characters long |
VARCHAR() | A variable section from 0 to 255 characters long |
TINYTEXT | A string with a maximum length of 255 characters |
TEXT | A string with a maximum length of 65535 characters |
Tipe Data | Keterangan |
BLOB | A binary string with a maximum length of 65535 bytes |
MEDIUMTEXT | A string with a maximum length of 16777215 characters |
MEDIUMBLOB | A string with a maximum length of 16777215 bytes |
LONGTEXT | A string with a maximum length of 4292967295 characters |
LONGBLOB | A string with a maximum length of 4292967295 bytes |
ENUM(value1,value2,…) | A string object that can only have one value, chosen from the list of ‘value1’, ‘value2’, … An ENUM can have a maximum of 65535 distinct values |
SET(value1,value2,…) | A string object that can have zero or more values, each of which must be chosen from the list of values ‘value1’, ‘value2’, … SET values can have a maximum of 64 members |
2. Tipe Data Numerik
Tipe Data | Keterangan |
TINYINT() | -128 to 127 normal, 0 to 255 UNSIGNED |
SMALLINT() | -32768 to 32767 normal, 0 to 65535 UNSIGNED |
MEDIUMINT() | -8388608 to 8388607 normal, 0 to 16777215 UNSIGNED |
INT() | -2147483648 to 2147483647 normal, 0 to 4294967295 UNSIGNED |
BIGINT() | -9223372036854775808 to 9223372036854775807 normal, 0 to 18446744073709551615 UNSIGNED |
FLOAT(M,D) | A small number with a floating decimal point |
DOUBLE(M,D) | A large number with a floating decimal point |
DECIMAL(M,D) | A fixed decimal point |
BIT() | Bit values (0 or 1) |
Tipe data numerik FLOAT, DOUBLE, dan DECIMAL, nilai M menunjukkan jumlah digit keseluruhan sedangkan D menunjukkan jumlah digit di belakang koma. Sebagai contoh, jika ada kolom yang didefinisikan sebagai FLOAT(7,4) maka akan tampak seperti 999.9999.
3. Tipe Data Date
Tipe Data | Keterangan |
DATE | YYYY-MM-DD (3 byte) |
DATETIME | YYYY-MM-DD HH:MM:SS (8 byte) |
TIMESTAMP | YYYYMMDDHHMMSS (4 byte) |
TIME | HH:MM:SS (3 byte) |
YEAR | YYYY (1 byte) |
B. Constraint
Constraint merupakan batasan atau aturan yang ada pada suatu tabel. MySQL menyediakan beberapa tipe constraint, yaitu:
1. NOT NULL
Suatu kolom yang didefinisikan dengan constraint NOT NULL artinya kolom tersebut tidak boleh berisi nilai NULL (tidak boleh kosong). Kolom yang berfungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL.
2. UNIQUE
Suatu kolom yang didefinisikan dengan constraint UNIQUE artinya kolom tersebut bersifat unik, antara satu data dengan data lainnya tidak boleh memiliki nama yang sama.
Baca juga : Pengenalan MySQL
3. PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu tabel. 4. FOREIGN KEY
Constraint FOREIGN KEY didefinisikan pada suatu kolom yang ada pada suatu tabel, dimana kolom tersebut juga dimliki oleh tabel yang sebagai suatu PRIMARY KEY. Constraint ini biasa dipakai untuk menghubungkan antara dua buah tabel.
C. Membuat, Memilih dan Menghapus Database
1. Pembuatan nama database tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antardatabase. Perintah untuk membuat database adalah sebagai berikut:
mysql> CREATE DATABASE namadatabase;
2. Database yang telah berhasil dibuat dapat dilihat dengan perintah sebagai berikut:
mysql> SHOW DATABASES;
3. Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database aktif yang akan digunakan untuk menyimpan tabel-tabel tersebut. Untuk memilih database mana yang akan digunakan yaitu dengan sebagai berikut:
mysql> USE namadatabase;
Perintah USE sama seperti perintah QUIT, tidak membutuhkan tanda titik koma (;) di akhir. Namun jika ingin menggunakan tanda titik koma, hal itu menjadi tidak masalah.
4. Untuk mengetahui database apa yang saat ini sedang digunakan, dapat menggunakan perintah sebagai berikut:
mysql> SELECT DATABASE();
5. Jika sebuah database telah diciptakan kemudian akan dihapus, maka data yang tersimpan dalam database juga akan ikut terhapus. Untuk menghapus database yaitu dengan menggunakan perintah:
mysql> DROP DATABASE namadatabase;
D. Membuat dan Menghapus Tabel
Tabel adalah objek utama yang harus ada pada sebuah database, karena di dalamnya semua data akan tersimpan. Tabel terletak pada sebuah database, sehingga pembuatan tabel dilakukan setelah sebuah database telah diciptakan terlebih dahulu. Dalam sebuah tabel terdapat baris dan kolom. Baris diistilahkan dengan recordset dan kolom diistilahkan dengan field.
id | Nama | Alamat | Telepon |
1 | Suta Atmadja | Jl. Ujung Kulon 57 | 0812345687 |
2 | Andini Arifadila | Jl. Marthadireja VII/29 | 0812345786 |
1. Untuk membuat tabel yaitu dengan menggunakan perintah sebagai berikut:
mysql> CREATE TABLE namatabel(namakolom1 tipedata1, namakolom2 tipedata2, ...);
2. Untuk menampilkan apakah tabel yang telah dibuat telah berhasil ditambahkan ke dalam database, menggunakan perintah sebagai berikut:
mysql> SHOW TABLES;
3. Untuk menampilkan struktur tabel berupa tipe data dan panjang recordset yang telah dibuat, menggunakan perintah sebagai berikut:
mysql> DESCRIBE namatabel;
4. Untuk menghapus tabel yang telah dibuat yaitu dengan menggunakan perintah sebagai berikut:
mysql> DROP TABLE namatabel;
E. Membuat dan Menghapus Kunci Primer (Primary Key)
Dalam membuat sebuah database, akan ditemukan sebuah record yang datanya tidak boleh sama dengan record yang lain. Untuk menghindari data yang kembar maka harus dibuat sebuah kolom yang dideklarasikan sebagai primary key, dimana pada sebuah tabel hanya boleh terdapat maksimal satu primary key. Perintah untuk menciptakan primary key adalah sebagai berikut:
mysql> CREATE TABLE namatabel(namakolom1 tipedata1 PRIMARY KEY, namakolom2 tipedata2, ...);
atau
mysql> CREATE TABLE namatabel(namakolom1 tipedata1, namakolom2 tipedata2, ..., PRIMARY KEY(namakolom1);
atau
mysql> ALTER TABLE namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY (namakolom);
Dalam menghapus sebuah primary key terdapat dua cara, yaitu:
Baca juga : Karakteristik Big Data 10 v
1. Jika primary key dibuat dengan menggunakan
CREATE TABLE
mysql> ALTER TABLE namatabel DROP PRIMARY KEY;
2. Jika primary key dibuat dengan menggunakan ALTER TABLE
mysql> ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;
F. Membuat Kolom Unik (Unique)
Kolom unique merupakan sebuah bentuk kolom yang tidak mengizinkan adanya data yang kembar. Jika terdapat proses input data terdapat data yang kembar, maka proses tersebut akan digagalkan atau ditolak oleh database. Perintah untuk menciptakan kolom unique adalah sebagai berikut:
mysql> CREATE TABLE namatabel(namakolom1 tipedata1, namakolom2 tipedata2, ..., UNIQUE(namakolom1));
G. Modifikasi pada Tabel
Beberapa perubahan pada tabel yang dapat dilakukan diantaranya sebagai berikut:
1. Mengganti nama tabel
mysql> RENAME TABLE namatabel_lama TO namatabel_baru;
atau
mysql> ALTER TABLE namatabel_lama RENAME namatabel_baru;
2. Menambah kolom baru pada tabel
mysql> ALTER TABLE namatabel ADD namakolom_baru tipedata_baru;
atau (meletakkan kolom baru di awal/bagian sebelah kiri tabel)
mysql> ALTER TABLE namatabel ADD namakolom_baru tipedata_baru FIRST;
atau (menyisipkan kolom baru setelah kolom tertentu)
mysql> ALTER TABLE namatabel ADD namakolom_baru tipedata_baru AFTER namakolom_lama;
3. Mengubah nama kolom pada tabel
mysql> ALTER TABLE namatabel CHANGE namakolom_lama namakolom_baru tipedata_baru;
4. Mengubah tipe data atau lebar kolom pada tabel
mysql> ALTER TABLE namatabel MODIFY namakolom tipedata;
5. Menambahkan primary key pada kolom yang telah ada sebelumnya
mysql> ALTER TABLE namatabel ADD PRIMARY KEY (namakolom);
6. Menghapus kolom pada tabel
mysql> ALTER TABLE namatabel DROP namakolom;
7. Menghapus semua data dalam tabel
mysql> TRUNCATE TABLE namatabel;
Semoga bermanfaat!!