Pemrograman Berbasis Web Pertemuan 9 – Database I Program Diploma IPB - Aditya Wicaksono, SKomp 1 • SQL adalah bahasa standar untuk mengakses database • SQL memungkinkan untuk mengakses dan memanipulasi database Apa itu SQL ? Structured Query Language Program Diploma IPB - Aditya Wicaksono, SKomp • SQL adalah ANSI (American National Standards Institute) standar • SQL tidak Case Sensitive • Beberapa system database membutuhkan titik koma di akhir setiap SQL statement 2 Apa yang dapat dilakukan SQL ? Program Diploma IPB - Aditya Wicaksono, SKomp • Mengeksekusi query terhadap database • Mengambil data dari database • Menyisipkan catatan dalam database • Memperbarui catatan dalam database • Menghapus catatan dari database • Membuat database baru • Membuat table baru dalam database • Membuat prosedur yang tersimpan dalam database • Mengatur hak akses pada table, prosedur, dan view 3 • Merupakan dasar untuk SQL dan untuk semua sistem database modern seperti Ms. SQL Server, IBM DB2, Oracle, MySQL, dan Microsoft Access RDBMS • Data dalam RDBMS disimpan dalam objek database yang disebut table • Sebuah table merupakan koleksi entri data terkait dan terdiri dari kolom dan baris Relational Database Management System Program Diploma IPB - Aditya Wicaksono, SKomp 4 Jenis SQL DDL Data Definition Language Program Diploma IPB - Aditya Wicaksono, SKomp DML Data Manipulation Language DCL Data Control Language 5 Contoh DDL CREATE ALTER TABLE DROP TRUNCATE TABLE Program Diploma IPB - Aditya Wicaksono, SKomp 6 Contoh DML SELECT INSERT INTO UPDATE DELETE Program Diploma IPB - Aditya Wicaksono, SKomp 7 Contoh DCL GRANT REVOKE Program Diploma IPB - Aditya Wicaksono, SKomp 8 CREATE DB CREATE DATABASE dbname; Program Diploma IPB - Aditya Wicaksono, SKomp 9 CREATE TABLE CREATE TABLE table_name ( column_name1 data_type(size) constraint_name, column_name2 data_type(size) constraint_name, column_name3 data_type(size) constraint_name, .... ); Program Diploma IPB - Aditya Wicaksono, SKomp 10 CONSTRAINT Nama Constraint Deskripsi NOT NULL Menunjukkan bahwa kolom tidak dapat menyimpan nilai NULL UNIQUE Memastikan bahwa setiap baris suatu kolom harus memiliki nilai unik PRIMARY KEY Kombinasi dari NOT NULL dan UNIQUE. Memastikan bahwa kolom memiliki identitas yang unik sehingga membantu untuk menemukan bagian record dalam sebuah tabel lebih mudah dan cepat FOREIGN KEY Memastikan integritas referensial data dalam satu tabel untuk mencocokkan nilai-nilai dalam tabel lain CHECK Memastikan bahwa nilai dalam kolom memenuhi kondisi tertentu DEFAULT Menentukan nilai default ketika suatu kolom tidak ditentukan Program Diploma IPB - Aditya Wicaksono, SKomp 11 ALTER TABLE - ADD ALTER TABLE table_name ADD column_name datatype Program Diploma IPB - Aditya Wicaksono, SKomp 12 ALTER TABLE – DROP COLUMN ALTER TABLE table_name DROP COLUMN column_name Program Diploma IPB - Aditya Wicaksono, SKomp 13 ALTER TABLE – MODIFY COLUMN ALTER TABLE table_name MODIFY COLUMN column_name datatype Program Diploma IPB - Aditya Wicaksono, SKomp 14 DROP DB DROP DATABASE database_name Program Diploma IPB - Aditya Wicaksono, SKomp 15 DROP TABLE DROP TABLE table_name Program Diploma IPB - Aditya Wicaksono, SKomp 16 TRUNCATE TABLE TRUNCATE TABLE table_name Program Diploma IPB - Aditya Wicaksono, SKomp 17 SELECT SELECT column_name,column_name FROM table_name; Program Diploma IPB - Aditya Wicaksono, SKomp 18 SELECT DISTINCT SELECT DISTINCT column_name,column_name FROM table_name; Program Diploma IPB - Aditya Wicaksono, SKomp 19 ALIAS SELECT column_name AS alias_name SELECT column_name(s) FROM table_name; FROM table_name AS alias_name; Program Diploma IPB - Aditya Wicaksono, SKomp 20 Klausa SELECT WHERE ORDER BY GROUP BY LIMIT Program Diploma IPB - Aditya Wicaksono, SKomp 21 Klausa WHERE SELECT column_name,column_name FROM table_name WHERE column_name operator value; Program Diploma IPB - Aditya Wicaksono, SKomp 22 Operator Klausa WHERE Operator Deskripsi = Equal <> Not equal. Note: In some versions of SQL this operator may be written as != > Greater than < Less than >= Greater than or equal <= Less than or equal BETWEEN Between an inclusive range LIKE Search for a pattern IN To specify multiple possible values for a column Program Diploma IPB - Aditya Wicaksono, SKomp 23 LIKE SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; Program Diploma IPB - Aditya Wicaksono, SKomp 24 NOT LIKE SELECT column_name(s) FROM table_name WHERE column_name NOT LIKE pattern; Program Diploma IPB - Aditya Wicaksono, SKomp 25 Wildcard Character Wildcard Deskripsi % A substitute for zero or more characters _ A substitute for a single character [charlist] Sets and ranges of characters to match [^charlist] or [!charlist] Matches only a character NOT specified within the brackets Program Diploma IPB - Aditya Wicaksono, SKomp 26 IN SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...); Program Diploma IPB - Aditya Wicaksono, SKomp 27 BETWEEN SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; Program Diploma IPB - Aditya Wicaksono, SKomp 28 NOT BETWEEN SELECT column_name(s) FROM table_name WHERE column_name NOT BETWEEN value1 AND value2; Program Diploma IPB - Aditya Wicaksono, SKomp 29 Klausa ORDER BY SELECT column_name,column_name FROM table_name ORDER BY column_name,column_name ASC|DESC; Program Diploma IPB - Aditya Wicaksono, SKomp 30 Terima Kasih Program Diploma IPB - Aditya Wicaksono, SKomp 31