0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan12 halaman

Pengenalan SQL untuk Basis Data

Bab ini membahas bahasa query SQL yang digunakan untuk mengakses dan memanipulasi basis data relasional. SQL terdiri atas 3 bahasa yaitu DDL untuk mendefinisikan basis data, DML untuk memanipulasi data, dan DCL untuk mengontrol akses data. Perintah SQL seperti CREATE, DROP, ALTER digunakan untuk mengelola struktur basis data, sedangkan INSERT, UPDATE, DELETE digunakan untuk memanipulasi isi datanya.

Diunggah oleh

fajar krisma
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai RTF, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan12 halaman

Pengenalan SQL untuk Basis Data

Bab ini membahas bahasa query SQL yang digunakan untuk mengakses dan memanipulasi basis data relasional. SQL terdiri atas 3 bahasa yaitu DDL untuk mendefinisikan basis data, DML untuk memanipulasi data, dan DCL untuk mengontrol akses data. Perintah SQL seperti CREATE, DROP, ALTER digunakan untuk mengelola struktur basis data, sedangkan INSERT, UPDATE, DELETE digunakan untuk memanipulasi isi datanya.

Diunggah oleh

fajar krisma
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai RTF, PDF, TXT atau baca online di Scribd

Pengantar Basis Data

BAB IX
STRUCTURED QUERY LANGUAGE (SQL)

BAB IX

1. Pengenalan SQL

SQL adalah bahasa standar yang digunakan untuk mengakses


basis data atau berkomunikasi dengan basis data relasional.

Standar SQL mula-mula didefinisikan oleh ISO (International Standards


Organization) dan ANSI (the American National Standards Institute), yang dikenal
dengan sebutan SQL86

SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada
sebuah program aplikasi.

Saat ini banyak software database yang menggunakan SQL sebagai perintah
untuk mengakses database, diantaranya :
• DB2 • Microsoft Access
• Ingres • MySQL
• Informix • PostgreSQL
• ORACLE • Sybase

1
Pengantar Basis Data

BAB IX

1. Pengenalan SQL

Pada praktiknya implementasi SQL sangat bervariasi artinya tidak semua fitur
didukung
SQL did k oleh
l h vendor
d perangkat
k t llunak dimana b
k DBMS di beberapa
b perintah
i t h SQL
memiliki sedikit perbedaan

Walaupun begitu, pemahaman terhadap SQL akan mempermudah perpindahan


dari suatu database ke database yang lain, karena secara fungsional banyak yang
bersifat umum

MySQL sebagai database server juga mendukung perintah SQL dimana secara
khusus MySQL juga menambahkan sejumlah fungsi yang membuat perintah SQL
pada MySQL sangat variatif

Perintah yang dapat dipahami/dikerjakan oleh database server MySQL disebut


dengan istilah pernyataan (statement)

BAB IX

1. Pengenalan SQL
Permintaan dari klien dan tanggapan database server MySQL :

Permintaan
P i t berupa
pernyataan, seperti :
SELECT * FROM
tb_mahasiswa;

Hasil dari permintaan

2
Pengantar Basis Data

BAB IX

2. Pengelompokan Bahasa SQL


SQL terdiri dari 3 bahasa : 1. DDL (Data Definition Language)
DDL digunakan untuk mendefinisikan,
mengubah, serta menghapus basis data
dan objek-objek yang diperlukan dalam
basis data, misalnya tabel, view, user,
dan sebagainya.
Secara umum, DDL yang digunakan
adalah CREATE untuk membuat objek
baru, ALTER untuk mengubah objek yang
sudah ada, dan DROP untuk menghapus
objek.

2. DML (Data Manipulation Language)


Bahasa basis data yang berguna untuk
melakukan manipulasi dan pengambilan
data pada suatu basis data

3. DCL (Data Control Language)


Digunakan untuk mengontrol hak para
pemakai data dengan perintah : grant,
revoke

BAB IX

3. DDL (Data Definition Languange)


CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis
data.
SQL yang umum digunakan adalah:
• CREATE DATABASE, digunakan untuk membuat sebuah basis data
baru
Sintaks : CREATE DATABASE nama_database

• CREATE TABLE, digunakan untuk membuat tabel baru pada basis data
yang sedang aktif

