+ All Categories
Home > Documents > 11. DML Update Delete Dan Select

11. DML Update Delete Dan Select

Date post: 01-Jan-2016
Category:
Upload: kelly-rossa-sungkono
View: 34 times
Download: 2 times
Share this document with a friend
Description:
Basis data
41
DATA MANIPULATION LANGUAGE (INSERT, UPDATE, DELETE, SELECT)
Transcript
Page 1: 11. DML Update Delete Dan Select

DATA MANIPULATION

LANGUAGE (INSERT, UPDATE, DELETE, SELECT)

Page 2: 11. DML Update Delete Dan Select

TUJUAN PERKULIAHAN

Mahasiswa memahami penggunaan DML dan macam-macamnya

Mahasiswa mampu mengaplikasikan operasi-operasi INSERT, UPDATE, DELETE

Mahasiswa mampu mengaplikasikan operasi SELECT

Page 3: 11. DML Update Delete Dan Select

SEKILAS TENTANG DML DML (Data Manipulation Language )

bahasa SQL yang digunakan untuk memanipulasi data di dalam suatu tabel.

Perintah DML meliputi:1. INSERT INTO – Menyisipkan/menambah

data baru ke dalam tabel di database2. UPDATE – Mengupdate data dalam tabel

di database3. DELETE – Menghapus data dari tabel di

database4. SELECT – Mengekstrak/menampilkan

data dari tabel-tabel di database

Page 4: 11. DML Update Delete Dan Select

INSERT, UPDATE DAN DELETE

Memasukkan, Mengupdate dan Menghapus data

Page 5: 11. DML Update Delete Dan Select

PERINTAH INSERT

INSERT [INTO] nama_tabel [kolom_1,…,kolom_2]VALUES (value_kolom_,…,value_kolom_n)

Sintaks

Keterangan

• bagian yang berada di dalam kurung siku bersifat optional• nama_tabel merupakan nama tabel yang datanya akan dimanipulasi• kolom_1,kolom_2, dst merupakan nama kolom dari tabel yang bersangkutan•Jika data akan diisikan ke dalam semua kolom (field) suatu tabel maka tidak perlu disebutkan nama kolomnya namun pengisianya harus urut.•Jika data hanya akan diisikan ke kolom (field) tertentu maka nama kolomnya harus disebutkan.

Page 6: 11. DML Update Delete Dan Select

CONTOHTerdapat table mahasiswa dengan struktur sbb:

Contoh data:

Jika data mahasiswa ingin di tambah maka:

INSERT INTO MAHASISWA VALUES ('5100100002','123','BUDI','SURABAYA')

Page 7: 11. DML Update Delete Dan Select

CONTOH (2)

Data mahasiswa akan ditambah tetapi datanya tidak lengkap

INSERT INTO MAHASISWA (NRP,NIP,MHS_NAMA) VALUES ('5100100103','123','TOMI')

Page 8: 11. DML Update Delete Dan Select

PERINTAH UPDATE

Terkadang terdapat kesalahan dalam pengetikan data atau terjadi perubahan data karena suatu hal.

Data tersebut dapat diperbaiki dengan menggunakan perintah UPDATE.

UPDATE nama_tabel SET nama_kolom = value [WHERE syarat]

Sintaks

Keterangan

Nama_tabel berisi nama tabel di mana data yang akan dirubah berada. Nama_kolom berisi nama kolom dimana kolom dari data berada. Value merupakan nilai data pengganti yang akan dimasukkan Syarat merupakan kondisi data yang akan di rubah.

Page 9: 11. DML Update Delete Dan Select

CONTOH

Page 10: 11. DML Update Delete Dan Select

DELETE Terkadang data yang tersimpan dalam

tabel atau view tidak diperlukan kembali, sehingga memenuhi ruang penyimpanan.

Untuk itu data harus dihapus dengan perintah DELETE.

