Anda di halaman 1dari 8

MODUL 3

DATA MANIPULATION LANGUAGE

1. SUB KRITERIA UNJUK KERJA

Kode Sub
Topik Sub KUK
KUK
13 Dasar dan jenis DML
14 DML INSERT
15 DML UPDATE
16 DML DELETE

2. DASAR TEORI
Data Manipulation Language (DML) adalah suatu statement yang dijalankan pada saat kita
memerlukan :
 Penambahan baris baru pada tabel
 Memodifikasi baris yang ada pada tabel
 Menghapus baris yang ada pada tabel
DML Statement identik dengan operasi INSERT, UPDATE dan DELETE.

2.1. Menambahkan Data ke dalam Tabel


Untuk melakukan operasi menambahkan baris data ke dalam tabel, menggunakan
statement INSERT. Sintaks dasar untuk menambahkan baris data adalah sebagai
berikut:

INSERT INTO namatabel


[ (namakolom1, namakolom2, namakolom3, . . .) ]
VALUES ( nilaikolom1 [, nilaikolom2, nilaikolom3, . . . ] )

a. Menambahkan Data untuk semua kolom di dalam Tabel


Nama kolom bisa tidak dituliskan di dalam sintaks jika ingin mengisi data untuk
semua kolom yang ada di dalam sebuah tabel. Syarat pengisian data dengan cara
seperti ini adalah:
1) Kolom harus diisi secara terurut sesuai struktur tabelnya
2) Tipe data dari nilai yang diisikan harus sesuai dengan tipe data kolomnya
3) Jika kolom TIDAK memiliki kondisi NOT NULL dan ingin dikosongkan, dapat
diisi dengan nilai NULL

CONTOH:
Tabel “ALBUM” memiliki struktur sebagai berikut:
Maka untuk menambahkan sebuah data ke dalam tabel ini, dapat digunakan sintaks
sebagai berikut:

Dimana tabel “album” akan diisi secara terurut dari kolom “AlbumId”, “Title”, dan
terakhir “ArtistId”.

CONTOH:
Tabel “DEPARTMENTS” memiliki struktur sebagai berikut:

Maka untuk menambahkan sebuah data ke dalam tabel ini, dapat digunakan sintaks
sebagai berikut:

Dimana tabel “departments” akan diisi secara terurut dari “department_id”,


“department_name”, “manager_id”, dan “location_id” dengan kondisi
“manager_id” diisi dengan nilai NULL.

b. Menambahkan Data untuk kolom tertentu di dalam Tabel


Jika ingin menambahkan data untuk beberapa kolom tertentu saja, tuliskan nama
kolom di dalam sintaks INSERT. Syarat pengisian data dengan cara seperti ini
adalah:
1) Kolom harus diisi secara terurut sesuai urutan penyebutan nama kolom
2) Tipe data dari nilai yang diisikan harus sesuai dengan tipe data kolomnya
3) Kolom NOT NULL tetap harus disebutkan di dalam sintaks
Kolom lain yang tidak disebutkan di dalam sintaks otomatis akan terisi dengan nilai
NULL
CONTOH:

c. Menambahkan Lebih dari Satu Data


Tabel dapat diisi dengan beberapa baris data sekaligus jika diperlukan. Dengan cara
seperti ini, load database akan lebih ringan karena hanya mengeksekusi satu
perintah saja daripada mengisi satu persatu.

CONTOH:

2.2. Memodifikasi Data di dalam Tabel


Untuk melakukan operasi modifikasi data di dalam tabel, digunakan statement
UPDATE. Sintaks dasar untuk memodifikasi data adalah sebagai berikut:

UPDATE namatabel
SET namakolom = nilaibaru [, namakolom2 = nilaibaru2, . . . ]
[ WHERE kolomfilter operatorpembanding nilaifilter ]
CONTOH:

Kondisi SEBELUM dilakukan UPDATE:

Kondisi SETELAH dilakukan UPDATE:

PERHATIAN:
Jika klausa WHERE dihilangkan, maka perintah UPDATE akan mengubah
nilai kolom dari semua data atau record yang ada pada tabel!