Sintaks : CREATE TABLE nama_tabel(


nama_kolom_1 tipe_data ([ukuran]) [constraints],
nama_kolom_2 tipe_data ([ukuran]) [constraints],
...,
...,
nama_kolom_n tipe_data ([ukuran] [constraints]),
PRIMARY KEY (nama_kolom_1[, ...]));

3
Pengantar Basis Data

BAB IX

3. DDL (Data Definition Languange)


CREATE
Contoh pernyataan(sintaks) SQL CREATE:
CREATE TABLE tb_mahasiswa (
nim CHAR(10) NOT NULL,
mhs_nama VARCHAR(30) NOT NULL,
mhs_alamat VARCHAR(50) NULL,
mhs_tgllahir DATE NULL,
PRIMARY KEY (nim));

CREATE TABLE departement ( kode_dept


CHAR (1) NOT NULL, nama_dept CHAR
(15) NOT NULL UNIQUE, PRIMARY KEY
(kode_dept));

CREATE TABLE album (


id_album SMALLINT AUTO_INCREMENT,
nama_album VARCHAR (20) NOT NULL,
PRIMARY KEY (id_album));

BAB IX

3. DDL (Data Definition Languange)


DROP
DROP digunakan untuk menghapus basis data maupun objek-objek basis
data seperti tabel, view, index dan objek lain
SQL yang umum digunakan adalah:
• DROP DATABASE, digunakan untuk menghapus basis data

Sintaks : DROP DATABASE nama_database

• DROP TABLE, digunakan untuk menghapus objek tabel


Sintaks : DROP TABLE nama_tabel;

Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut
otomatis akan dihapus atau tidak akan berfungsi seperti :
• Semua record dalam tabel akan terhapus
• Index dan view pada tabel akan hilang
• Deskripsi tabel akan hilang

4
Pengantar Basis Data

BAB IX

3. DDL (Data Definition Languange)


ALTER
ALTER digunakan untuk merubah struktur tabel

Sintaks : ALTER TABLE nama_tabel


CHANGE(nama_kolom tipe_kolom);

Sintaks : ALTER TABLE nama_tabel


ADD (nama_kolom tipe_kolom [BEFORE[AFTER] nama_kolom]);

Sintaks : ALTER TABLE nama_tabel


DROP (nama_kolom tipe_kolom);

Contoh :

ALTER TABLE tb_mahasiswa ADD mhs_sex CHAR(1) AFTER mhs_nama;

ALTER TABLE tb_mahasiswa CHANGE mhs_sex mhs_jeniskel ENUM


(’L’,’W’) NOT NULL;

ALTER TABLE tb_mahasiswa DROP mhs_sex;

BAB IX

4. DML (Data Manipulation Languange)


INSERT
INSERT digunakan untuk mengisikan/memasukkan data ke dalam tabel

Sintaks : INSERT INTO nama_tabel


VALUES (value list);
Sesuai sintaks SQL diatas maka urutan data (value list) pada VALUES sesuai
dengan urutan nama field dalam pendefinisian struktur tabel
Contoh : INSERT INTO tb_mahasiswa VALUES
(’1005020001’,’Nyoman Sudyasa’,’L’,’[Link]’,’1982-12-23’);

Pernyataan INSERT memungkinkan penambahan baris dengan field tertentu


saja yang diisikan, namun field yang tidak disebutkan tersebut (harus yang
tidak mengandung NOT NULL) akan diisi nilai NULL

Sintaks : INSERT INTO nama_tabel(field list)


VALUES (value list);

Contoh : INSERT INTO tb_mahasiswa(nim, mhs_nama,


mhs_jeniskel) VALUES (’1005020002’, ’Dewa Gede’, ’L’);

5
Pengantar Basis Data

BAB IX

4. DML (Data Manipulation Languange)


UPDATE
UPDATE digunakan untuk merubah data yang sebelumnya sudah terekam
dalam tabel
Sintaks : UPDATE nama_tabel
SET field_1 = nilai_baru_1,
field_2 = nilai_baru_2,
...,
field_n = nilai_baru_n
[WHERE kondisi];

Klausa SET digunakan untuk menentukan field-field yang akan diubah

