Transcript SQL DML

SQL DML

Pertemuan 6 dan 7

Sub Topik

 Menambah data  Mengubah data  Menghapus data  SQL - Select

MANIPULASI DATA

 Data Manipulation Language (DML) merupakan bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data  Modifikasi data terdiri dari: penambahan (insert), pembaruan (update) dan penghapusan (delete).

Penambahan Data

 Instruksi SQL untuk melakukan penambahan data adalah menggunakan syntax:

INSERT INTO [(field1, field2, …)] VALUES (field1 [,field2, …]) | SQL-SELECT Keterangan

  nama tabel yang akan ditambahkan datanya

[(field1, field2, …)]

 field-field di dalam tabel yang akan diisikan nilainya 

VALUES

(nilai1 [,nilai2, …])

| SQL-SELECT

 nilai yang diisikan Jika mengisikan sebuah data tunggal saja yang tidak diambil dari tabel lain, gunakan:

VALUES (nilai1 [,nilai2, …])

Penambahan Data

Contoh

Untuk mengisikan data pada tabel penerbit: INSERT INTO penerbit

VALUES (90, 'CV Cempaka', 'Jl Gebang Wetan 99',

'59911111', 'http://www.cempaka.co.id')

Contoh di atas tidak menyertakan klausa [(field1, field2, …)], sehingga pengisiannya harus seluruh field dan urutannya harus benar sesuai dengan urutan field pada struktur tabel.

Penambahan Data

Contoh

Untuk mengisikan data pada tabel penerbit: INSERT INTO penerbit (PN_ID, PN_Nama)

VALUES (91, 'CV Angkasa')

Contoh di atas menyebutkan field-field yang diisikan pada tabel penerbit, sehingga nilai-nilai yang ditulis setelah klausa VALUES juga harus mengikuti field-field tersebut.

Mengubah Data

 Instruksi SQL untuk melakukan perubahan data adalah menggunakan syntax:

UPDATE SET = [ , = , …] [WHERE ] Keterangan

  nama tabel yang akan diubah datanya

SET = [,=,... ]

 nilai baru yang akan  [ diisikan pada field tertentu

WHERE

]  filter yang berlaku untuk menentukan data mana saja yang diupdate

Mengubah Data

Contoh  Untuk melakukan update massal (berlaku untuk seluruh field), yakni menaikkan seluruh harga sebesar 110% pada koleksi:

UPDATE koleksi SET KL_Harga=KL_Harga*1.1

 Untuk melakukan update tertentu, yakni memberikan keterangan dg isian ‘Buku TA’ untuk semua koleksi yang berjenis buku TA (KL_TK_ID=4):

UPDATE koleksi SET KL_Keterangan = 'Buku TA'

WHERE KL_TK_ID=4

Menghapus Data

 Instruksi SQL untuk menghapus data adalah menggunakan syntax:

DELETE FROM [WHERE ] Keterangan

 [

WHERE

 nama tabel yang akan dihapus datanya ]  filter yang berlaku untuk menentukan data mana saja yang dihapus

Menghapus Data

Contoh  Untuk menghapus seluruh data peminjaman:

DELETE FROM Peminjaman

 Untuk menghapus seluruh koleksi yang berjenis buku TA (idJenisKoleksi=4)

DELETE FROM koleksi WHERE KL_TK_ID=4

SQL Query

 Berikut adalah syntax dari SQL-SELECT

SELECT [DISTINCT] select_list FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC | DESC] ]

SQL Query

SELECT, INTO, FROM, WHERE, GROUP BY, HAVING DAN ORDER BY

kata kunci (keyword) yang harus disertakan jika kita membutuhkannya di dalam pengolahan data

select_list, table_source, search_condition, group_by_expression, order_expression

isian yang bisa kita ubah berdasarkan kebutuhan kita

Kurung kotak [ ]

bagian tersebut boleh disertakan atau tidak, tergantung dari kebutuhan

Urutan syntax untuk kata kunci (keyword), misalnya ORDER BY terletak di setelah GROUP BY, menunjukkan bahwa keyword harus disusun berdasarkan urutan tersebut, jika keduanya disertakan, ORDER BY tidak boleh ditulis mendahului GROUP BY