DELETE FROM nama_tabel[WHERE syarat]

Sintaks

Keterangan

Nama_tabel berisi nama tabel di mana data yang akan dihapus berada.

Syarat merupakan kondisi data yang akan di rubah.

Page 11: 11. DML Update Delete Dan Select

CONTOH

Page 12: 11. DML Update Delete Dan Select

SQL SELECT

Mendapatkan Informasi dari Database

Page 13: 11. DML Update Delete Dan Select

SYNTAX SQL (REVIEW)

SELECT [DISTINCT] select_list

FROM table_source

[WHERE search_condition]

[GROUP BY group_by_expression]

[HAVING search_condition]

[ORDER BY order_expression [ASC | DESC] ]

Page 14: 11. DML Update Delete Dan Select

Basis Data Teknik Informatika FTIf - ITS

PERNYATAAN SELECT

Pernyataan SELECT digunakan untuk menyeleksi (memilih) data dari satu atau beberapa tabel.

Hasil tabulasi disimpan dalam tabel hasil (disebut sebagai result-set).

Syntax : SELECT column_name(s) FROM table_name

SELECT [*] [<kolom1>, <kolom2>, . . ., <kolomN>][<alias.kolom1>, <alias.kolom2>, . . . , <alias.kolomN>]FROM <nama_tabel>

Page 15: 11. DML Update Delete Dan Select

Basis Data Teknik Informatika FTIf - ITS

CONTOH PEMAKAIAN SELECT

Soal : Dapatkan Informasi NIP, Nama Depan, Alamat dan Gaji Pegawai

Syntax : SELECT NIP, NmDepan, Alamat, GajiFrom Pegawai

Hasil:

Page 16: 11. DML Update Delete Dan Select

Basis Data Teknik Informatika FTIf - ITS

KLAUSA WHERE

WHERE digunakan jika informasi yang ditampilkan (pernyataan SELECT) memiliki kriteria tertentu.

Syntax:

SELECT column FROM table WHERE column operator value

Page 17: 11. DML Update Delete Dan Select

Basis Data Teknik Informatika FTIf - ITS

OPERATOR DALAM KLAUSA WHERE

Operator yang dapat digunakan dalam klausa WHERE adalah:

Operator Description

= Equal (sama dengan)

<> Not equal (tidak sama dengan)

> Greater than (Lebih dari)

< Less than (kurang dari)

>= Greater than or equal (lebih dari sama dengan)

<= Less than or equal (kurang dari sama dengan)

BETWEEN Between an inclusive range

LIKESearch for a pattern (pencarian dengan pola

tertentu)

Page 18: 11. DML Update Delete Dan Select

Basis Data Teknik Informatika FTIf - ITS

CONTOH PEMAKAIAN KLAUSA WHERE

Soal: Dapatkan Informasi NIP, Nama Depan, Alamat dan Gaji Pegawai yang gajinya lebih dari 25000

Syntax:SELECT NIP, NmDepan, Alamat, GajiFrom PegawaiWhere Gaji>25000

Hasil:

Page 19: 11. DML Update Delete Dan Select

WHERE

Klausa ini biasanya digunakan untuk:

1.Filter (penyaringan) data. 2.Merelasikan/menghubungkan query yang

disusun lebih dari satu tabel.

o Penerapannya adalah dengan memasukkan suatu ekspresi kondisi setelah klausa WHERE:

WHERE <kondisi>o Jika <kondisi> lebih dari satu, maka bisa

ditambahkan dengan AND atau OR (sesuai dengan kebutuhan).

Page 20: 11. DML Update Delete Dan Select

WHERE <KONDISI> UNTUK RELASI

Jika kita mengambil informasi dari lebih dari sebuah tabel, maka kita perlu menambahkan kondisi untuk relasi antara kedua tabel tersebut.

Pada dasarnya mirip dengan filter, tapi fungsinya digunakan untuk merelasikan antara tabel-tabel yang diambil informasinya

