SQL singkatan dari Structured Query Language. SQL adalah bahasa komputer yang standart untuk mengakses dan memanipulasi database. Seluruh aplikasi database yang beredar di pasaran, baik yang gratis maupun yang berlisensi, mengadopsi bahasa SQL untuk mengolah databasenya.

Beberapa SQL command atau perintah SQL yang harus diketahui adalah :

• CREATE DATABASE, untuk membuat sebuah database.
• DROP DATABASE, untuk menghapus sebuah database.
• CREATE TABLE, untuk membuat sebuah table.
• ALTER TABLE, untuk memodifikasi sebuah table.
• DROP TABLE, untuk menghapus sebuah table.
• SELECT, untuk menampilkan data dari database.
• UPDATE, untuk memodifikasi data dari database.
• INSERT INTO, untuk menambah data di database.
• DELETE, untuk menghapus data dari database.

Sedangkan perintah SQL untuk tingkat lanjut ada cukup banyak. Command tingkat lanjut ini berguna untuk mengolah data dengan cara yang lebih rumit dan kompleks.

CREATE DATABASE COMMAND

Sebelum bekerja dengan database, anda harus membuat dulu sebuah database yang akan menjadi obyek pekerjaan anda.

Syntaxnya :

CREATE DATABASE database_name

Setelah membuat database dengan command seperti di atas, tidak secara otomatis database anda berisi tabel-tabel. Database anda dalam keadaan kosong. Anda harus membuat tabel-tabel seperti yang akan dijelaskan pada bagian selanjutnya.

DROP DATABASE COMMAND

Jika anda ingin menghapus sebuah database, gunakan perintah berikut ini :

DROP DATABASE database_name

Jika anda menggunakan perintah di atas, maka seluruh database dan tabel yang ada di dalamnya akan terhapus.

Catatan : untuk Access, anda tidak diperbolehkan menggunakan perintah DROP DATABASE. Jika anda menggunakan perintah ini, aplikasi anda akan kacau. Jika anda ingin menghapus database dari Access, anda bisa menghapus file mdb yang telah dibuat oleh Access.

CREATE TABLE COMMAND

Selanjutnya anda dapat membuat table dengan perintah berikut :

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
…….
)

Contohnya :

CREATE TABLE Person
(
LastName varchar,
FirstName varchar,
Address varchar,
Age int
)

Anda juga bisa membatasi ukuran masing-masing field utnuk menghasilkan file database yang lebih kecil :

CREATE TABLE Person
(
LastName varchar(30),
FirstName varchar,
Address varchar,
Age int(3)
)

Untuk tipe datanya, anda dapat melihat lagi di bagian pertama materi kuliah ini.

ALTER TABLE COMMAND

Perintah ALTER TABLE dapat anda gunakan jika anda ingin memodifikasi struktur table yang anda buat. Artinya, jika anda ingin menambahkan sebuah atau beberapa field baru dalam tabel yang sudah anda buat, atau anda ingin menghapus satu atau beberapa field yang sudah anda buat, anda dapat menggunakan perintah ini.

Syntaxnya :

Untuk menambah field baru :

ALTER TABLE table_name
ADD column_name datatype (size)

Untuk menghapus field yang sudah ada :

ALTER TABLE table_name
DROP COLUMN column_name

DROP TABLE COMMAND

Untuk menghapus sebuah table, perintahnya seperti berikut ini :

DROP TABLE table_name

Catatan : Perlu diingat, bahwa jika anda menghapus sebuah table, maka seluruh data yang ada di dalamnya akan ikut terhapus.

SELECT COMMAND

Untuk menampilkan data dari sebuah database, anda dapat menggunakan perintah SELECT. Bentuk baku dari perintah ini adalah :

SELECT column_name_1, column_name_2, dst
FROM table_name

Jika anda ingin menampilkan semua data dalam sebuah table tanpa memilih salah satu field, maka anda dapat menggunakan perintah berikut :

SELECT * FROM table_name

SELECT DISTINCT STATEMENT

SELECT DISTINCT Statement digunakan untuk menampilkan data dari satu atau beberapa field (column) dari sebuah tabel. Namun perbedaan antara SELECT dengan SELECT DISTINCT terletak pada hasilnya.

Perhatikan contoh table ORDERS berikut ini :

Company OrderNumber
Sega 3412
W3Schools 2312
Trio 4678
W3Schools 6798

Jika anda menggunakan perintah SELECT seperti ini :

SELECT Company FROM Orders

maka hasil yang didapat akan seperti ini :

Company
Sega
W3Schools
Trio
W3Schools

Tapi jika anda menggunakan perintah SELECT DISTINCT seperti ini :

SELECT DISTINCT Company FROM Orders

Maka hasilnya akan seperti ini :

Company
Sega
W3Schools
Trio

