Apa itu SQL ?
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
Pemakaian Dasar
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[3], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
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, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
SELECT untuk menampilkan data
INSERT untuk menambahkan data baru
UPDATE untuk mengubah data yang sudah ada
DELETE untuk menghapus data
Kumpulan Perintah SQL
1. Create Database
Digunakan untuk membuat database baru.
Syntax dasar:
CREATE DATABASE database_namaContoh:
CREATE DATABASE databaseku2. Create Table
Digunakan untuk membuat tabel data baru dalam sebuah database.
Syntax dasar:
CREATE TABLEContoh:
(
Column_name1 table_nama data_type,
Column_name2 table_nama data_type,
Column_name3 table_nama data_type
)
CREATE TABLE bukutamu3. Select
(
Id int,
Nama varchar (255),
Email varchar(50),
Kota varchar(255)
)
Digunakan untuk memilih data dari table database.
Syntax dasar:
SELECT column_name(s) FROM table_nameAtau
SELECT * FROM table_nameContoh 1:
SELECT nama,email FROM bukutamuContoh 2:
SELECT * FROM bukutamu4. Select Distinct
Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table database.
Syntax dasar:
SELECT DISTINCT column_name(s) FROM table_nameContoh:
SELECT DISTINCT kota FROM bukutamu5. Where
Digunakan untuk memfilter data pada perintah Select
Syntax dasar:
SELECT column name(s) FROM table_name
WHERE column_name operator valueContoh:
SELECT * FROM bukutamu6. Order By
WHERE kota=’YOGYAKARTA’
Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan perintah DESC.
Syntax dasar:
SELECT column_name(s)Contoh 1:
FROM table_name
ORDER BY column_name(s) ASC|DESC
SELECT * FROM bukutamuContoh 2:
ORDER BY nama
SELECT * FROM bukutamu7. Like
ORDER BY id DESC
Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu.
Syntax dasar:
SELECT column_name(s) FROM table_nameContoh 1:
WHERE column_name LIKE pattern
SELECT * FROM bukutamuKeterangan 1:
WHERE nama LIKE ‘a%’
Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf depan “a”.Contoh 2:
SELECT * FROM bukutamuKeterangan 2:
WHERE nama LIKE ‘a%’
Contoh di atas digunakan untuk pencarian berdasarkan kolom nama yang berhuruf belakang “a”.8. In
Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where.
Syntax dasar:
SELECT column_name(s) FROM table_nameContoh:
WHERE column_name IN (value1,value2, . . .)
SELECT * FROM bukutamu9. Between
WHERE kota IN (‘Yogyakarta’,’Jakarta’)
Digunakan untuk menentukan jangkauan pencarian.
Syntax dasar:
SELECT column_name(s) FROM table_nameContoh:
WHERE column_name
BETWEEN value1 AND value2
SELECT * FROM bukutamuKeterangan:
WHERE id
BETWEEN 5 and 15
Contoh di atas digunakan untuk mencari data yang memiliki nomor id antara 5 dan 15.
10. Insert Into
Digunakan untuk menambahkan data baru di tabel database.
Syntax dasar:
INSERT INTO table_nameAtau
VALUES (value1,value2,value3, . . .)
INSERT INTO table_name (column1,column2,column3, . . .)Contoh 1:
VALUES (value1,value2,value3, . . .)
INSERT INTO bukutamuContoh 2:
VALUES (1,’Arini’,’arini@mail.com’,’Yogyakarta’)
INSERT INTO bukutamu (id,nama,email,kota)11. Update
VALUES (1,’Arini’,’arini@mail.com’,’Yogyakarta’)
Digunakan untuk mengubah/memperbarui data di tabel database.
Syntax dasar:
UPDATE table_nameContoh:
SET column1=value,column2=value, . . .
WHERE some_column=some_value
UPDATE bukutamu12. Delete
SET email=’arini@yahoo.com’, kota=’Jakarta’
WHERE id=1
Digunakan untuk menghapus data di table database. Tambahkan perintah Where untuk memfilter data-data tertentu yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel akan terhapus.
Syntax dasar:
- DELETE FROM table_name
- WHERE some_column=some_value
DELETE FROM bukutamu13. Inner Join
WHERE id=1
Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan.
Syntax dasar:
SELECT column_name(s) FROM table_name1Contoh:
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column-name
SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu14. Left Join
INNER JOIN order ON bukutamu.id=order.id
ORDER BY bukutamu.nama
Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua).
Syntax dasar:
SELECT column_name(s) FROM table_name1Contoh:
LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu15. Right Join
LEFT JOIN order ON bukutamu.id=order.id
ORDER BY bukutamu.nama
Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama).
Syntax dasar:
SELECT column_name(s) FROM table_name1Contoh:
RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name
SELECT bukutamu.nama,bukutamu.emailmorder.no_order FROM bukutamu16. Full Join
RIGHT JOIN order ON bukutamu.id=order.i
ORDER BY bukutamu.nama
Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel.
Syntax dasar:
SELECT column_name(s) FROM table_name1Contoh:
FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu17. Union
FULL JOIN order ON bukutamu.id=order.id
ORDER BY bukutamu.nama
Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.
Syntax dasar:
SELECT column_name(s)FROM table_name1Atau
UNION column_name(s) FROM table_name2
SELECT column_name(s) FROM table_name1Contoh:
UNION ALL
SELECT column_name(s) FROM table_name2
SELECT nama FROM mhs_kampus118. Alter Table
UNION
SELECT nama FROM mhs_kampus2
Digunakan untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah ada.
Syntax untuk menambah kolom:
ALTER TABLE table_nameContoh:
ADD column_name datatype
ALTER TABLE Persons ADD DateOfBirth dateContoh:
Syntax untuk menghapus kolom :
ALTER TABLE table_name DROP COLUMN column_name
ALTER TABLE Persons DROP COLUMN DateOfBirthSyntax untuk mengubah kolom :
ALTER TABLE table_name ALTER TABLE clumn_name datatypeContoh:
ALTER TABLE Persons ALTER COLUMN DateOfBirth year19. Now ()
Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)
Syntax dasar:
Now()Contoh:
SELECT NOW()20. Curdate
Digunakan unutk mendapatkan informasi tanggal saat ini.
Syntax dasar:
Curdate()Contoh:
SELECT CURDATE()21. Curtime()
Digunakan untuk mendapatkan informasi jam saat ini.
Syntax dasar:
Curtime()Contoh:
SELECT CURTIME()22. Extract()
Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan, hari, jam, menit, dan detik tertentu.
Syntax dasar:
Extract(unit FROM date)Keterangan:
Parameter unit dapat berupa:Contoh:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
- SECOND_MICROSECOND
- MINUTE_SECOND
- HOUR_MICROSECOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_MICROSECOND
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
SELECT EXTRAXT (YEAR FROM tglorder( AS Th_Order, EXTRACT (MONTH FROM tglorder) AS Bulan_Order,EXTRACT (DAY FROM tglorder AS Hari_Order)23. Date_Add() dan Date_Sub()
FROM order
Fungsi Date_Add() digunakan unutk menambahkan interval waktu tertentu pada sebuah tanggal, sedangkan fungsi Date_Sub() digunakan untuk pengurangan sebuah tanggal dengan interval tertentu.
Syntax dasar:
DATE_ADD (date,INTERVAL expr type)Keterangan:
DATE_SUB (date,INTERVAL expr type)
Tipe data parameter INTERVAL dapat berupa:Contoh 1:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
- SECOND_MICROSECOND
- MINUTE_MICROSECOND
- MINUTE_SECOND
- HOUR_MICROSEDOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_MICROSECOND
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
SELECT id,DATE_ADD (tglorder,INTERVAL 30 DAY) AS Waktu_pembayaranContoh 2:
FROM order
SELECT id,DATE_SUB(tglorder,INTERVAL 5 DAY) AS Pengurangan_Waktu24. DateDiff()
FROM order
Digunakan untuk mendapatkan informasi waktu di antara 2 buah tanggal.
Syntax dasar:
DATEIFF(date1,date2)Contoh:
SELECT DATEIFF(‘2010-06-30’,’2010-06-29’) AS Selisih_waktu25. Date_Format()
Digunakan untuk menampilkan informasi jam dan tanggal dengan format tertentu.
Syntax dasar:
DATE_FORMAT(date,format)[CODE]Keterangan:
Parameter format dapat berupa :
%a, nama hari yang disingkatContoh:
%b, nama bulan yang disingkat
%c, bulan (numerik)
%D hari dalam sebulan dengan format English
%d, hari dalam sebulan (numerik 00-31)
%e, hari dalam sebulan (numerik 0-31)
%f, micro detik
%H, jam (00-23)
%h, jam (01-12)
%I, jam (01-12)
%i, menit (00-59)
%j, hari dalam setahun (001-366)
%k, jam (0-23)
%l, jam (1-12)
%M, nama bulan
%m, bulan (numerik 00-12)
%p, AM atau PM
%r, waktu jam dalam format 12 jam (hh:mm:ss AM or PM)
%S, detik (00-59)
%s, detik (00-59)
%T, waktu jam dalam format 24 jam (hh:mm:ss)
%U, minggu (00-53) dimana Sunday sebagai hari pertama dalam seminggu
%u, minggu (00-53) dimana Monday sebagai hari pertama dalam seminggu
%W, nama hari kerja
%w, hari dalam seminggu (0=Sunday, 6=Saturday)
%X, tahun dalam seminggu dimana Sunday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %V
%x, tahun dalam seminggu di mana Monday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %v
%Y, tahun 4 digit
%y, tahun 2 digit
[CODE]DATA_FORMAT (NOW(),’%b %d %Y %h : %i %p’)26. Drop Table Digunakan untuk menghapus tabel beserta seluruh datanya.
DATE_FORMAT (NOW(),’%m-%d-%Y’)
DATE_FORMAT (NOW(),’%d %b %Y’)
DATE_FORMAT (NOW(),’%d %b %Y %T : %f’)
Syntax dasar:
DROP TABLE table_nameContoh:
DROP TABLE mhs27. Drop Database()
Digunakan untuk menghapus database.
Syntax dasar:
DROP DATABASE database_name28. AVG()
Digunakan untuk menghitung nilai-rata-rata dari suatu data.
Syntax dasar:
SELECT AVG (column_name) FROM table_nameContoh:
SELECT AVG(harga) AS Harga_rata2FROM order29. Count()
Digunakan untuk menghitung jumlah (cacah) suatu data.
Syntax dasar:
SELECT COUNT (column_name) FROM table_nameContoh:
- SELECT COUNT(id) AS Jumlah_tamu FROM bukutamu
Digunakan untuk mendapatkan nilai terbesar dari data-data yang ada.
Syntax dasar:
SELECT MAX (column_name) FROM table_nameContoh:
SELECT MAX(harga) AS Harga_termahal FROM order31. Min()
Digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.
Syntax dasar:
SELECT MIN (column_name) FROM table_nameContoh:
SELECT MIN(harga) AS Harga_termurah FROM order32. Sum()
Digunakan untuk mendapatkan nilai total penjumlahan dari data-data yang ada.
Syntax dasar:
SELECT SUM (column_name) FROM table_nameContoh:
SELECT SUM(harga) AS Harga_total FROM order33. Group By()
Digunakan untuk mengelompokkan data dengan kriteria tertentu.
Syntax dasar:
SELECT column_name,aggregate_function(column_name)Contoh:
FROM table_name
WHERE column_name operator value
GROUP BY column_name
SELECT nama_customer,SUM(harga) FROM order GROUP BY nama_customer34. Having()
Digunakan untuk memfilter data dengan fungsi tertentu.
Syntax dasar:
SELECT column_name,aggregate_function(column_name)Contoh:
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
SELECT nama_customer,SUM(harga) FROM order35. Ucase()
WHERE nama_customer=’Arini’ OR nama_customer=’Maheswari’
GROUP BY nama_customer
HAVING SUM (harga)>25000
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf besar.
Syntax dasar:
SELECT UCASE (column_name) FROM table_nameContoh:
SELECT UCASE(nama) as Nama FROM bukutamu36. Lcase()
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf kecil.
Syntax dasar:
SELECT LCASE (column_name) FROM table_nameContoh:
SELECT LCASE(nama) as Nama FROM bukutamu37. Mid()
Digunakan untuk mengambil beberapa karakter dari field teks.
Syntax dasar:
SELECT MID(column_name,start[,length]) FROM table_nameContoh:
SELECT MID (kota,1,4) as singkatan_kota FROM Buku tamu38. Len()
Digunakan unutk mendapatkan informasi jumlah karakter dari field teks.
Syntax dasar:
SELECT LEN (column_name) FROM table_nameContoh:
SELECT LEN(nama) as panjang_nama FROM bukutamu39. Round()
Digunakan untuk pembuatan bilangan pecahan.
Syntax dasar:
SELECT ROUND (column_name,decimals) FROM table_nameContoh:
SELECT no_mhs, ROUND (nilai,0) as nilai_bulat FROM tnilai
...
No comments:
Post a Comment
Share Your Inspiration...