Klausa WHERE bersifat optional, artinya bila klausa ini disertakan maka
hanya baris-baris tertentu saja yang memenuhi kondisi yang akan diubah
dan jika klausa ini tidak disertakan maka semua baris akan diubah
Contoh : UPDATE tb_mahasiswa
SET mhs_nama = ’Nyoman Sudyasa Karang’, mhs_tgllahir = ’
1982-12-20’ WHERE nim = ’1005020001’;

BAB IX

4. DML (Data Manipulation Languange)


DELETE
DELETE digunakan untuk menghapus data yang sebelumnya sudah terekam
dalam tabel
Sintaks : DELETE FROM nama_tabel
[ WHERE kondisi ];

Klausa WHERE perlu disertakan kalau bermaksud menghapus baris tertentu

Apabila klausa WHERE tidak disertakan, maka semua baris pada tabel
bersangkutan (yang disebutkan dalam FROM) akan dihapus

Contoh : DELETE FROM tb_mahasiswa


WHERE nim = ’1005020001’;

Contoh : DELETE FROM tb_mahasiswa


WHERE mhs_tgllahir < ’1982-01-01’;

6
Pengantar Basis Data

BAB IX

4. DML (Data Manipulation Languange)


SELECT
SELECT adalah suatu perintah/pernyataan query untuk
menampilkan/memfilter baris data dalam satu tabel atau lebih

Untuk latihan/persiapan penggunaan SELECT, silahkan buat database baru


bernama db_pegawai, kemudian :

1. Buat tabel tb_pegawai,


CREATE TABLE tb_pegawai(nip CHAR(5) NOT NULL,peg_nama
VARCHAR (25) NOT NULL, peg_kota VARCHAR (15), peg_tgllahir
DATE, peg_sex ENUM (’L’,’W’), PRIMARY KEY (nip));

Isikan data ke tabel tb_pegawai,


INSERT INTO tb_pegawai VALUES
(’12345’,’Dian Sastro’,NULL,’1982-12-23’,’W’),
(’12346’,’Ahmad Dhani’,’Yogya’,’1981-03-13’,’L’),
(’12347’,’Wayan Kelor’,’Bali’,’1982-10-12’,’L’),
(’12348’,’Dira Nuraini’,’Jakarta’,’1980-08-09’,’W’),
(’12349’,’Dhani Akbar’,’Yogya’,’1981-05-13’,’L’);

BAB IX

4. DML (Data Manipulation Languange)


SELECT
INSERT INTO tb_pegawai VALUES
(’12350’,’Ali Akbar’,’Klaten’,’1981-12-14’,’L’),
(’12351’,’Tora Sudiro’,’Yogya’,’1979-03-13’,’L’),
(’12352’,’Made Mantra’,’Bali’,’1983-11-12’,’L’),
(’12353’,’Rahul’,’Jakarta’,’1984-08-02’,’L’),
(’12354’,’Inne Safitri’,’Yogya’,’1982-08-13’,’W’);

2. Buat tabel tb_departemen,


CREATE TABLE tb_departemen(dep_kode TINYINT
AUTO_INCREMENT, dep_nama VARCHAR (15) NOT NULL UNIQUE,
PRIMARY KEY (dep_kode));

Isikan data ke tabel tb_departemen :


INSERT INTO tb_departemen(dep_nama) VALUES (’Produksi’),
(’Pemasaran’),(’HRD’),(’Akuntansi’),(’IT’);

7
Pengantar Basis Data

BAB IX

4. DML (Data Manipulation Languange)


SELECT
3. Buat tabel tb_gaji,
CREATE TABLE tb_gaji(nip CHAR(5) NOT NULL, dep_kode
TINYINT NOT NULL, gaji INT UNSIGNED, PRIMARY KEY (nip));

Isikan data ke tabel tb_gaji :


INSERT INTO tb_gaji VALUES
(’12345’,2,1200000),(’12346’,1,1000000),
(’12347’,3,1300000),(’12348’,4,1200000),
(’12349’,1,1000000),(’12350’,2,1000000),
(’12351’,2,1400000),(’12352’,1,1000000),
(’12353’,1,1000000),(’12354’,1,1000000);

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.1 Menampilkan Baris Data


1. Menampilkan semua kolom/field dan semua baris

Sintaks : SELECT * FROM nama_tabel


