SQL Basis Data
Apakah SQL ? SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL SQL tersedia dalam banyak versi Ms.Access, DB2, MS SQL server, Oracle, MySQL, Sybase,dll.
SQL Data Definition Language Berfungsi untuk membuat atau menghapus database dan mendefinisikan objek-objek (table, index, view, stored procedure, trigger) yang ada di dalam database.
CREATE Digunakan untuk membuat database dan objek-objek di dalam database Membuat database Create Database Namadatabase Contoh Create Database Kepegawaian
Mengaktifkan database yang telah dibuat Use Namadatabase Contoh Use Kepegawaian Membuat Table Create Table NamaTable (Nama_field/kolom typedata (size), …) Contoh Create Table pegawai (NIP char (8) not null primary key, Nama varchar (25), Alamat varchar (50),telf varchar (15))
DROP Digunakan untuk menghapus database dan objek-objek di dalam database Menghapus database dan tabel Drop Database Namadatabase Contoh Drop Database Kepegawaian Drop Table Namatable Contoh Drop Table pegawai
ALTER Berfungsi untuk memodifikasi tabel - menambah kolom/field - menghapus kolom/field - membuat primary key atau foreign key
Menambah Kolom/Field Merubah Kolom/Field Alter Table NamaTable add Namafield typedata (size) Contoh Alter Table Pegawai add status varchar (5) Merubah Kolom/Field Alter Table NamaTable Alter Column Namafield typedata (size) Contoh Alter Table Pegawai Alter Column status varchar (10)
Menghapus Kolom/Field Alter Table NamaTable drop Namafield Contoh Alter Table Pegawai drop status Menambah Primary Key Alter Table NamaTable add primary key (namafield) Contoh Alter Table departement add primary key (kd_depart)
SQL Data Manipulation Language Berfungsi untuk memanipulasi data (menampilkan, menambahkan, dan menghapus data)
INSERT Digunakan untuk Menambah Data dalam satu record Insert Into NamaTable (namafield1,namafield2,…) Values (‘nilaifield1’,’nilaifield2’,…) Contoh Insert Into pegawai (nip,nama) values (’01’,’andika’) Atau bisa juga bila kita mengingat seluruh bentuk field dalam tabel Insert Into namatable values (‘nilaifield1’,’nilaifield2’,…)
SELECT Berfungsi untuk Menampilkan record data yang ada dalam table Select * from namatabel Contoh Select * from pegawai (menampilkan data di semua field yang ada dalam table pegawai) Simbol * bermaksud ‘all’ atau ‘semua’, dan digunakan untuk mewakili semua atribut dalam satu tabel
Menampilkan sebagian field beserta recordnya yang ada pada tabel Select namafield,namafield from namatabel Contoh Select nip,alamat from pegawai Menampilkan baris record tertentu berdasarkan pilihan field yang diberikan Select * from namatabel where namafield=‘nilaifield’ Contoh Select * from pegawai where alamat=‘seutui’
Menampilkan satu field beserta recordnya yang tidak akan berulang Select distinct namafield from namatabel Contoh Select distinct alamat from pegawai Baris-baris pendua atau berulang (duplicate) tidak akan dipaparkan. Sekiranya kita memilih lebih dari satu atribut ketika menggunakan DISTINCT, hasilnya adalah gabungan atribut-atribut yang unik
Menampilkan beberapa field beserta recordnya yang sama tidak akan berulang Select distinct namafield1,namafield2 from namatabel Contoh Select distinct alamat,status from pegawai satu baris nip [03] tidak dipaparkan kerana berulang
Menggunakan Ungkapan Aritmatik dalam Pernyataan +, -, /, * Select namafield ungkapan aritmatik from namatabel Contoh Select nama,gaji/2 from pegawai
SELECT nama, gaji/2 AS gajisetengah FROM pegawai Kita boleh menamakan semula suatu atribut (walaupun telah mempunyai nama) dengan menggunakan AS SELECT nama, gaji/2 AS gajisetengah FROM pegawai
Kita dapat membuat dan mengubah judul field yang akan di tampilkan Select namafield As namafieldbaru from namatabel Contoh Select nama As namalengkap from pegawai menampilkan nama dari tabel pegawai dimana field nama pada hasil SQL di ubah menjadi namalengkap
Menggunakan Simbol perbandingan <, >, = untuk membuat pemilihan Select namafield from namatabel where simbol perbandingan Contoh Select nama,gaji from pegawai where gaji > 1000000 Select nama,gaji from pegawai where gaji < 900000 Select nama,gaji from pegawai where gaji = 900000
Menggunakan operator Boolean Seperti And OR dan Not Select namafield1,namafield2 from namatabel where namafield1 operatorboolean namafield2 Contoh Select alamat,gaji from pegawai where alamat=‘seutui’ and gaji > 1000000 Select alamat,gaji from pegawai where alamat=‘prada’ Or gaji > 900000 Select * from pegawai where alamat=‘seutui’ Or alamat=‘prada’ Select * from pegawai where Not alamat=‘seutui’
Operator Logik Boolean Apabila AND digunakan, disemua syarat sebelum dan setelah AND harus benar untuk suatu tuple dipilih Apabila OR digunakan, hanya salah satu syarat sebelum atau sesudah OR harus benar ataupun keduanya benar untuk suatu tuple dipilih Apabila NOT digunakan, yang bukan syarat yang akan di tampilkan
Jarak Nilai Sebagai Kriteria Kita boleh mengunakan pernyataan BETWEEN Select namafield from namatabel where namafield between nilai and nilai Contoh Select nama,gaji from pegawai where gaji between 850000 and 1000000
Operator In Pencocokan data kondisi pencarian dengan salah satu data yang ada pada suatu daftar nilai Select namafield from namatabel where namafield In (nilaifield1,nilaifield2) Contoh Select * from pegawai where alamat In (‘seutui’,’prada’) Select nama,alamat from pegawai where alamat In (‘seutui’,’prada’)
Operator Like Untuk pencarian data Bekerja pada type data char, varchar, text Select namafield from namatabel where namafield Like ‘%ekspresi%’ Contoh Select * from pegawai where alamat Like ‘%andi%’ (menampilkan semua klolom dari tabel pegawai yang namanya mengandung kata andi)
Fungsi Agregat fungsi yang mengambil suatu kumpulan nilai-nilai sebagai input dan mengembalikan satu nilai sebagai output Select fungsi agregat SUM/AVG/MIN/MAX/COUNT (namafield) As namafieldbaru from nama table SQL menyediakan 5 fungsi AVG : Rata-rata MIN : Minimum MAX : Maksimum SUM : PenJumlahan isi record COUNT : menjumlahkan data
Operasi MIN, MAX dan COUNT dapat dilakukan dalam atribut yang mempunyai jenis data rentetan (string) seperti Char, Text, dan Varchar Operasi AVG dan SUM hanya boleh dilakukan keatas atribut-atribut yang mempunyai jenis data numerik yang berjenis int, bigint, decimal, bit, numeric, real, smallint, tinyint.
a) SUM Penjumlahan dalam satu kolom Select sum (tunjangan) As jlh_tunj from pegawai Menampilkan jumlah keseluruhan dari tunjangan yang diberikan
b) Avg menghitung nilai rata-rata dalam satu kolom Select Avg (gaji) As rata_gaji from pegawai
c) Min Untuk mencari atau menampilkan nilai terendah Select min (gaji) As Gaji_min from pegawai (Menampilkan gaji terendah dari tabel pegawai) Select min (gaji) As Gaji_min from pegawai where status=‘nikah’ (Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)
d) MAX Untuk mencari atau menentukan nilai tinggi Select max (gaji) As Gaji_max from pegawai (Menampilkan gaji terendah dari tabel pegawai) Select max (gaji) As Gaji_max from pegawai where status=‘nikah’ (Menampilkan gaji terendah dari tabel pegawai yang statusnya telah menikah)
e) COUNT Menghitung jumlah record yang sesuai dengan kondisi Select count (nip) As jlh_peg from pegawai (Menampilkan jumlah seluruh pegawai dari tabel pegawai) Select count (nip) As jlh_peg from pegawai where status=‘nikah’ (Menampilkan jumlah seluruh pegawai dari tabel pegawai yang statusnya telah menikah)
Pengelompokan Record (Group by) Pada kondisi tertentu, sekumpulan record dapat dikelompokkan berdasarkan satu atau lebih field yang terdapat pada sebuah tabel atau query. Select namafield1,namafield2 from namatabel Group by field pengacu Contoh Select jeniskelamin,count (*) as jumlah from mahasiswa group by jeniskelamin Hasil JenisKelamin jumlah Laki-Laki 5 Perempuan 4
Pengurutan (Order by) Hasil dari query dapat di urutkan berdasarkan pada satu atau lebih kolom. Select namafield1 from namatabel where kriteria order by namafield Select nim,nama where jeniskelamin=’perempuan’ order by nama order by nama asc order by nama desc nim nama 2008 Ana 2009 Devi 2010 July 2011 Kiki
Pernyataan Having -menampilkan kelompok-kelompok data tertentu -having berbeda dengan where, pernyataan where digunakan untuk memberikan criteria sebelum pengelompokan dan melakukan penyaringan baris. Sedangkan having digunakan untuk memberikan criteria setelah pengelompokan dilakukan, menyaring kelompok, dan menentukan kondisi bagi Group By Select namafield1,… from namatabel Group by field pengacu Having kondisi Contoh Select barang, count (jumlah) As totalfaktur from Torder Group by idbarang having idbarang=‘A009’
UPDATE Berfungsi untuk mengubah satu atau lebih data yang terdapat pada satu atau lebih kolom tabel Update namatabel set namafield=nilai where kondisi Contoh Update pegawai set alamat=‘pango’ where nip=’01’
Menukar record dalam Tabel Update namatabel set namafield=nilai Contoh Update pegawai set gaji=gaji+12000 pernyataan diatas akan menambah ‘gaji’ yang awal dengan +12000 dalam tabel pegawai
DELETE Berfungsi untuk menghapus satu atau beberapa record dalam suatu tabel. Delete from namatabel where kondisi Contoh Delete from pegawai where nip=’01’