Page 21: 11. DML Update Delete Dan Select

WHERE <KONDISI> UNTUK RELASI (2)

FK_PENYEWAA_MELAKUKAN_ANGGOTA

FK_PENYEWAA_TERDIRI_D_PENYEWAA

FK_PENYEWAA_BERISI_VCD

Anggota

No_anggotaNama_AnggotaAlamat_anggota

CHAR(5)VARCHAR(50)VARCHAR(100)

<pk>

Penyewaan

Kode_SewaNo_anggotaTgl_Sewa

CHAR(5)CHAR(5)DATE

<pk><fk>

Penyewaan_detail

Kode_SewaKodeVCDbiaya_sewatgl_harusKembalitgl_pengembaliandenda

CHAR(5)CHAR(5)CURRENCYDATEDATECURRENCY

<pk,fk1><pk,fk2>

VCD

KodeVCDJudul_VCDKategori_VCDbiaya_sewa

CHAR(5)VARCHAR(50)CHAR(2)CURRENCY

<pk>

Menampilkan Judul_VCD, Kategori_VCD, tgl_harusKembali

Judul_VCD dan KategoriVCD bisa diambil dari tabel VCD, tetapi tgl_harusKembali tidak ada pada tabel VCD sehingga haris diambil dari tabel Penyewaan_detail. Kedua tabel tersebut berelasi pada Kode_VCD. Sehingga querynya:

SELECT Judul_VCD, Kategori_VCD, tgl_harusKembaliFROM VCD, Penyewaan_detailWHERE VCD.KodeVCD=Penyewaan_detail.KodeVCD

Page 22: 11. DML Update Delete Dan Select

WHERE <KONDISI> UNTUK RELASI (3)

Jika ada nama field yang sama dari tabel yang disertakan, maka sebelum nama field, berikan nama tabel diikuti sebuah titik (.)

Misal untuk query sebelumnya dengan ditambah menampilkan KodeVCD:

SELECT VCD.KodeVCD, VCD.Judul_VCD, VCD.Kategori_VCD, Penyewaan_detail.tgl_harusKembaliFROM VCD, Penyewaan_detailWHERE VCD.KodeVCD=Penyewaan_detail.KodeVCD

Atau untuk mempersingkat query menggunakan alias

SELECT V.KodeVCD, V.Judul_VCD, V.Kategori_VCD, P.tgl_harusKembaliFROM VCD V, Penyewaan_detail PWHERE V.KodeVCD=P.KodeVCD

Page 23: 11. DML Update Delete Dan Select

WHERE <KONDISI> UNTUK RELASI (4)

Contoh

Menampilkan KodeVCD,Judul_VCD, tgl_harusKembali untuk VCD dengan kategori “kartun” diurutkan berdasarkan JudulVCD

SELECT V.KodeVCD, V.Judul_VCD, P.tgl_harusKembaliFROM VCD V, Penyewaan_detail PWHERE V.KodeVCD=P.KodeVCD AND V.Kategori_VCD=“kartun”ORDER BY V.Judul_VCD

Page 24: 11. DML Update Delete Dan Select

WHERE <KONDISI> UNTUK FILTER

Where untuk filter atau pencarian data di dalam SQL Server bisa dalam beberapa bentuk ekspresi, yakni:

operasi pembandinganoperasi pendekatan polaoperasi pembandingan dengan sekumpulan nilai

Page 25: 11. DML Update Delete Dan Select

OPERASI PEMBANDINGAN

Operasi:= < <= >= > <> is

Khusus untuk pembanding IS, nilai yang diisikan adalah null, yakni sebuah nilai yang belum berisi nilai.

nilai null tidak sama dengan nilai 0 pada tipe numerik ataupun string kosong pada tipe string

Basis Data Jurusan Teknik Informatika ITS

Page 26: 11. DML Update Delete Dan Select

