STRUCTURED QUERY
LANGUAGE (SQL)
Session 1
PENGENALAN SQL (1)






SQL adalah bahasa standar yang digunakan untuk
mengakses basis data atau berkomunikasi dengan basis data
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 :

ORACLE

Microsoft Access

MySQL

PostgreSQL
PENGENALAN SQL (2)








Pada praktiknya implementasi SQL sangat bervariasi
artinya tidak semua fitur SQL didukung oleh vendor
perangkat lunak DBMS dimana beberapa perintah 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).
PENGELOMPOKAN BAHASA SQL (1)
PENGELOMPOKAN BAHASA SQL (2)






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.
DML (Data Manipulation Language)
 Bahasa basis data yang berguna untuk melakukan
manipulasi dan pengambilan data pada suatu basis
data. Seperti Insert, Update, Delete dan Select.
DCL (Data Control Language)
 Digunakan untuk mengontrol hak para pemakai data
dengan perintah : GRANT, REVOKE.
DDL (DATA DEFINITION LANGUANGE)
CREATE


CREATE digunakan untuk membuat basis data
maupun objek-objek basis data. SQL yang umum
digunakan adalah:
 CREATE DATABASE nama_basis_data;
 CREATE DATABASE album;
 CREATE TABLE [''nama_tabel''] ( nama_field1
tipe_data [constraints][, nama_field2 tipe_data,
...] ) ;
 CREATE TABLE album (id_album SMALLINT
AUTO_INCREMENT, nama_album VARCHAR
(20) NOT NULL, PRIMARY KEY (id_album));
DDL (DATA DEFINITION LANGUANGE)
DROP
DROP digunakan untuk menghapus objek-objek
basis data seperti tabel, view, index dan objek lain
 SQL yang umum digunakan adalah:
 DROP DATABASE nama_database;
 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

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;
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’,’Jl.XYZ’,’1982-12-23’);
Pernyataan INSERT memungkinkan penambahan baris dengan
field tertentu 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’);
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-1220’ WHERE nim = ’1005020001’;
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;
 Contoh : DELETE FROM tb_mahasiswa WHERE
nim = ’1005020001’;

DML (DATA MANIPULATION LANGUANGE)
SELECT


SELECT adalah perintah yang paling sering digunakan
pada SQL, sehingga kadang-kadang istilah query
dirujukkan pada perintah SELECT. SELECT digunakan
untuk menampilkan data dari satu atau lebih
tabel, biasanya dalam sebuah basis data yang sama.
Secara umum, perintah SELECT memiliki bentuk
lengkap:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON
''kondisi_penghubung''] [, nama_tabel3 [AS alias3], ...]
[WHERE ''kondisi'']
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING ''kondisi_aggregat'']
DCL (DATA CONTROL LANGUAGE)
GRANT


Untuk mengatur hak akses di MySQL, pada
dasarnya kita menggunakan bentuk perintah
GRANT dan REVOKE.

GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION];

REVOKE privilege_name
ON object_name
FROM {user_name |PUBLIC |role_name}
REFRENSI
http://id.wikipedia.org/wiki/SQL (diakses 4 oktober
2013).
 http://beginner-sql-tutorial.com/sql-grant-revokeprivileges-roles.htm (diakses 4 oktober 2013).
 Solichin, Achmad. 2010. “MySQL 5 : Dari Pemula
Hingga Mahir”.


Sql session 1

  • 1.
  • 2.
    PENGENALAN SQL (1)     SQLadalah bahasa standar yang digunakan untuk mengakses basis data atau berkomunikasi dengan basis data 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 :  ORACLE  Microsoft Access  MySQL  PostgreSQL
  • 3.
    PENGENALAN SQL (2)     Padapraktiknya implementasi SQL sangat bervariasi artinya tidak semua fitur SQL didukung oleh vendor perangkat lunak DBMS dimana beberapa perintah 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).
  • 4.
  • 5.
    PENGELOMPOKAN BAHASA SQL(2)    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. DML (Data Manipulation Language)  Bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Seperti Insert, Update, Delete dan Select. DCL (Data Control Language)  Digunakan untuk mengontrol hak para pemakai data dengan perintah : GRANT, REVOKE.
  • 6.
    DDL (DATA DEFINITIONLANGUANGE) CREATE  CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:  CREATE DATABASE nama_basis_data;  CREATE DATABASE album;  CREATE TABLE [''nama_tabel''] ( nama_field1 tipe_data [constraints][, nama_field2 tipe_data, ...] ) ;  CREATE TABLE album (id_album SMALLINT AUTO_INCREMENT, nama_album VARCHAR (20) NOT NULL, PRIMARY KEY (id_album));
  • 7.
    DDL (DATA DEFINITIONLANGUANGE) DROP DROP digunakan untuk menghapus objek-objek basis data seperti tabel, view, index dan objek lain  SQL yang umum digunakan adalah:  DROP DATABASE nama_database;  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 
  • 8.
    DDL (DATA DEFINITIONLANGUANGE) 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;
  • 9.
    DML (DATA MANIPULATIONLANGUANGE) 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’,’Jl.XYZ’,’1982-12-23’); Pernyataan INSERT memungkinkan penambahan baris dengan field tertentu 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’);
  • 10.
    DML (DATA MANIPULATIONLANGUANGE) 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-1220’ WHERE nim = ’1005020001’;
  • 11.
    DML (DATA MANIPULATIONLANGUANGE) 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;  Contoh : DELETE FROM tb_mahasiswa WHERE nim = ’1005020001’; 
  • 12.
    DML (DATA MANIPULATIONLANGUANGE) SELECT  SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...] FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON ''kondisi_penghubung''] [, nama_tabel3 [AS alias3], ...] [WHERE ''kondisi''] [ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]] [GROUP BY nama_field1[, nama_field2, ...]] [HAVING ''kondisi_aggregat'']
  • 13.
    DCL (DATA CONTROLLANGUAGE) GRANT  Untuk mengatur hak akses di MySQL, pada dasarnya kita menggunakan bentuk perintah GRANT dan REVOKE. GRANT privilege_name ON object_name TO {user_name |PUBLIC |role_name} [WITH GRANT OPTION]; REVOKE privilege_name ON object_name FROM {user_name |PUBLIC |role_name}
  • 14.
    REFRENSI http://id.wikipedia.org/wiki/SQL (diakses 4oktober 2013).  http://beginner-sql-tutorial.com/sql-grant-revokeprivileges-roles.htm (diakses 4 oktober 2013).  Solichin, Achmad. 2010. “MySQL 5 : Dari Pemula Hingga Mahir”. 