MySQL : DDL dan DML Dalam SQL
Pengertian DDL
DDL atau Data Definition Language adalah perintah dalam SQL yang berhubungan dengan pendefinisian suatu struktur database. DDL Memiliki fungsi untuk melakukan hal-hal berikut :
- CREATE DATABASE dan DROP DATABASE untuk Membuat/menghapus database
- CREATE TABLE dan DROP TABLE untuk Membuat/menghapus table
- ALTER TABLE untuk Memodifikasi table
- CREATE DATABASE dan DROP DATABASE untuk Membuat/menghapus database
- CREATE TABLE dan DROP TABLE untuk Membuat/menghapus table
- ALTER TABLE untuk Memodifikasi table
Menampilkan Seluruh Database
Untuk menampilkan seluruh database gunakan Query :
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| basisdata |
| beritaku |
+--------------------+
30 rows in set (0.40 sec)
+--------------------+
| Database |
+--------------------+
| basisdata |
| beritaku |
+--------------------+
30 rows in set (0.40 sec)
Membuat Database
Struktur dasar dalam pembuatan database dengan DDL adalah CREATE database nama_database; lalu ENTER
CREATE DATABASE belajar_database;
Menggunakan Database
Ketika selesai membuat sebuah database tentu db tersebut belum dapat dibunakan karena belum masuk kedalam db tersebut, maka diperlukan perintah seperti dibawah ini :
USE belajar_database;
Melihat Seluruh Table Didalam Database Yang Aktif
Untuk melihat semua table didalam database yang sudah aktif yakni menggunakan query seperti dibawah :
SHOW tables;
Membuat Table
Dalam membuat table, struktur query yang harus dibuat yakni CREATE TABLE nama_table(nama_atribut1 type (10), nama_atribut2 type (20); lalu ENTER
CREATE TABLE mata_kuliah(kode_matkul VARCHAR (10) NOT NULL PRIMARY KEY, nama_matkul VARCHAR (20));
Untuk angka (10) artinya panjang karakter yang dapat diisi adalah 10 karakter, untuk NOT NULL artinya atribut kode_matkul tidak boleh kosong, sedangkan PRIMARY KEY berarti atribut kode_matkul adalah atribut kunci dari table tersebut.
Melihat Struktur Table
Struktur table datap dilihat dengan menggunakan perintah atau query seperti dibawah ini :
DESC mata_kuliah;
Dan tampilannya akan seperti dibawah :
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| kode_matkul | varchar(10) | NO | PRI | NULL | |
| nama_matkul | varchar(20) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
2 rows in set (0.05 sec)
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| kode_matkul | varchar(10) | NO | PRI | NULL | |
| nama_matkul | varchar(20) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
2 rows in set (0.05 sec)
Dalam pembuatan table tentunya kita pasti mempunyai kesalahan atau kekeliruan dan perlu penyempurnaan pada bagian struktur table, contohnya uakni penambahan atribut atau kolom, menambah panjang karakter atau panjang kolom, menghapus atribut dan lain lain, maka kita menggunakan query ALTER untuk melakukan semua perintah perintah atau mengubah seperti contoh diatas dengan struktru query nya adalah ALTER TABLE nama_tabel [spesifikasi_perubahan]. Maksud dari spesifikasi_perubahan yakni pilihan berupa CHANGE, DROP, atau ADD.
Menambah Atribut Baru
Dalam menambah atribut atau kolom baru, parameter yang harus digunakan adalah ADD seperti dicontohkan pada query dibawah ini :
ALTER TABLE mata_kuliah ADD nomor varchar (10);
Maka tampilannya akan seperti dibawah ini :
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| kode_matkul | varchar(10) | NO | PRI | NULL | |
| nama_matkul | varchar(20) | YES | | NULL | |
| nomor | varchar(10) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| kode_matkul | varchar(10) | NO | PRI | NULL | |
| nama_matkul | varchar(20) | YES | | NULL | |
| nomor | varchar(10) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.06 sec)
Mengubah Nama Kolom
Dalam mengibah nama pada sebuah atribut atau kolom maka parameter yang digunakan adalah CHANGE seperti dicontohkan oleh query dibawah ini:
ALTER TABLE mata_kuliah CHANGE nomor nomor_tabel VARCHAR (10);
Menghapus Atribut
Dalam menghapus atribut pada sebuah table maka parameter yang digunakan adalah DROP seperti dicontohkan oleh query dibawah ini:
ALTER TABLE mata_kuliah DROP nomor_tabel;
Pengertian DML
DML atau Data Manipulating Language adalah perintah SQL yang berhubungan dengan manipulasi data dalam table. DML sendiri memiliki fungsi untuk melakukan perintah-perintah sebagai berikut:
- INSERT untuk mengisi data
- SELECT untuk melihat data
- UPDATE untuk mengubah data
- DELETE untuk menghapus data
- INSERT untuk mengisi data
- SELECT untuk melihat data
- UPDATE untuk mengubah data
- DELETE untuk menghapus data
Mengisi Table
Untuk mengisi data pada atribut yakni menggunakan query seperti dibawah ini :
INSERT INTO mata_kuliah (kode_matkul, nama_matkul) VALUES ('1', 'Basis Data');
Melihat Seluruh Isi Table
Untuk melihat seluruh isi table yang sudah di isi yakni menggunakan query seperti dibawah ini :
SELECT * FROM mata_kuliah;
Maka layar akan menampilkan seperti dibawah ini :
+-------------+----------------------+
| kode_matkul | nama_matkul |
+-------------+----------------------+
| 1 | Basis Data |
| 2 | Statistika |
| 3 | Rekaya Perangkat Lun |
| 4 | Machine Learning |
+-------------+----------------------+
4 rows in set (0.00 sec)
| kode_matkul | nama_matkul |
+-------------+----------------------+
| 1 | Basis Data |
| 2 | Statistika |
| 3 | Rekaya Perangkat Lun |
| 4 | Machine Learning |
+-------------+----------------------+
4 rows in set (0.00 sec)
Melihat Isi Spesifik Table
Ada kalanya kita akan menampilkan isi tabel yang lebih spesifik, misalkan hanya menampilkan record kode '1' atau menampilkan record nama_matkul yang mempunyai karakter 'Y', maka query nya seperti dibawah ini :
SELECT * FROM mata_kuliah WHERE kode_matkul='1';
Maka akan tampil seperti ini :
+-------------+-------------+
| kode_matkul | nama_matkul |
+-------------+-------------+
| 1 | Basis Data |
+-------------+-------------+
1 row in set (0.03 sec)
| kode_matkul | nama_matkul |
+-------------+-------------+
| 1 | Basis Data |
+-------------+-------------+
1 row in set (0.03 sec)
Ataau ingin menampilkan data dalam table mata_kuliah yang hanya memiliki karakter 'Y' saja, contoh nya seperti query dibawah ini :
SELECT * FROM mata_kuliah WHERE nama_matkul LIKE '%y%';
Pada bagian LIKE '%y%' artinya sistem akan menampilkan karakter 'y' yang berada di antara karakter lain, bisa juga menggunakan 'y%' untuk karakter pertama pada kata, atau '%y' untuk menampilkan data yang mempunyai karakter y pada bagian akhir kata
Membatasi Jumlah Atribut Yang Akan Ditampilkan
Atribut pada table tidak semuanya harus ditampilkan, kadang hanya beberapa atribut saja yang akan ditampilkan, maka query yang digunakan yakni seperti dibawah ini :
SELECT nama_matkul FROM mata_kuliah;
Sehingga atribut yang tidak dipanggil dia tidak akan tampil, seperti dibawah ini :
+----------------------+
| nama_matkul |
+----------------------+
| Basis Data |
| Statistika |
| Rekaya Perangkat Lun |
| Machine Learning |
+----------------------+
4 rows in set (0.00 sec)
| nama_matkul |
+----------------------+
| Basis Data |
| Statistika |
| Rekaya Perangkat Lun |
| Machine Learning |
+----------------------+
4 rows in set (0.00 sec)
Menampilkan Data Secara Berurutan
Terkadang data yang ditampilkan tidak berurutan, dengan angka yang acak maka akan sangat membingungkan jika data tsb sangat banyak, maka ada sedikit penambahan fungsi sehingga data dapat berurutan baik dari yang terbesar hingga terkecil ataupun sebaliknya, seperti pada contoh dibawah ini :
SELECT * FROM mata_kuliah ORDER BY kode_matkul ASC;
Pada query diatas merupakan perintah untuk menampilkan data secara berurutan dari nila terkecil hingga terbesar, nah dibawah ini kebalikannya, dari terbesar hingga terkecil. Yang membedakannya hanyalah fungsi ASC (Ascending) dan DESC (Descending)
SELECT * FROM mata_kuliah ORDER BY kode_matkul DESC;
Mengubah Isi Data Table
Untuk mengubah isi pada data table maka query yang digunakan adalah seperti pada contoh dibawah ini :
UPDATE mata_kuliah SET nama_matkul='Bahasa Indonesia' WHERE kode_matkul='7';
Untuk mengubah satu field maka harus mempunyai atribut acuan dengan klausa WHERE atribut primary key, jika tidak maka isi field akan berubah semua
Menghapus Data
Untuk menghapus data pada table maka query yang digunakan adalah seperti pada contoh dibawah ini :
DELETE mata_kuliah WHERE kode_matkul='7';
Tidak ada komentar: