DDL dan DML
1. Data
Defininition Language
Data Definition Language (DDL)
adalah kumpulan perintah SQL yang berkaitan dengan pembuatan, perubahan, dan
penghapusan database maupun objek-objek yang terdapat di dalam database.
Perintah
SQL yang termasuk kategori DDL:
–
CREATE,
berfungsi untuk membuat database dan objek-objek di dalam database.
–
ALTER,
berfungsi untuk mengubah database dan objek-objek di dalam database.
–
DROP,
berfungsi untuk menghapus database dan objek-objek di dalam database.
Contoh
Perintah DDL
1.
Digunakan untuk membuat database.
CREATE DATABASE
<nama database>;
Contoh :
CREATE DATABASE
db_tokobuku;
2. Digunakan
untuk menampilkan daftar nama database
SHOW DATABASES;
Contoh:
SHOW DATABASES
3. Digunakan
untuk memilih database.
USE
<nama database>;
Contoh:
USE
db_ tokobuku;
4. Digunakan
untuk menghapus database, IF EXISTS bersifat opsional dan digunakan
untuk mencegah terjadinya kesalahan.
DROP
DATABASE [IF EXISTS] <nama database>;
Contoh:
DROP DATABASE IF EXISTS
db_buku;
5. Digunakan
untuk membuat tabel, TYPE bersifat opsional dan berfungsi untuk
menentukan tipe storage machine tabel.
CREATE TABLE <nama
tabel> (
<field1> <tipe data>,
<field1> <tipe data>,
<field2> <tipe
data>,
...
)
[TYPE = <tipe tabel>];
Contoh :
CREATE TABLE tb_kategoribuku
(
id_kategori INT NOT NULL AUTO_INCREMENT,
id_kategori INT NOT NULL AUTO_INCREMENT,
nama_kategori VARCHAR(25),
PRIMARY KEY(id_kategori)
PRIMARY KEY(id_kategori)
)TYPE = InnoDB;
6. Digunakan
untuk membuat foreign key pada suatu tabel.
FOREIGN
KEY (<nama field>)
REFERENCES <nama tabel referensi> (<nama field pada tabel referensi>)
REFERENCES <nama tabel referensi> (<nama field pada tabel referensi>)
Contoh :
CREATE TABLE tb_linkbukukategori
(id_buku CHAR(13) NOT NULL,
id_kategori INT NOT NULL,
PRIMARY KEY(id_buku, id_kategori),
FOREIGN KEY (id_buku) REFERENCES tb_buku(id_buku),
FOREIGN KEY (id_kategori) REFERENCES tb_kategori(id_kategori)
id_kategori INT NOT NULL,
PRIMARY KEY(id_buku, id_kategori),
FOREIGN KEY (id_buku) REFERENCES tb_buku(id_buku),
FOREIGN KEY (id_kategori) REFERENCES tb_kategori(id_kategori)
)TYPE = InnoDB;
7. Digunakan
untuk mengubah nama tabel.
ALTER TABLE <nama
tabel lama> RENAME TO <nama tabel baru>;
Contoh :
ALTER TABLE tb_kategoribuku
RENAME TO tb_kategori;
8. Digunakan
untuk menambah field.
ALTER TABLE <nama
tabel> ADD COLUMN <nama field> <tipe data>;
Contoh :
ALTER TABLE tb_penerbit
ADD COLUMN kota_penerbit VARCHAR(30);
9. Digunakan
untuk mengubah field
ALTER TABLE <nama
tabel>
CHANGE <nama field lama> <nama field baru> <tipe data baru>;
CHANGE <nama field lama> <nama field baru> <tipe data baru>;
Contoh :
ALTER TABLE tb_buku
CHANGE nama_pengarang pengarang VARCHAR(30);
CHANGE nama_pengarang pengarang VARCHAR(30);
10.
Digunakan untuk menghapus field.
ALTER TABLE <nama
tabel lama> DROP COLUMN <nama field yang akan dihapus>;
Contoh :
ALTER TABLE tb_penerbit
DROP kota_penerbit;
11.
Digunakan untuk mendefinisikan primary
key.
ALTER TABLE <nama
tabel> ADD PRIMARY KEY (<nama field>);
Contoh
:
ALTER
TABLE tb_pelanggan ADD PRIMARY KEY (id_pelanggan);
12.
Digunakan untuk mendefinisikan foreign
key.
ALTER TABLE <nama
tabel> ADD FOREIGN KEY (<nama field>)
REFERENCES <nama tabel referensi> (<nama field referensi>);
REFERENCES <nama tabel referensi> (<nama field referensi>);
Contoh :
ALTER TABLE tb_linkbukupengarang
ADD FOREIGN KEY (id_buku)
REFERENCES tb_buku(id_buku);
REFERENCES tb_buku(id_buku);
13.
Digunakan untuk menghapus primary key.
ALTER TABLE <nama
tabel> DROP PRIMARY KEY;
Contoh :
ALTER TABLE tb_pelanggan
DROP PRIMARY KEY;
14.
Digunakan untuk menghapus foreign key.
ALTER TABLE <nama
tabel> DROP FOREIGN KEY <nama foreign key>;
15.
Digunakan untuk membuat indeks.
ALTER TABLE <nama
tabel> ADD INDEX <nama indeks> (<nama field>);
Contoh :
ALTER TABLE tb_buku
ADD INDEX idx_judul (judul_buku);
16.
Digunakan untuk menghapus indeks.
ALTER TABLE <nama
tabel> DROP INDEX <nama indeks>;
Contoh :
ALTER TABLE tb_buku
DROP INDEX idx_judul;
17.
Digunakan untuk membuat indeks.
CREATE INDEX <nama
indeks> ON <nama tabel> (<nama field>);
Contoh :
CREATE INDEX idx_judul
ON tb_buku (judul_buku);
18.
Digunakan untuk menghapus tabel.
DROP
TABLE [IF EXIST] <nama tabel>;
Contoh :
DROP TABLE tb_pelanggan;
19.
Digunakan untuk merubah urutan field.
ALTER TABLE <nama
tabel> MODIFY COLUMN <nama field> <tipe data>
AFTER
<nama field>;
Contoh :
ALTER TABLE tb_buku
MODIFY COLUMN id_penerbit CHAR(5)AFTER id_buku