Contoh : SELECT * FROM tb_pegawai;
+-------+--------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+--------------+----------+--------------+---------+
| 12345 | Dian Sastro | Solo | 1982-12-23 | W |
| 12346 | Ahmad Dhani | Yogya | 1981-03-13 | L |
| 12347 | Wayan Kelor | Bali | 1982-10-12 | L |
| 12348 | Dira Nuraini | Jakarta | 1980-08-09 | W |
| 12349 | Dhani Akbar | Yogya | 1981-05-13 | L |
| 12350 | Ali Akbar | Klaten | 1981-12-14 | L |
| 12351 | Tora Sudiro | Yogya | 1979-03-13 | L |
| 12352 | Made Mantra | Bali | 1983-11-12 | L |
| 12353 | Rahul | Jakarta | 1984-08-02 | L |
| 12354 | Inne Safitri | Yogya | 1982-08-13 | W |
+-------+--------------+----------+--------------+---------+

8
Pengantar Basis Data

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.1 Menampilkan Baris Data


2. Menampilkan kolom/field tertentu saja dan semua baris

Adakalanya dari jumlah kolom yang banyak pada sebuah tabel tertentu
hanya dikehendaki untuk menampilkan beberapa kolom-kolom saja

Sintaks : SELECT <field_list> FROM nama_tabel


Contoh : SELECT peg_nama, peg_tgllahir FROM tb_pegawai;
+--------------+--------------+
| peg_nama | peg_tgllahir |
+--------------+--------------+
| Dian Sastro | 1982-12-23
12 |
| Ahmad Dhani | 1981-03-13 |
| Wayan Kelor | 1982-10-12 |
| Dira Nuraini | 1980-08-09 |
| Dhani Akbar | 1981-05-13 |
| Ali Akbar | 1981-12-14 |
| Tora Sudiro | 1979-03-13 |
| Made Mantra | 1983-11-12 |
| Rahul | 1984-08-02 |
| Inne Safitri | 1982-08-13 |
+--------------+--------------+

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.1 Menampilkan Baris Data


3. Memilih baris tertentu

Bila baris dalam suatu tabel sangat banyak, menampilkan semua baris
tidaklah praktis, bisa dipilih baris tertentu saja yang memenuhi suatu
kriteria yang Anda tentukan sendiri
Sintaks : SELECT <field_list> FROM nama_tabel
WHERE kondisi
Contoh : SELECT nip, peg_nama FROM tb_pegawai WHERE peg_sex=’L’;
+-------+-------------+
| nip | peg_nama |
+-------+-------------+
| 12346 | Ahmad Dhani |
| 12347 | Wayan Kelor |
| 12349 | Dhani Akbar |
| 12350 | Ali Akbar |
| 12351 | Tora Sudiro |
| 12352 | Made Mantra |
| 12353 | Rahul |
+-------+-------------+

9
Pengantar Basis Data

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.2 Mengenal Operator


1. Operator IS NULL

Sebagai catatan, operator = (dan juga operator relasional lainnya) tidak


dapat digunakan untuk membandingkan terhadap nilai NULL

Contoh : SELECT peg_nama FROM tb_pegawai WHERE peg_kota = NULL;

Query diatas tidak dapat menampilkan nama pegawai yang nama kotanya
bernilai NULL. Sebagai alternatif pakailah operator IS NULL :
SELECT * FROM tb_pegawai WHERE peg_kota IS NULL;
+-------+-------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+-------------+----------+--------------+---------+
| 12345 | Dian Sastro | NULL | 1982-12-23 | W |
+-------+-------------+----------+--------------+---------+
1 row in set (0.02 sec)

Hasil query diatas menghasilkan bahwa memang ada 1 baris data yang
nama kotanya masih bernilai NULL

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.2 Mengenal Operator


2. Operator Relasional

Merupakan operator yang digunakan untuk melakukan pembandingan


antara dua buah nilai
Contoh : Query menampilkan pegawai yang lahir sesudah tanggal 31
Desember 1981

SELECT * FROM tb_pegawai WHERE peg_tgllahir > ’1981-12-31’;

+-------+--------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+--------------+----------+--------------+---------+
| 12345 | Dian Sastro | NULL | 1982-12-23 | W |
| 12347 | Wayan Kelor | Bali | 1982-10-12 | L |
| 12352 | Made Mantra | Bali | 1983-11-12 | L |
| 12353 | Rahul | Jakarta | 1984-08-02 | L |
| 12354 | Inne Safitri | Yogya | 1982-08-13 | W |
+-------+--------------+----------+--------------+---------+