select_list

adalah kolom-kolom yang didefinisikan sebagai hasil dari proses query a.

Menampilkan keseluruhan field

Untuk menampilkan keseluruhan field dari tabel tabel yang didefinisikan, digunakan *. Misalnya, untuk menampilkan seluruh field dari tabel Anggota, perintahnya:

SELECT * FROM Anggota

select_list

b. Menampilkan kolom-kolom tertentu

Kolom-kolom yang dipilih berupa

ekspresi

, yang mana ekspresi tersebut bisa berupa:  field tabel (biasanya)  konstanta  operasi dan fungsi Antara kolom satu dengan lainnya

dipisahkan dengan tanda koma (,)

. Jika merupakan field tabel, maka judul kolom adalah nama field tersebut.

select_list

Contoh  menampilkan nama dan alamat Anggota SELECT

nama, alamat

FROM Anggota  Yang terdapat ekspresi fungsi dari query sebelumnya, yakni menampilkan nama dalam bentuk huruf kapital: SELECT

UPPER(nama)

, alamat FROM Anggota SELECT

Lower(nama)

, alamat FROM Anggota

select_list

c. Mengubah judul kolom

 Kolom-kolom yang dipilih bisa diberi judul tertentu sesuai dengan keinginan kita.  Menggunakan syntax:

ekspresi AS judul_kolom

Ini merupakan cara standar yang dipakai pada banyak sistem database.

select_list

Contoh

Beberapa query pada point b sebelumnya, diberi judul kolom sbb:  menampilkan nama dan alamat Anggota SELECT

nama AS NamaAnggota, alamat AS AlamatAnggota

FROM Anggota

select_list

d. Menyertakan nama tabel atau alias

Jika kita memasukkan sebuah field tabel di dalam sebuah ekspresi kolom, kita bisa menyertakan nama tabel Sebelum nama fieldnya yang dipisah dengan tanda titik:

nama_tabel.nama_field

Untuk apa?

 Untuk mempermudah analisa pembuatan query  Untuk membedakan kepemilikan sebuah field di dalam query yang menyertakan lebih dari satu tabel. Sebab bisa saja terjadi dua buah tabel memiliki nama field yang sama

select_list

Contoh

untuk sebuah contoh query sebelumnya, jika disertakan nama tabel adalah sbb:

SELECT UPPER(

Anggota.nama

) As Nama,

Anggota.alamat

FROM Anggota

DISTINCT

Digunakan apabila kita ingin

menghilangkan duplikasi

dari hasil query (hasil query yang sama ditampilkan sekali) SELECT [DISTINCT] select_list FROM table_source

DISTINCT

Contoh untuk menampilkan nomor-nomor anggota yang sedang meminjam atau belum mengembalikan

:

SELECT NoAnggota FROM Peminjaman pada hasil query tersebut terdapat NoAnggota yang ditampilkan lebih dari sekali. Untuk meniadakan duplikasi, querynya adalah sbb: SELECT DISTINCT NoAnggota FROM Peminjaman NoAnggota

ID001 ID002 ID001 ID003

NoAnggota

ID001 ID002 ID003

table_source

 Adalah sumber data dari query  Bisa merupakan tabel ataupun view  Tabel yang disertakan bisa lebih dari satu. Jika lebih dari satu, dalam penulisan dipisah dengan koma.

Pemberian nama lain (alias)

 Sebuah tabel bisa diberi nama lain (alias), yang mana hal ini digunakan untuk memperpendek nama atau untuk membedakan field jika sebuah query mengambil tabel yang sama lebih dari satu  Nama alias ditulis setelah nama tabel yang bersangkutan

Pemberian nama lain (alias)

Contoh Alias yang digunakan untuk memperpendek nama tabel: SELECT UPPER(

ang.nama

) AS Nama,

ang.alamat

FROM

Anggota ang

Nama tabel Anggota di atas diberi nama alias ang.

Sehingga untuk menampilkan fieldnya, cukup disertakan aliasnya saja.