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: 

  1. CREATE : digunakan untuk membuat database, table, view, dan index
  2. ALTER : digunakan untuk mengubah struktur table 
  3. 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 DataKeterangan
CHAR()A fixed section from 0 to 255 characters long
VARCHAR()A variable section from 0 to 255 characters long
TINYTEXTA string with a maximum length of 255 characters
TEXTA string with a maximum length of 65535 characters
Tipe DataKeterangan
BLOBA binary string with a maximum length of 65535 bytes
MEDIUMTEXTA string with a maximum length of 16777215 characters
MEDIUMBLOBA string with a maximum length of 16777215 bytes
LONGTEXTA string with a maximum length of 4292967295 characters
LONGBLOBA 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 

Baca Juga :   13 Proof that macOS is a User-Friendly Interface
Tipe DataKeterangan
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 DataKeterangan
DATEYYYY-MM-DD (3 byte)
DATETIMEYYYY-MM-DD HH:MM:SS (8 byte)
TIMESTAMPYYYYMMDDHHMMSS (4 byte)
TIMEHH:MM:SS (3 byte)
YEARYYYY (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. 

Baca Juga :   Query MySQL

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. 

idNamaAlamatTelepon
1Suta AtmadjaJl. Ujung Kulon 570812345687
2Andini ArifadilaJl. Marthadireja VII/290812345786

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:

Baca Juga :   Data Manipulation Language (DML) Pada MySQL

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!!