DEFINSI SQL
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam software DBMS.
Bahasa ini merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua
server basis data mendukung bahasa ini untuk melakukan pengelolaan datanya.
Instruksi – instruksi atau pernyataan SQL dapat dikelompokkan menjadi 5 kelompok :
1. DDL
2. DML
3. DCL
4. pengendali transaksi
5. pengendali programatik.
1|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
MEMULAI MySQL
Beberapa perintah SQL yang harus diingat ketika akan membuat database :
Membuat database baru (jika belum ada)
create database nama_database;
Menampilkan semua database yang ada
show databases;
Memilih/menggunakan database yang aktif
Use nama_database;
Membuat tabel
create table nama_tabel (nama_field1 tipe_data(banyaknya)........... n, primary key (nama field);
Menampilkan semua tabel yang ada/yang pernah dibuat
show tables;
Mengisi tabel
insert into nama_tabel values (’data1’, ’data2’,......... ’n’);
INSERT
Perintah INSERT pada DML digunakan untuk memasukkan data ke dalam tabel. Sintaks yang dipakai adalah :
UPDATE Nama_Tabel
SET Nama_Kolom = Nilai_baru
WHERE Kondisi
DELETE
DELETE digunakan untuk menghapus dan menggunakan perintah DELETE.Sintaks yang digunakan adalah:
2|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
MEMBUAT TABEL
Dalam memberikan nama tabel dan kolom terdapat beberapa aturan yang haris diikuti, yaitu :
1. Nama tabel dan kolom mempunyai panjang karakter 1-30 karakter dan karakter pertma harus berupa huruf abjad
2. Nama harus berisi karakter, seperti A-Z, a-z, 0-9, underscore/garis bawah.
3. Nama tabel tidak boleh memakai kata-kata yang sudah dipakai oleh perintah SQL, misalnya : select, where dan
lain-lain.
4. Nama tabel tidak boleh merupakan nama objek lain yang dimiliki oleh user yang sama
5. Nama tabel dengan huruf besar atau kecil tidak mempunyai perbedaan
Pemberian nama kolom juga mempunyai aturan yang sama dengan pemberian nama tabel. Dalam dua buah tabel
yang berbeda boleh diberikan nama kolom yang sama. Misalnya dalam tabel PEGAWAI dan tabel GAJI terdapat
kolom yang bernama NOPEG. Namun kolom dari satu tabel tidak boleh mempunyai nama yang sama.
Contoh :
Mysql> create table penjualan (nopen char(3) not null, nama varchar(20), merk varchar(20));
MENAMPILKAN DATA
Contoh :
Agar memudahkan penulisan perintah SQL, pertama-tama misalnya kita buat dulu sebuah tabel yang berisi data
pegawai dengan nama tabel ”PEGAWAI”
9 rows selected
3|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
Perintah SQL untuk mencari nama dan jabatan orang yang bernama WAWAN dari tabel PEGAWAI :
Mysql> select nama, jabatan from pegawai where nama=’WAWAN’;
Notes:
Perintah SQL dapat ditulis dalam huruf besar maupun huruf kecil, namun data yang ingin ditampilkan
harus sama dengan data yang ada di database.
Nama ‘WAWAN’ dengan ‘Wawan’ akan berbeda hasilnya.
Tanda titik koma (;) yang terletak di akhir perintah menandakan bahwa perintah SQL telah selesai dan
siap dijalankan.
Perintah SQL untuk menampilkan semua elemen data yang ada dalam tabel :
Mysql> select * from pegawai;
Notes :
Tanda * (Asterisk) dalam perintah SELECT berfungsi untuk menampilkan semua data pada semua
kolom yang ada dalam tabel.
Perintah SQL untuk menampilkan data dengan urutan kolom yang berbeda (mengubah urutan kolom) :
Mysql> select nama,gaji,jabatan,nopeg from pegawai;
Perintah SQL yang hanya menampilkan kolom NAMA dan JABATAN saja (Menampilkan kolom tertentu) :
Mysql> select nama,jabatan from pegawai;
Perintah SQL untuk mengelompokkan data dari tabel PEGAWAI berdasarkan kolom GAJI :
Mysql> select distinct gaji from pegawai ;
Notes :
Fungsi distinct digunakan bila hendak menampilkan data yang hanya sekali muncul/ mengelompokkan
data berdasarkan jenisnya.
KONDISI
Jika ingin mencari sebuah atau sekelompok data dari database, diperlukan satu atau lebih kondisi. Dengan kata lain
bila kita memberikan suatu kondisi pada perintah SQL, maka hanya database tertentu yang akan tampil. Sebagai kata
kuncinya (keyword) adalah kata WHERE yang disisipkan setelah menyebut nama tabelnya.
Sintaks SQL :
SELECT nama-kolom FROM nama_tabel WHERE (kondisi);
Perintah SQL untuk menampilkan data gaji dari tabel PEGAWAI yang bernama FRANS
Mysql> select nama,gaji from pegawai where nama=’FRANS’ ;
4|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
Perintah SQL untuk menampilkan data pegawai dengan gaji sebesar 9000000
Mysql> select * from pegawai where gaji=9000000 ;
Menampilkan Data dengan Dua Kondisi yang Harus Terpenuhi ( Ekspresi ’AND’ )
Perintah SQL untuk mencari pegawai yang gajinya 9000000 dan nomor pegawainya 002
Mysql> select * from pegawai where gaji = 9000000 and nopeg=’002’ ;
Menampilkan Data dengan Salah satu Kondisi Dapat Terpenuhi ( Ekspresi ’OR’ )
Perintah SQL untuk menampilkan pegawai yang gajinya 9000000 atau nomor pegawainya 001
Mysql> select * from pegawai where gaji = 9000000 or nopeg=’001’ ;
OPERATOR
Operator adalah sebuah elemen yang digunakan dalam mengekspresikan suatu kondisi dalam pencarian data.
Operator dibagi dalam 6 group :
Aritmetika
Perbandingan
Karakter
Logika
Himpunan
Operator lainnya
OPERATOR ARITMETIKA
Yang termasuk Operator Aritmetika adalah tanda :
plus (+)
minus ( - )
bagi ( / )
kali ( * )
Semua perhitungan dapat dillakukan bila tipe datanya adalah number.
Bila dilakukan perhitungan secara bersamaan maka urutannya adalah :
perkalian, pembagian, penjumlahan dan pengurangan .
Contoh :
2 + 7 * 8 / 2 = 25
Urutannya adalah sebagai berikut :
1. 7 * 8 = 56 lalu
2. 56 / 2 = 23 kemudian
3. 23 + 2 = 25
Tanda Plus ( + )
Tanda ini digunakan untuk menjumlahkan suatu kolom dengan kolom lain atau kolom dengan konstanta tertentu.
Tanda Minus ( - )
Tanda ini digunakan untuk mengurangkan suatu kolom dengan kolom lain, kolom dengan konstanta tertentu dan
dapat juga untuk memberi nilai minus pada suatu kolom tertentu
Tanda Bagi ( / )
Tanda ini digunakan untuk membagi sustu kolom dengan kolom lain atau kolom dengan konstanta tertentu
Tanda Kali ( * )
5|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
Tanda ini digunakan untuk mengalikan sustu kolom dengan kolom lain atau kolom dengan konstanta tertentu.
OPERATOR PERBANDINGAN
Yang termasuk dalam operator perbandingan adalah bila data bersifat benar (true) atau salah (false). Sebelum masuk
kedalam operator perbandingan perlu diketahui tentang konsep nilai null.
Sebuah data dalam database dianggap null bila salah satu kolom yang ada dalam tabel tidak terdapat datanya. Jadi
bila data tersebut bersifat null maka operator perbandingan bersifat false atau data yang dipakai adalah is null.
Tanda Lebih Besar Dari ( > ) dan Lebih Besar Sama Dengan ( >= )
Kondisi terpenuhi jika datanya > atau >= banyaknya data yang ditentukan
Tanda Lebih Kecil Dari ( < ) dan Lebih Kecil Sama Dengan ( <= )
Kondisi terpenuhi jika datanya < atau <= banyaknya data yang ditentukan
OPERATOR KARAKTER
Digunakan bila ingin menampilkan data yang hanya kita ingat sebagian atau beberapa bagian tertentu saja dari data
tersebut.
Operator yang digunakan :
Kata Like
Digunakan bila hendak mencari data tertentu tapi kita hanya ingat satu atau beberapa karakter saja dari data
tersebut
Tanda bantu untuk like menggunakan tanda % yang mewakili beberapa karakter sekaligus dan underscore ( _ )
yang mewakili satu karakter
Tanda concat ( || )
Digunakan untuk menggabungkan dua buah kolom yang tipe datanya karakter.
OPERATOR LOGIKA
Digunakan untuk memisahkan dua atau lebih kondisi yang menggunakan kata WHERE didalam SQL.
Ekspresi yang digunakan adalah
AND
OR
NOT
Digunakan untuk mencari data yang tidak sama dengan karakter tertentu dan mempunyai tipe karakter.
OPERATOR SET
Digunakan untuk menggabungkan atau mengurangkan dua buah tabel yang berbeda.
Ekspresi yang digunakan adalah :
Union
Menggabungkan dua buah tabel , namun yang datanya sama hanya disebut satu kali
union all
Menggabungkan dua buah tabel, semua data akan dimasukkan
intersect
irisan dari dua buah tabel. Jadi data tersebut ada di dalam tabel pertama dan juga di dalam tabel kedua
minus
digunakan untuk mencari data yang ada dalam tabel pertama dikurangi dengan data pada tabel pertama yang
ada pada tbel kedua.
OPERATOR LAIN
Adalah operator selain dari yang telah disebutkan sebelumnya.
Ekspresi yang dipakai adalah
6|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
IN
Untuk menyederhanakan operator OR
BETWEEN
Digunakan untuk mencari data yang berada di antara dua buah nilai tertentu.
7|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
dimana :
ALTER TABLE merupakan perintah dasar untuk mengubah tabel.
nama_tabel merupakan nama tabel yang akan diubah strukturnya.
alter_options merupakan pilihan perubahan tabel.
CREATE TABLE Siswa (NIS int(8) NOT NULL, Nama varchar(30) NOT NULL);
DESC peserta;
maka hasilnya adalah sebagai berikut :
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| NIP | int(5) | NO | | NULL | |
| nama | varchar(30) | NO | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
8|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
Setelah itu, ketik lagi perintah “DESC peserta;”, hasilnya adalah sebagai berikut:
+--------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| NIP | int(5) | NO | | NULL | |
| nama | varchar(30) | NO | | NULL | |
| alamat | varchar(30) | YES | | NULL | |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
AFTER bisa digunakan untuk membantu menambahkan kolom sesuai dengan yang diinginkan.
Kata BEFORE tidak bisa digunakan.
9|hal [r.rista.wulansari@gmail.com]
[BASIS DATA]
10 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
Hapus Field/Kolom
Bentuk perintahnya adalah sebagai berikut :
Misalnya kita ingin menghapus kolom telepon, maka contohnya bisa dilihat seperti di bawah ini:
mysql> desc peserta;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| NIP | int(5) | NO | | NULL | |
| nama | varchar(30) | NO | | NULL | |
| telepon | varchar(30) | YES | | NULL | |
| alamat | varchar(30) | YES | | NULL | |
+---------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
11 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
12 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
13 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
mysql> alter table peserta modify NIP int(5) not null auto_increment;
Query OK, 1 row affected (0.05 sec)
Records: 1 Duplicates: 0 Warnings: 0
Untuk men-SET auto_increment menjadi 11111 sebagai angka awal, karena kita sudah set auto_increment sebelumnya,
kita bisa melakukannya sebagai berikut :
Karena sudah auto_increment, maka kolom NIP bisa dikosongkan dan akan terisi otomatis sesuai angka yang kita SET
sebelumnya.
14 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
15 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
TABEL : tb_data_pegawai
16 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
RANGKUMAN
SQL adalah suatu akronim dari Structured Query Language yaitu bahasa perintah yang tersetruktur yang
digunakan untuk membuat, memanipulasi, mengakses pada suatu database.
SQL yang tergolong dalam pemrograman database, antara lain MySQL, SQLite PostgreSQL dll
Melihat database
Show databases;
Menggunakan database
Use [nama database];
Ex : use test;
Membuat database
Create database [nama database];
Ex : create database sekolah;
Membuat table
Create table [nama table]( [nama field] [tipe data]([ukuran]] [attribute]);
Ex : create table mahasiswa (
nim varchar(8) primary key,
nama varchar(25),
alamat varchar(30),
kodepos varchar(8)
);
Menambah field
Alter table [nama_tabel] add [nama field yang di tambahkan];
Ex : alter table siswa add tgllahir date;
17 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
Menghapus atribut
Primary key
Alter table [nama_tabel] drop primary key;
Foreign key
Alter table [nama_tabel] drop foreign key;
Ex : Alter table siswa drop primary key;
Alter table siswa drop foreign key;
Menambahkan atribut
Primary key
Alter table [nama_table] add primary key ([nama_field]);
Foreign key
Alter table [nama_table] add foreign key ([nama_field yang di gunakan untuk foreign key]) references
[nama_table](nama field dari tabel yang jadi sumber);
Ex :alter table siswa add primary key(nis);
alter table siswa add foreign key (kodepos) references kodepos(kodepos);
Menghapus table
drop table [nama_table];
ex : drop table siswa;
Menghapus database
drop database [nama_database];
ex : drop database sekolah;
MySQL adalah salah satu produk RDBMS yang sangat populer juga bersifat open source. Seperti kebanyakan database
server lainnya, MySQL dapat diakses oleh aplikasi klien dengan bahasa standar, yaitu SQL (Structure Query Language).
SQL dapat digolongkan menjadi tiga:
Data Definition Language, yang termasuk golongan ini adalah:
Membuat database
Menghapus database
Menciptakan tabel
Menghapus tabel
Mengubah tabel
18 | h a l [r.rista.wulansari@gmail.com]
[BASIS DATA]
19 | h a l [r.rista.wulansari@gmail.com]