Materi 6
PENGENALAN SQL
(StructureD Query Language)
Dosen: Anindya Apriliyanti Pravitasari
Sinta Septi Pangastuti
“In order to have a decentralised database, you need to
have security. In order to have security, you need to -
you need to have incentives.”
– Vitalik Buterin –
• SQL singkatan dari Structured Query Language yang
merupakan bahasa komputer standar ANSI (American
National Standards Institute).
• Dengan SQL kita dapat :
SQL
•Membuat basis data dan struktur tabel
•Input, update, dan delete data dari tabel
•Membuat query sederhana dan kompleks SQL
• SQL tersedia dalam banyak versi [Link], DB2, MS SQL
server, Oracle, MySQL, Sybase,dll.
DDL (Data Definition Language)
Berfungsi untuk membuat atau menghapus
SQL
database dan mendefinisikan objek-objek
yang ada di dalam database.
DML (Data Manipulation Language)
Berfungsi untuk memanipulasi data (menampilkan,
menambahkan, dan menghapus data)
DDL
(Data Definition Language)
1. CREATE
Digunakan untuk membuat database dan objek-objek di dalam database.
Membuat database
Create Database Namadatabase
Contoh :
Create Database Kepegawaian
Mengaktifkan database yang telah dibuat
Use Namadatabase
Contoh :
Use Kepegawaian
Membuat Table
Create Table NamaTable (Nama_field/kolom typedata
(size), …)
Contoh :
Create Table pegawai (NIP char (8) not null
primary key, Nama varchar (25), Alamat varchar
(50),telf varchar (15))
2. DROP
Digunakan untuk menghapus database dan objek-objek di dalam database.
Menghapus Database dan Tabel
Drop Database Namadatabase Drop Table Namatable
Contoh : Contoh :
Drop Database Kepegawaian Drop Table pegawai
3. ALTER
Berfungsi untuk memodifikasi tabel
- menambah kolom/field
- menghapus kolom/field
- membuat primary key atau foreign key
Menambah Kolom/ Field
Alter Table NamaTable add Namafield typedata (size)
Contoh :
Alter Table Pegawai add status varchar (5)
Menghapus Kolom/ Field
Alter Table NamaTable drop Namafield
Contoh :
Alter Table Pegawai drop status
Menambah Primary Key
Alter Table NamaTable add primary key (namafield)
Contoh :
Alter Table Pegawai add primary key (NIP)
DML
(Data Manipulation Language)
1. INSERT
Digunakan untuk Menambah Data dalam satu record
Insert Into NamaTable (namafield1,namafield2,…)
Values (‘nilaifield1’,’nilaifield2’,…)
Contoh :
Insert Into pegawai (nip,nama) Values (’01’,’andika’)
Atau bisa juga bila kita mengingat seluruh bentuk field dalam tabel
Insert Into namatable values (‘nilaifield1’,’nilaifield2’,…)
2. SELECT
Berfungsi untuk Menampilkan record data yang ada dalam table.
Select * from namatabel
Contoh :
Select * from pegawai
Fungsi diatas untuk menampilkan data di semua field yang ada dalam
table pegawai
Simbol * bermaksud ‘all’ atau ‘semua’, dan digunakan untuk mewakili
semua atribut dalam satu tabel
Menampilkan sebagian field beserta recordnya yang ada pada tabel
Select namafield,namafield from namatabel
Contoh :
Select nip,alamat from pegawai
Menampilkan baris record tertentu berdasarkan pilihan field yang
diberikan
Select * from namatabel where namafield=‘nilaifield’
Contoh :
Select * from pegawai where alamat=‘Bandung’
Menampilkan satu field beserta recordnya yang tidak akan berulang
Select distinct namafield from namatabel
Contoh :
Select distinct alamat from pegawai
Baris-baris berulang (duplicate) tidak akan dipaparkan.
Sekiranya kita memilih lebih dari satu atribut ketika menggunakan
DISTINCT, hasilnya adalah gabungan atribut-atribut yang unik
Menampilkan beberapa field beserta recordnya yang sama tidak
akan berulang
Select distinct namafield1,namafield2 from namatabel
Contoh :
Select distinct alamat,status from pegawai
NIP nama alamat status alamat status
01 Andika Bandung Nikah Bandung Nikah
02 Vebrina Surabaya Single Surabaya Single
03 Anton Bandung Nikah Jakarta Duda
04 Joni Jakarta Duda
satu baris nip [03] tidak dipaparkan karena berulang.
Menggunakan Ungkapan Aritmatik dalam Pernyataan
+, -, /, *
Select namafield ungkapan aritmatik from namatabel
Contoh :
Select nama,gaji/2 from pegawai
NIP nama alamat status gaji nama No column
01 Andika Bandung Nikah 1200000 Andika 600000
02 Vebrina Surabaya Single 900000 Vebrina 450000
03 Anton Bandung Nikah 1000000 Anton 500000
04 Joni Jakarta Duda 850000 Joni 425000
Kita dapat memberi nama ulang suatu atribut (walaupun telah
mempunyai nama) dengan menggunakan “AS”
SELECT nama, gaji/2 AS gajisetengah FROM pegawai
nama gajisetengah
Andika 600000
Vebrina 450000
Anton 500000
Joni 425000
Kita dapat membuat dan mengubah judul field yang akan di tampilkan
Select namafield As namafieldbaru from namatabel
Contoh :
Select nama As namalengkap from pegawai
menampilkan nama dari tabel pegawai dimana field nama pada hasil
SQL di ubah menjadi namalengkap
Menggunakan Simbol perbandingan <, >, =
untuk membuat pemilihan
Select namafield from namatabel where simbol perbandingan
Contoh :
Select nama,gaji from pegawai where gaji > 1000000
Select nama,gaji from pegawai where gaji < 900000
Select nama,gaji from pegawai where gaji = 900000
Jarak Nilai Sebagai Kriteria
Kita dapat mengunakan pernyataan BETWEEN
Select namafield from namatabel where namafield
between nilai and nilai
Contoh :
Select nama,gaji from pegawai where gaji between
850000 and 1000000
Operator Logika Boolean
• Apabila AND digunakan, disemua syarat sebelum dan setelah AND
harus benar untuk suatu tuple dipilih
• Apabila OR digunakan, hanya salah satu syarat sebelum atau
sesudah OR harus benar ataupun keduanya benar untuk suatu tuple
dipilih
• Apabila NOT digunakan, yang bukan syarat yang akan di tampilkan
Menggunakan operator Boolean Seperti And, Or, dan Not
Select namafield1,namafield2 from namatabel where
namafield1 operatorboolean namafield2
Contoh :
Select alamat,gaji from pegawai where
alamat=‘Bandung’ and gaji > 1000000
Select alamat,gaji from pegawai where
alamat=‘Surabaya’ Or gaji > 900000
Select * from pegawai where alamat=‘Bandung’ Or
alamat=‘Surabaya’
Select * from pegawai where Not alamat=‘Bandung’
Operator IN dan LIKE
• Operator IN digunakan untuk pencocokan data kondisi pencarian
dengan salah satu data yang ada pada suatu daftar nilai
• Operator LIKE digunakan untuk:
✓ pencarian data
✓ Bekerja pada type data char, varchar, text
Operator In Operator Like
Select namafield from Select namafield from
namatabel where namafield In namatabel where namafield
(nilaifield1,nilaifield2) Like ‘%ekspresi%’
Contoh : Contoh:
Select * from pegawai where Select * from pegawai where
alamat In nama Like ‘%andi%’
(‘Bandung’,’Surabaya’)
(menampilkan semua klolom
Select nama,alamat from dari tabel pegawai yang
pegawai where alamat In namanya mengandung kata andi)
(‘Bandung’,’Surabaya’)
Fungsi AGREGAT
• Fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input
dan mengembalikan satu nilai sebagai output
• SQL menyediakan 5 fungsi :
✓ AVG : Rata-rata
✓ MIN : Minimum
✓ MAX : Maksimum
✓ SUM : PenJumlahan isi record
✓ COUNT : Menjumlahkan data
Select fungsi agregat SUM/AVG/MIN/MAX/COUNT
(namafield) As namafieldbaru from nama table
• Operasi MIN, MAX dan COUNT dapat dilakukan dalam atribut yang
mempunyai jenis data rentetan (string) seperti Char, Text, dan Varchar
• Operasi AVG dan SUM hanya boleh dilakukan keatas atribut-atribut yang
mempunyai jenis data numerik yang berjenis int, bigint, decimal, bit,
numeric, real, smallint, tinyint.
SUM
→ Penjumlahan dalam satu kolom
Select sum (gaji) As jum_gaji from pegawai
NIP nama gaji jum_gaji
01 Andika 1200000 3950000
02 Vebrina 900000
Menampilkan jumlah
03 Anton 1000000
keseluruhan dari gaji yang
04 Joni 850000 diberikan
AVG
→ Rata-rata dalam satu kolom
Select Avg (gaji) As rata_gaji from pegawai
NIP nama gaji rata_gaji
01 Andika 1200000 987500
02 Vebrina 900000
03 Anton 1000000
04 Joni 850000
MIN
→ Mencari dan menampilkan nilai terendah/ minimum.
Select min (gaji) As Gaji_min from pegawai
(Menampilkan gaji terendah dari tabel pegawai)
Select min (gaji) As Gaji_min from pegawai where
status=‘nikah’
(Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)
MAX
→ Mencari dan menampilkan nilai tertinggi/ maximum.
Select max (gaji) As Gaji_max from pegawai
(Menampilkan gaji tertinggi dari tabel pegawai)
Select max (gaji) As Gaji_max from pegawai where
status=‘nikah’
(Menampilkan gaji tertinggi dari tabel pegawai yang statusnya telah menikah)
COUNT
→ Menghitung jumlah record yang sesuai dengan kondisi.
Select count (nip) As jlh_peg from pegawai
(Menampilkan jumlah seluruh pegawai dari tabel pegawai)
Select count (nip) As jlh_peg from pegawai where
status=‘nikah’
(Menampilkan jumlah seluruh pegawai dari tabel pegawai yang statusnya telah
menikah)
3. UPDATE
Berfungsi untuk mengubah satu atau lebih data yang terdapat pada
satu atau lebih kolom tabel.
Update namatabel set namafield=nilai where kondisi
Contoh :
Update pegawai set alamat=‘Solo’ where nip=’01’
Menukar record dalam Tabel
Update namatabel set namafield=nilai
Contoh :
Update pegawai set gaji=gaji+12000
pernyataan diatas akan menambah ‘gaji’ yang awal dengan +12000 dalam
tabel pegawai
4. DELETE
Berfungsi untuk menghapus satu atau beberapa record dalam suatu tabel.
Delete from namatabel where kondisi
Contoh :
Delete from pegawai where nip=’01’;