Pertemuan IV
Perintah SQL
Tujuan
Mahasiswa memahami Perintah sql dan menerapkannya di Database SQL Server 2000
Materi
1. Konsep DDL
2. Konsep DML
Software
1. Windows 2003 Operating System.
2. Sql Server 2000
Landasan Teori
SQL COMMAND
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.
Pelaksanaan Praktikum
Mempelajari sintak SQL mulai dari pembuatan database, penghapusan database, dan
pembuatan table serta perintah manipulasi table baik itu insert, update, delete, dan select
Latihan DDL
1. Buatlah database dengan nama_DB = RUMAH SAKIT
2. Buatlah table table dengan menggunakan sintaks SQL di Query Analyzer, adapun table
yang terdapat didalamnya adalah sebagai berikut :
Tabel Pemeriksaan
No Nama column Type data length keterangan
1 No_pendaftaran Char 5 Primary key
2 No_pasien Char 5 Foreign key
3 Tgl_pendaftaran Datetime
4 Tgl_periksa datetime
Tabel Dokter
No Nama column Type data length keterangan
1 Kode_dokter Char 5 Primary key
2 Nama_dokter Varchar 25
Tabel Pasien
No Nama column Type data length keterangan
1 No_pasien Char 5 Primary key
2 Nama_pasien Varchar 25
3 Alamat Varchar 50
4 Telepon Varchar 12
Tabel Resep
No Nama column Type data length keterangan
1 No_pendaftaran Char 5 Foreign key
2 Kode_dokter Char 5 Foreign key
3 Kode_sakit Char 5 Foreign key
4 Kode_obat Char 5 Foreign key
5 Dosis Varchar 25
Tabel Obat
No Nama column Type data length keterangan
1 Kode_obat Char 5 Primary key
2 Nama_obat Varchar 25
Tabel Penyakit
No Nama column Type data length keterangan
1 Kode_sakit Char 5 Primary key
2 Nama_penyakit Varchar 25
3. Buatlah Relasi tabel dari tabel di atas
TUGAS DML
Buatlah database baru dengan nama = DB_BANK , kemudian buat tabel-tabel di bawah ini
serta inputkan isi tabelnya dengan menggunakan perintah SQL.
Diketahui 2 tabel (nasabah dan cabang) beserta isi tabelnya,
Tabel Nasabah
No Nama column Type data length keterangan
1 Kd_nasabah Char 5 Primary key
2 Nama Varchar 25
3 Alamat Varchar 50
4 Rekening Varchar 10
5 Kd_cabang Char 5 Foreign key
6 Saldo Float
Tabel Cabang
No Nama column Type data length keterangan
1 Kd_cabang Char 5 Primary key
2 Nama Varchar 25
3 Alamat Varchar 50
4 Jml_nasabah Numeric Not null
Inputan data seperti dlm tabel di bawah ini
DATA CABANG
Kd_cabang Nama Alamat Jml_nasabah
KC001 KC AMIKOM CONDONG CATUR 8
KC002 KC JANTI JANTI 5
KC003 KC GEJAYAN GEJAYAN 6
KC004 KC WIROBRAJAN WIROBRAJAN 8
KC005 KC KAUMAN KAUMAN 7
KC006 KC IMOGIRI IMOGIRI 6
KC007 KC BABARSARI BABARSARI 3
DATA NASABAH
Kd_nasabah Nama Alamat Rekening Kd_cabang saldo
N0001 JANUAR KALASAN 12340001 KC002 150000
N0002 FEBRI KUNCEN 12340002 KC004 250000
N0003 Maria paris 12340003 KC006 300000
N0004 Aprillia samirono 12340004 KC003 200000
N0005 Memey seyegan 12340005 KC001 120000
N0006 Juno gamping 12340006 KC004 280000
N0007 Julia monjali 12340007 KC001 140000
N0008 Agusto turi 12340008 KC001 220000
N0009 Septia ngampilan 12340009 KC005 130000
N0010 Okta sagan 12340010 KC003 270000
N0011 Nova kotabaru 12340011 KC005 200000
N0012 Desi terban 12340012 KC003 70000
Soal
1. Buatlah perintah untuk menampilkan semua nama nasabah, alamat dan saldonya
2. Buatlah perintah untuk menampilkan nama nasabah dengan saldo > 200000
3. Buatlah perintah untuk menampilkan nama nasabah dengan alamat gejayan
4. Buatlah perintah untuk menampilkan nama nasabah dengan kode cabang KC003
5. Buatlah perintah untuk menampilkan semua data kantor cabang
6. Buatlah perintah untuk menampilkan nama kantor cabang dengan alamat kauman
7. Buatlah perintah untuk menampilkan nama kantor cabang dengan jumlah nasabah > 6
orang
8. Buatlah perintah untuk mengupdate data kantor cabang dengan kode KC002 menjadi
Nama = KC RSJ pakem
Alamat =pakem
Jumlah nasabah = 7
9. Buatlah perintah untuk menghapus data semua kantor cabang dengan jumlah nasabah
kurang dari 5
10. Buatlah perintah untuk mengupdate data nasabah dengan kode N0010 menjadi
Alamat = monjali
Saldo =400000
11. Buatlah perintah untuk menghapus semua data nasabah dengan alamat terban