OPERASI PEMBANDINGANContoh menampilkan pegawai yang berjenis kelamin laki-

laki: SELECT * FROM Employee WHERE Sex=“M”

menampilkan Pegawai yang tahun kelahirannya lebih dari 1965 SELECT * FROM Employee WHERE year(Bdate) > 1965

menampilkan Pegawai wanita yang lahir di bulan Juli:

SELECT * FROM Employee WHERE Sex=“F” AND month(Bdate)=6

menampilkan idKoleksi yang belum dikembalikan (TglKembali belum terisi)

SELECT * FROM Peminjaman WHERE TglKembali IS NULL

Basis Data Jurusan Teknik Informatika ITS

Page 27: 11. DML Update Delete Dan Select

OPERASI LIKE (PENDEKATAN POLA) Operasi ini, hanya untuk pembandingan

nilai bertipe string Digunakan untuk mengenali string-string

yang memiliki pola tertentu. Di dalam operasi ini, digunakan simbol-

simbol berikut:

simbol % (Oracle) atau *(ms. Access) artinya mewakili 0 s/d tak terhingga dari sembarang karakter

simbol _ artinya mewakili 1 sembarang karakter

Basis Data Jurusan Teknik Informatika ITS

Page 28: 11. DML Update Delete Dan Select

OPERASI LIKE (PENDEKATAN POLA)Contoh

Menampilkan pegawai yang tinggal di Houston

SELECT * FROM Employee WHERE Address LIKE "*houston*"

menampilkan Pegawai yang huruf ketiga namanya adalah “m”:SELECT SSN, Fname FROM Employee WHERE FName LIKE “??d*"

Basis Data Jurusan Teknik Informatika ITS

“?” dan “_” mewakili satu karakter? : access_ : oracle

Page 29: 11. DML Update Delete Dan Select

OPERASI IN ATAU NOT IN

Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai

Kumpulan nilai bisa berupa: nilai-nilai yang diisikan query tunggal

query yg hasilnya hanya terdapat sebuah kolom saja

Basis Data Jurusan Teknik Informatika ITS

Page 30: 11. DML Update Delete Dan Select

OPERASI IN ATAU NOT IN Nilai-nilai yang diisikan, maksudnya kita

sendiri yang mengisikan nilai-nilai tersebut di dalam query kita.

Contoh Menampilkan pegawai yang terlibat dalam proyek selain nomer 3 dan 10

SELECT W.ESSN, E.Fname, W.PNOFROM Employee AS E, Works_on AS WWHERE W.PNO NOT IN (3,10) and W.ESSN=E.SSN;

Basis Data Jurusan Teknik Informatika ITS

Page 31: 11. DML Update Delete Dan Select

OPERASI IN ATAU NOT IN Query tunggal, yakni nilai-nilai yang digunakan

sebagai pembanding diambil dari sebuah query tunggal yang hasilnya hanya satu kolom saja

Contoh Menampilkan data pegawai yang tidak pernah terlibat dalam proyek

SELECT SSN, FnameFROM EmployeeWHERE SSN NOT IN (Select distinct ESSN From Works_On)

menampilkan koleksi yang sedang dipinjam:

SELECT * FROM koleksi WHERE idKoleksi IN (SELECT idKoleksiFROM Peminjaman WHERE TglKembali is NULL)

Basis Data Jurusan Teknik Informatika ITS

Page 32: 11. DML Update Delete Dan Select

FUNGSI-FUNGSI AGREGASI (AGREGATE FUNCTION) Query yang melibatkan fungsi penghitungan. Fungsi-fungsi tersebut yakni:

- COUNT(*) mendapatkan jumlah baris- SUM(kolom) mendapatkan hasil penjumlahan kolom- MAX(kolom) mendapatkan nilai tertinggi- MIN(kolom) mendapatkan nilai terendah- AVG(kolom) mendapatkan nilai rata-rata