10
Pengantar Basis Data

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.2 Mengenal Operator


3. Operator Logika OR

Operator OR berguna untuk melakukan query dengan kondisi majemuk.


Bentuk penggunaan OR yaitu di belakang klausa WHERE :
kondisi_1 OR kondisi_2 atau
kondisi_1 || kondisi_2

Contoh : menampilkan semua pegawai yang berasal dari Yogya atau Bali
SELECT * FROM tb_pegawai WHERE (peg_kota = ’Jakarta’) OR
(peg_kota = ’Bali’);

+-------+--------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+--------------+----------+--------------+---------+
| 12347 | Wayan Kelor | Bali | 1982-10-12 | L |
| 12348 | Dira Nuraini | Jakarta | 1980-08-09 | W |
| 12352 | Made Mantra | Bali | 1983-11-12 | L |
| 12353 | Rahul | Jakarta | 1984-08-02 | L |
+-------+--------------+----------+--------------+---------+

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.2 Mengenal Operator


4. Operator Logika AND

Operator AND berguna untuk melakukan query dengan kondisi majemuk.


Bentuk penggunaan AND yaitu di belakang klausa WHERE :
kondisi_1 AND kondisi_2 atau
kondisi_1 && kondisi_2

Contoh : menampilkan semua pegawai yang berasal dari kota Yogya dan
berjenis kelamin laki-laki
SELECT * FROM tb_pegawai WHERE (peg_kota = ’Yogya’) AND
(peg_sex = ’L’);

+-------+-------------+----------+--------------+---------+
| nip | peg_nama | peg_kota | peg_tgllahir | peg_sex |
+-------+-------------+----------+--------------+---------+
| 12346 | Ahmad Dhani | Yogya | 1981-03-13 | L |
| 12349 | Dhani Akbar | Yogya | 1981-05-13 | L |
| 12351 | Tora Sudiro | Yogya | 1979-03-13 | L |
+-------+-------------+----------+--------------+---------+

11
Pengantar Basis Data

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.2 Mengenal Operator


5. Operator Aritmetika
Operator aritmetika berguna untuk melakukan perhitungan terhadap data
secara numeris baik penjumlahan, perkalian, pembagian dan pengurangan

Perhitungan dengan SQL digunakan keyword AS untuk memberikan nama


kolom. AS tersebut memberikan alias terhadap hasil perhitungan sehingga
lebih mudah dibaca
Contoh : menghitung gaji baru pegawai kalau dinaikkan 10%
SELECT nip, gaji, 0.1 * gaji AS jml_naik, (0.1 * gaji) + gaji
AS gaji baru FROM tb gaji;
+-------+---------+----------+-----------+
| nip | gaji | jml_naik | gaji_baru |
+-------+---------+----------+-----------+
| 12345 | 1200000 | 120000.0 | 1320000.0 |
| 12346 | 1000000 | 100000.0 | 1100000.0 |
| 12347 | 1300000 | 130000.0 | 1430000.0 |
| 12348 | 1200000 | 120000.0 | 1320000.0 |
...
| 12353 | 1000000 | 100000.0 | 1100000.0 |
| 12354 | 1000000 | 100000.0 | 1100000.0 |
+-------+---------+----------+-----------+

BAB IX
4. DML (Data Manipulation Languange) - SELECT

4.3 Memperoleh Data Unik dengan DISTINCT

Sintaks : SELECT DISTINCT <nama_field> FROM <nama tabel>

Sebelum mendapatkan data yang unik pada sebuah field, lakukan query
berikut (kota asal pegawai tidak unik, banyak yang kembar) :
SELECT peg_kota FROM tb_pegawai;
+----------+
| peg_kota |
+----------+ Misalnya kita ingin mengetahui di kota mana saja
| NULL |
| Yogya |
pegawai bertempat tinggal, maka query nya bisa
| Bali |
berbentuk :
| Jakarta |
| Yogya | SELECT DISTINCT peg_kota FROM tb_pegawai;
| Klaten | +----------+
| Yogya | | peg_kota |
| Bali | +----------+
| Jakarta | | NULL |
| Yogya | | Yogya |
+----------+ | Bali |
| Jakarta |
| Klaten |
+----------+
Goto Session 2

12

Anda mungkin juga menyukai