Mengubah data yang terikat pada sebuah constraint


Jika data yang akan diubah terikat pada sebuah constraint (primary key, foreign key,
dst.) maka, jika dilakukan perintah UPDATE akan mendapatkan pesan kesalahan.

CONTOH:
department_id nomor 55 tidak ada, yang artinya melanggar constraint foreign key.

2.3. Menghapus Data di dalam Tabel


Untuk melakukan operasi menghapus data dari tabel, dapat digunakan statement
DELETE. Sintaks dasar untuk menghapus data adalah sebagai berikut:

DELETE FROM namatabel


[ WHERE kolomfilter operatorpembanding nilaifilter ]

CONTOH:

Kondisi SEBELUM dilakukan DELETE:

Kondisi SETELAH dilakukan DELETE:


PERHATIAN:
Jika klausa WHERE dihilangkan, maka perintah DELETE akan
menghapus semua data atau record yang ada pada tabel!

Menghapus data yang terikat pada sebuah constraint


Jika data yang akan dihapus terikat pada sebuah constraint (primary key, foreign key,
dst.) maka, jika dilakukan perintah DELETE akan mendapatkan pesan kesalahan.

CONTOH:

Diskusi: Kenapa pesan kesalahan ini terjadi? Constraint apa yang dilanggar?
2.4. Menghapus Seluruh Data di dalam Tabel (ALTERNATIF)
Untuk menghapus seluruh isi data tabel, dapat juga digunakan alternatif statement
TRUNCATE. Sintaks dasar dari perintah ini yaitu:

TRUNCATE TABLE namatabel

Diskusi: Apa perbedaan penggunaan perintah TRUNCATE dan DELETE tanpa


WHERE?

3. SOAL PRAKTIKUM
Untuk menjalankan perintah-perintah dalam soal berikut, gunakan database HR. Lalu ikuti
instruksi dosen untuk melakukan duplikat tabel locations, departments, jobs, dan
employees ke tabel copy_loc, copy_dep, copy_job, dan copy_emp. Setelah melakukan
duplikasi, gunakan tabel hasil duplikasi sebagai tempat kerja Anda.

1) Buat query untuk menambahkan data pegawai baru dengan perintah INSERT dengan
ketentuan sebagai berikut:
ID : 207
Nama depan : Fitri
Nama belakang : Retrialisca
Email : fitrir
Hire date : 18 September 2021
Pekerjaan : IT_PROG
Gaji : 7000
Departemen : 60

ID : 207
Nama depan : Nania
Nama belakang : Nuzulita
Email : nanian
Hire date : 20 September 2021
Pekerjaan : FI_ACCOUNT
Gaji : 5000
Departemen : 100

2) Buat query untuk menambahkan data pekerjaan baru dengan perintah INSERT dengan
ketentuan sebagai berikut:
JOB_ID JOB_TITLE MIN_SALARY MAX_SALARY
IT_NET Network Admin 7500 12500
IT_DBA DB Admin 7700 15000
IT_DES System Designer 10000 25000
IT_ANL System Analyst 17500 30000
IT_ADM System Admin 6000 7800

3) Lakukan modifikasi data sebagai berikut:


a. Manager ID Fitri menjadi 104
b. Semua karyawan yang bekerja sebagai akuntan sekarang bekerja sebagai
programmer
c. Semua gaji minimum pada tabel data pekerjaan dinaikkan sebesar 500 untuk yang
gaji minimumnya di bawah 5000
d. Semua yang bekerja pada departemen ID 60 dipindahkan ke departemen ID 75
e. Semua departemen yang ID-nya lebih dari atau sama dengan 200 dipindahkan ke
lokasi nomor 1300

4) Lakukan penghapusan terhadap:


a. Karyawan yang berada di bawah departemen IT
b. Karyawan dengan nama Randall Perkins
c. Karyawan yang bekerja pada departemen Shipping DAN gajinya di bawah 3000
d. Departemen yang memiliki kata ‘Sales’ di dalam nama departemennya
e. Semua data pada tabel copy_emp

Anda mungkin juga menyukai