8-SQL Dasar
8-SQL Dasar
chmah
Nur R
Overview MySQL
MySQL merupakan Database
Server yang bersifat :
Open Source
Multiplatform
Berbasis database relasional
Bisa dipakai untuk database pribadi
atau pada level korporat berskala
kecil hingga besar
Selain bersifat free, ada juga yang
chmah
bersifat komersial
Nur R
Dasar SQL
SQL = Structured Query Language
Digunakan untuk mengakses basis data relasional
Bersifat standar; bisa dipakai untuk basis data relasional
lainnya
Perintah SQL dapat dibagi menjadi DDL dan DML
chmah
Nur R
Perintah DDL
DDL = Definition Data Language
chmah
DROP TABLE untuk menghapus tabel
USE Pegawai;
Tabel:
Nama Database Tabel:
Pekerjaan
Tabel: Bagian
Field:
Pribadi
MembuatTabel Field:
-NIP
Field:
-NIP
-Kode_Bag
-Nama_Bag
-Nama -Tgl_Masuk
-Tgl_Lahir -Kode_Bag
CREATE TABLE Pribadi ( -Gaji
-Sex
Nip CHAR(5) NOT NULL PRIMARY KEY, -Alamat
chmah
-Kota
Nama VARCHAR(35) NOT NULL,
Tgl_lahir DATE,
Sex ENUM('P','W'),
Alamat VARCHAR(35),
Kota VARCHAR(15));
Nur R
Penjelasan Tipe Data
KARAKTER
CHAR:Teks dengan maksimal 255 karakter
VARCHAR:Teks maksimal 255 karakter dan bersifat variabel
TEXT:Teks dengan panjang maksimal 65535
BILANGAN
TINYINT: Bilangan 1 byte
SMALLINT: Bilangan 2 byte
chmah
INT atau INTEGER Bilangan 4 byte
BIGINT: Bilangan 8 byte
FLOAT: Bilangan pecahan (4 byte)
DOUBLE atau REAL: Bilangan pecahan (8 byte)
DECIMAL(M, D) atau NUMERIC(M, D): Bilangan pecahan
Nur R
Lanjutan…tipe data
LAIN-LAIN
LAIN-
DATE:Tanggal
DATETIME:Waktu (tanggal dan jam)
TIME : Jam
ENUM(‘nilai1’,‘nilai2’, …): Nilai enumerasi
BOOLEAN: tipe benar atau salah
KATATAMBAHAN
chmah
NOT NULL :Tidak boleh kosong
PRIMARY KEY: Kunci primer
AUTO_INCREMENT: Nilai naik secara otomatis tanpa diisi
Nur R
Drop and Alter Table Constructs
Drop Table digunakan untuk menghapus tabel
DROP TABLE Riwayat;. Nama tabel
Alter Table digunakan untuk mengganti nama atribut pada suatu relasi
alter table r add A D
dimana A nama atribut yang akan diganti pada relasi r dan D nama atribut yang
baru.
chmah
Nur R
Perintah DML
Data Manipulation Language (DML) merupakan bahasa basis data
Contoh:
SELECT – mengambil data
DELETE – menghapus data
INSERT – menyisipkan data
UPDATE – mengubah data
chmah
Nur R
SQL-Select
A typical SQL query has the form
chmah
The result of an SQL query is a relation.
∏A1,A2,..,An(σP(r1xr2x…xrm))
Nur R
Contoh :
Find the names of all branches in the loan relation:
select branch_name from loan
In the relational algebra, the query would be:
σbranch_name (loan)
Find the names of all branches in the loan relations, and duplicates
select distinct branch_name from loan
chmah
Nur R
Penambahan Data
INSERT INTO <namaTabel> [(field1, field2, …)]
VALUES (nilai1 [,nilai2, …]) | SQL-SELECT
Keterangan :
<namaTabel> 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, …])
chmah
Menambahkan data Bud dan Sally pada atribut beer dan drinker pada
relasi Likes:
UPDATE <namaTabel>
SET <field1>=<nilai1> [ , <field2> = <nilai2>, …]
[WHERE <kondisi>]
Keterangan
<namaTabel> nama tabel yang akan ditambahkan datanya
SET <field1>=<nilai1> [,<field2>=<nilai2>,... ] nilai baru yang akan
diisikan pada field tertentu
chmah
[WHERE <kondisi>] filter yang berlaku untuk menentukan data mana saja
yang diupdate
Nur R
Contoh
UPDATE koleksi SET KL_Harga=KL_Harga*1.1
Untuk melakukan update massal (berlaku untuk seluruh field), yakni menaikkan
seluruh harga sebesar 110% pada koleksi:
chmah
• Untuk melakukan update dengan kondisi , yakni memberikan keterangan dg
isian‘BukuTA’ untuk semua koleksi yang berjenis buku TA (KL_TK_ID=4):
Nur R
Menghapus Data
DELETE FROM <namaTabel>
[WHERE <kondisi>]
Keterangan
<namaTabel> nama tabel yang akan ditambahkan datanya
[WHERE <kondisi>] filter yang berlaku untuk menentukan data mana
saja yang dihapus
Contoh
Untuk menghapus seluruh data peminjaman:
DELETE FROM Peminjaman
chmah
Untuk menghapus seluruh koleksi yang berjenis buku TA (idJenisKoleksi=4
chmah
Nur R
WHERE
Klausa ini biasanya digunakan untuk:
1. Filter (penyaringan) data.
2. Merelasikan/menghubungkan query yang disusun lebih
dari satu tabel.
Operasi Pembandingan
Operasi:
= < <= >= > <> is
nilai yang belum berisi nilai. chmah
Khusus untuk pembanding IS, nilai yang diisikan adalah null, yakni sebuah
nilai null tidak sama dengan nilai 0 pada tipe numerik ataupun string
kosong pada tipe string
Nur R
Contoh
menampilkan anggota yang berjenis kelamin laki-laki:
SELECT * FROM Anggota WHERE JK="L"
menampilkan Anggota yang tahun kelahirannya lebih dari 1985
chmah
simbol _ artinya mewakili 1 sembarang karakter
Nur R
Contoh
menampilkan anggota yang nama depannya "Budi":
chmah
Nur R
Contoh
chmah
SELECT * FROM anggota WHERE
IDJenisAnggota NOT IN (1, 3)
Nur R
Query tunggal, yakni nilai-nilai yang digunakan sebagai pembanding
diambil dari sebuah query tunggal yang hasilnya hanya satu kolom saja
Contoh
chmah
menampilkan koleksi yang sedang dipinjam:
chmah
q05. Daftar Mahasiswa (nrp, nama) yang dosen walinya
bernama "Irfan Subakti"
q06. Daftar Mahasiswa (nrp, nama, alamat) dan dosen
walinya (nip, nama, alamat) yang alamatnya sama-
sama di "Sidoarjo"
Nur R
q16. Jumlah seluruh mahasiswa per jenis kelamin
q17. Total IPK per mahasiswa (nrp, nama) --> rumus
IPK = SUM(sks*kredit) / SUM(kredit)
q18. Nilai tertinggi, terendah, rata-rata per nama
Mata Kuliah
q19. Nilai tertinggi, terendah, rata-rata per kelas dan
jeniskelamin
q20. Gabungan seluruh nama, alamat mahasiswa dan
dosen yang beralamat di "Sidoarjo" yang urut
berdasarkan nama