Perhatikan bahwa dengan perintah SELECT, data “W3Schools” akan ditampilkan 2 kali sesuai data yang ada, sedangkan dengan perintah SELECT DISTINCT, maka data “W3Schools” hanya ditampilkan 1 kali. Jadi perintah SELECT DISTINCT tidak akan menghasilkan data yang identik atau kembar.

WHERE CLAUSE

Anda juga dapat menambahkan sebuah kondisi pada perintah SELECT untuk menampilkan data yang lebih spesifik.

Syntax baku dari perintah WHERE adalah :

SELECT column FROM table
WHERE column operator value

di mana operator yang dimaksud adalah :

Operator Description
= Equal
<> atau != Not equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern

Perhatikan table PERSONS di bawah ini :

LastName FirstName Address City Year
Hansen Ola Timoteivn 10 Sandnes 1951
Svendson Tove Borgvn 23 Sandnes 1978
Svendson Stale Kaivn 18 Sandnes 1980
Pettersen Kari Storgt 20 Stavanger 1960

Jika anda menggunakan perintah SELECT dengan atribut WHERE seperti berikut ini :

SELECT * FROM Persons WHERE City=’Sandnes’

Maka hasilnya akan ditampilkan seperti ini :

LastName FirstName Address City Year
Hansen Ola Timoteivn 10 Sandnes 1951
Svendson Tove Borgvn 23 Sandnes 1978
Svendson Stale Kaivn 18 Sandnes 1980

Perhatikan, bahwa yang ditampilkan adalah data yang berasal dari kota “Sandnes” sesuai dengan kondisi yang diberikan pada perintah di atas. Perhatikan untuk tulisan tanda petik (“) yang digunakan, berikut ini penulisan yang benar:

Untuk nilai berupa text :

Syntax yang benar :
SELECT * FROM Persons WHERE FirstName=’Tove’

Syntax yang salah :
SELECT * FROM Persons WHERE FirstName=Tove

Untuk nilai berupa angka :

Syntax yang benar :
SELECT * FROM Persons WHERE Year>1965

Syntax yang salah :
SELECT * FROM Persons WHERE Year>’1965′

LIKE CLAUSE

Statemen LIKE dapat anda tambahkan pada perintah SELECT untuk memberikan suatu kondisi yang menyerupai sesuatu.

Syntax bakunya adalah :

SELECT column FROM table_name
WHERE column LIKE conditions

Dalam perintah ini, digunakan tanda “%” untuk menunjukkan sesuatu yang belum diketahui.

Perhatikan contoh berikut ini :

SELECT * FROM Persons
WHERE FirstName LIKE ‘O%’

Perintah di atas ini akan menampilkan semua data yang FirstName-nya berawalan dengan huruf “O”.

SELECT * FROM Persons
WHERE FirstName LIKE ‘%a’

Sedangkan contoh di atas akan menghasilkan semua data yang FirstName-nya berakhiran dengan huruf “a”.

SELECT * FROM Persons
WHERE FirstName LIKE ‘%la%’

Sedangkan perintah di atas ini akan menghasilkan semua data yang FirstName-nya memiliki huruf “la” di tengahnya.

ORDER BY STATEMENT

Statement ORDER BY digunakan untuk mengurutkan tampilan data berdasarkan satu atau beberapa field secara urut dari awal ke akhir (ascending) atau dari akhir ke awal (descending).

Syntaxnya adalah sebagai berikut :

SELECT column_1, column_2, dst FROM table_name
ORDER BY column_1, column_2, dst ASC/DESC

Atau anda juga dapat menggabungkannya dengan clause yang lain, seperti WHERE dan LIKE seperti berikut ini :

SELECT column_1, column_2, dst FROM table
WHERE column_2 LIKE conditions ORDER BY column_1 ASC

Perhatikan contoh table ORDERS berikut ini :

Company OrderNumber
Sega 3412
ABC Shop 5678
W3Schools 2312
W3Schools 6798

Misalnya anda punya perintah seperti ini :

SELECT Company, OrderNumber FROM Orders
ORDER BY Company

Maka hasilnya akan seperti ini :

Company OrderNumber
ABC Shop 5678
Sega 3412
W3Schools 6798
W3Schools 2312

Perhatikan, bahwa jika anda tidak memberikan tanda ASC atau DESC, maka hasilnya akan ditampilkan secara ASC (urut dari awal ke akhir, atau dari kecil ke besar).

Anda juga dapat menggabungkan beberapa kondisi sekaligus. Perhatikan contoh berikut ini :

SELECT Company, OrderNumber FROM Orders
ORDER BY Company DESC, OrderNumber ASC

Hasilnya akan seperti ini :

Company OrderNumber
W3Schools 2312
W3Schools 6798
Sega 3412
ABC Shop 5678