Basis Data Jurusan Teknik Informatika ITS

Page 33: 11. DML Update Delete Dan Select

FUNGSI-FUNGSI AGGREGASI (2)

SELECT AVG (V.Biaya_Sewa)FROM VCD VWHERE V.Kategori_VCD=“kartun”

SELECT COUNT (*)FROM VCD V

Tampilkan rata-rata harga sewa VCD koleksi kartun

Tampilkan jumlah VCD

Page 34: 11. DML Update Delete Dan Select

34

FUNGSI-FUNGSI AGREGASI (3)

target-list terdiri dari: (a) attribute names, dan (b) “terms” berisikan operasi-operasi aggregasi (misal, MIN (S.age)). “term” adalah atribut yang mengandung fungsi

agregasi. attribute name yang dituliskan dalam target-list harus

juga menjadi subset dari grouping-list.

Klausa HAVING digunakan untuk menuliskan spesifikasi terhadapa GROUP

SELECT [DISTINCT] target-listFROM relation-listWHERE qualificationGROUP BY grouping-list[HAVING group-qualification]

Sintaks:

Page 35: 11. DML Update Delete Dan Select

GROUP BY <KOLOM1> [,<KOLOM2>]

Digunakan untuk pengelompokan dari fungsi-fungsi aggregate

Yang penting untuk diperhatikan, kolom-kolom yang disertakan setelah GROUP BY harus sama dengan kolom-kolom yang dipilih pada setelah klausa SELECT yg selain fungsi AGGREGATE

Page 36: 11. DML Update Delete Dan Select

DAPATKAN RATA-RATA HARGA SEWA VCD PERKATEGORI

Query ini ilegal! (Mengapa?)

SELECT V.Kategori_VCD, AVG (V.Harga_Sewa)FROM VCD V

SELECT V.Kategori_VCD, AVG (V.Harga_Sewa)FROM VCD VGROUP BY V.Kategori_VCD

Page 37: 11. DML Update Delete Dan Select

HAVING <KONDISIAGREGATE>

Jika untuk filter query biasa kita menggunakan klause where, maka klausa having digunakan untuk filter fungsi-fungsi aggregate.Contoh Menampilkan departemen yang jumlah pegawainya lebih dari 2.

SELECT DNO, COUNT(*)as [Jumlah Pegawai] FROM EmployeeGROUP BY DNO HAVING COUNT(*)> 2

Page 38: 11. DML Update Delete Dan Select

ORDER BY Perintah order by digunakan untuk

mengurutkan data Order by Asc (ascending) : pengurutan

dari kecil ke besar, dari A ke Z Order by Desc (Descending):

pengurutan dari besar ke kecil, dari Z ke A)

Contoh: Tampilkan gaji pegawai urut dari yang terbesar

SELECT SSN, FName, SalaryFROM EmployeeORDER BY salary DESC;

Page 39: 11. DML Update Delete Dan Select

MENGEKSTRACT DATE

select NAMA,EXTRACT (YEAR FROM TO_DATE(TGL_LHR,'DD-MON-RR')) AS TAHUNFROM MAHASISWAORDER BY TAHUN ASC

Contoh:

Page 40: 11. DML Update Delete Dan Select

REFERENSI TAMBAHAN http://docs.oracle.com/cd/B28359_01/

server.111/b28286/functions052.htm

Page 41: 11. DML Update Delete Dan Select

LATIHAN

Dari struktur tabel di atas, buat query SQL untuk:Menambah data mata kuliah berupa:1. Kode: IF001, Nama: BASIS DATA, SKS: 32. Kode: IF002, Nama: PEMROGRAMAN, 3. Kode: IF003, Nama: IMKLakukan update pada:4. Mata kuliah basis data seharusnya jumlah sks=45. Mata kuliah pemrograman sksnya di isi 3Lakukan delete pada mata kuliah yang jumlah sksnya

null


Recommended