Perhatikan bahwa hasilnya menunjukkan bahwa di field company akan urut secara descending, dan di field ordernumber akan urut secara ascending.

AND dan OR STATEMENT

Statement AND atau OR dapat digunakan untuk menggabungkan 2 kondisi yang berbeda untuk dijalankan dalam perintah WHERE.

Perhatikan contoh table PERSONS berikut ini :

LastName FirstName Address City
Hansen Ola Timoteivn 10 Sandnes
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes

Misalnya anda mempunyai perintah seperti ini :

SELECT * FROM Persons
WHERE FirstName=’Tove’
AND LastName=’Svendson’

Maka hasilnya akan seperti ini :

LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes

Atau anda punya contoh perintah seperti ini :

SELECT * FROM Persons
WHERE firstname=’Tove’
OR lastname=’Svendson’

Maka hasil yang akan ditampilkan adalah seperti ini :

LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes

Anda juga dapat menggabungkan statement AND dan OR secara bersamaan, misalnya :

SELECT * FROM Persons WHERE
(FirstName=’Tove’ OR FirstName=’Stephen’)
AND LastName=’Svendson’

Maka hasilnya akan seperti ini :

LastName FirstName Address City
Svendson Tove Borgvn 23 Sandnes
Svendson Stephen Kaivn 18 Sandnes

UPDATE COMMAND

Perintah UPDATE digunakan untuk memodifikasi data (record) yang ada dalam sebuah table.

Syntaxnya :

UPDATE table_name
SET column_name = new_value
WHERE column_name = old_value

Perhatikan contoh table PERSONS berikut ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Ani Storgt 67

Misalnya anda punya perintah seperti ini :

UPDATE Person SET FirstName = ‘Nina’
WHERE LastName = ‘Rasmussen’

Maka hasilnya adalah seperti ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67

Perhatikan bahwa record yang sebelumnya adalah “Ani” berubah menjadi “Nina” setelah perintah dijalankan.

INSERT INTO COMMAND

Perintah INSERT INTO digunakan untuk menambahkan data baru pada sebuah table, bukan untuk memodifikasi data dalam salah satu field saja.

Syntaxnya :

INSERT INTO table_name (column1, column2, dst)
VALUES (column1_value, column2_value, dst)

Perhatikan table PERSONS di bawah ini :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger

Untuk menambahkan data yang baru, anda dapat menggunakan perintah INSERT INTO. Berikut contohnya :

INSERT INTO Persons (LastName, FirstName, Address, City)
VALUES (‘Hetland’, ‘Camilla’, ‘Hagabakka 24’, ‘Sandnes’)

Atau perintah seperti ini :

INSERT INTO Persons
VALUES (‘Hetland’, ‘Camilla’, ‘Hagabakka 24’, ‘Sandnes’)

Perhatikan bahwa karena isi field berupa text, maka value yang ada diberi tanda petik (‘ ‘) yang menandakan text atau string. Hasilnya adalah sebagai berikut :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes

Anda juga dapat menambahkan data pada field tertentu saja, namun tetap membuat baris yang baru (bukan mengganti data yang lama).

Perhatikan table PERSONS berikut ini :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes

Misalnya anda punya perintah seperti ini :

INSERT INTO Persons (LastName, Address)
VALUES (‘Rasmussen’, ‘Storgt 67’)

Maka hasilnya adalah :

LastName FirstName Address City
Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes
Rasmussen Storgt 67

Perhatikan bahwa data yang baru tidak menggantikan posisi data yang lama, melainkan menempati baris yang baru dengan 2 field yang dikosongkan isinya.

DELETE COMMAND

Perintah DELETE digunakan untuk menghapus data dari sebuah table. Fungsi menghapus ini akan dijalankan berdasarkan kondisi yang diberikan. Karena itu perlu anda ingat untuk selalu memberikan sebuah kondisi agar data yang terhapus benar-benar data yang ingin anda hapus.

Perintah ini tidak bisa menghapus hanya isi field tertentu saja. Seluruh field dalam satu rangkaian baris akan dihapus jika kondisi yang ditetapkan terpenuhi.

Syntaxnya :

DELETE FROM table_name
WHERE column_name = value

Perhatikan contoh table PERSONS berikut ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Stien 12 Stavanger

Misalnya anda punya perintah seperti ini :

DELETE FROM Person WHERE LastName = ‘Rasmussen’

Maka hasilnya akan seperti ini :

LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger

Perhatikan bahwa seluruh data milik Rasmussen akan dihapus.

Jika anda ingin menghapus semua baris yang ada, anda dapat menggunakan perintah berikut ini :

DELETE FROM table_name
atau
DELETE * FROM table_name

Maka seluruh data dalam table itu akan terhapus semuanya.