Dokumen tersebut membahas tentang sistem basis data dan penggunaan SQL dalam MySQL. Secara garis besar dibahas mengenai pengertian SQL, jenis-jenis perintah SQL, pengertian database, pengertian MySQL, dan cara penggunaan SQL dalam MySQL untuk membuat database, tabel, serta menghapus database.
1. Sistem Basis Data
Dian Christien Arisona 1
BAB I
Menggunakan SQL
1.1 Pengertian SQL
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering
disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses
database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO
dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan
(IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti
SQL. Jadi, perintah SQL pada semua software database hampir sama.
1.2 Jenis-jenis perintah SQL
Perintah atau instruksi SQL dapat dikelompokkan berdasarkan jenis dan fungsinya.
Terdapat 3 jenis perintah dasar SQL : Data Definition Language, Data Manipulation
Language dan Data Control Language.
Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan
pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATE, DROP,
ALTER, dan RENAME.
Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan
dengan data yang ada dalam tabel, tentang bagaiman menginput, menghapus,
memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah
SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE.
Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan
manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel.
Termasuk diantaranya : GRANT dan REVOKE.
Selain ketiga jenis perintah SQL, terdapat juga 2 jenis SQL tambahan : Transaction Control
Language, dan Programmatic SQL.
Transaction Control Language (TCL) adalah perintah SQL untuk proses transaksi.
Proses transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua,
atau tidak sama sekali. Misalnya untuk aplikasi critical seperti transfer uang dalam sistem
database perbankan. Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan
2. Sistem Basis Data
Dian Christien Arisona 2
menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua transaksi ini harus
dibatalkan. Tidak bisa hanya satu perintah saja. Termasuk ke dalam TCL adalah perintah :
COMMIT, ROLLCABK, dan SET TRANSACTION.
Programmatic SQL berkaitan dengan sub program (stored procedure) maupun
penjelasan mengenai struktur database. Contoh perintah seperti : DECLARE, EXPLAIN,
PREPARE, dan DESCRIBE
1.3 Pengertian Database
Definisi tentang Database:
1. Menurut Gordon C.Everest:
Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi
secara formal dan dikontrol terpusat pada organisasi.
2. Menurut C.J.Date:
Database adalah koleksi “data operasional” yang tersimpan dan dipakai oleh sistem
aplikasi dari suatu organisasi.
- Data input adalah data yang masuk dari luar system.
- Data output adalah data yang dihasilkan system.
- Data operasional adalah data yang tersimpan pada system.
3. Menurut S. Attre :
Database adalah koleksi data-data yang saling berhubungan mengenai suatu
organisasi / enterprise dengan macam-macam pemakaiannya.
4. Menurut Toni Fabbri :
Database adalah sebuah sistem file-file yang terintegrasi yang mempunyai minimal
primary key untuk pengulangan data. Jadi, Sistem Database adalah sistem penyimpanan data
memakai komputer.
Sifat-sifat database :
• Internal : Kesatuan (integritas) dari file-file yang terlibat.
• Terbagi/share : Elemen-elemen database dapat dibagikan pada para user baik
secara sendiri sendiri maupun secara serentak dan pada waktu yang sama
(Concurrent sharing).
3. Sistem Basis Data
Dian Christien Arisona 3
Elemen-elemen database :
A. Tipe :
Enterprise = Suatu jenis organisasi, misalnya Bank, Hotel, Universitas dan lain-lain.
Entity = File = Obyek pada enterprise berdasarkan data yang disimpan
Atribute = Field = Data item = Beberapa hal yang ingin diketahui dari suatu file
Record = Satu set field yang merupakan ciri khas dari suatu file
Istilah entity dan atribute biasanya digunakan pada tingkat konsepsual dan logikal,
sedangkan file, record dan field pada tingkat internal/fisikal.
B. Isi / Nilai :
Data File : Seluruh isi data pada file
Data Record : Satu set isi data pada suatu susunan field dari suatu file
Data Value : Isi data masing-masing data elemen.
4. Sistem Basis Data
Dian Christien Arisona 4
1.4 Pengertian Mysql
Menurut Antonius Nugraha Widhi Pratama (2010:10) MySQL adalah suatu sistem
managemen basis data relasional (RDBMS-Relational Database Management System) yang
mampu bekerja dengan cepat, kokoh dan mudah digunakan.
Menurut Wahana Komputer (2010:5) MySQL merupakan program database yang
mampu mengirim dan menerima data dengan sangat cepat dan multi user.
MySQL pertama kali dirintis oleh seorang programer database bernama Michael Widenius.
Selain MySQL ada beberapa program database server lain yang menggunakan standar query
berupa SQL, antara lain adalah:
1. Oracle
2. PostgreSQL
3. MySQL front
4. MySQL
5. SQL Server 97
MySQL adalah sebuah database server, dapat juga berperan sebagai client sehingga
sering disebut database client/server, yang open source dengan kemampuan dapat berjalan
baik di OS (Operating Sistem) manapun, dengan Platform Windows maupun Linux. Mysql
adalah sebuah perangkat lunak Pembuat database yang bersifat terbuka atau open source dan
berjalan disemua platform baik Linux maupun Si Windows, MySQL merupakan program
pengakses database yang bersifat network sehingga dapat digunakan untuk aplikasi Multi
User (Pengguna Banyak).
MySQL adalah Relational Database Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap
orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang
bersifat komersial.
MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam
query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query
MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan
Interbase.
5. Sistem Basis Data
Dian Christien Arisona 5
BAB II
Penggunaan SQL dalam Mysql
2.1 Membuat database
Untuk membuat atau mengetahui apa saja tabel dan field-field nya yang pertama kita
harus tahu apa judul program yang akan kita buat, atau program apa yang akan kita buat.
Kedua, setelah menentukan program apa yang akan kita buat, baru kita menentukan
nama tabel dari database program tersebut, misalnya kita akan membuat aplikasi persediaan
barang. Karna namanya persediaan barang, sudah tentu aplikasi kita berhubungan dengan
barang dan data nya..,dari situ kita sudah dapat menentukan tabel apa saja yang diperlukan
untuk aplikasi tersebut., Misalnya kita buat satu tabel dengan nama data_barang.
Langkah ketiga, kalau nama tabel sudah ditentukan, sekarang tinggal menentukan
field-field apa saja yang ada di tabel data_barang, nah untuk menentukannya, kita sesuaikan
dengan nama tabel tersebut, karna nama tabelnya data_barang, maka field yang ada di
dalamnya sudah tentu seputar tentang data-data barang, misalnya ada kode_barang,
nama_barang, jenis_barang, satuan, dan atau harga_barang kalau dibutuhkan.
Setelah kita tentukan apa saja fieldnya, sekarang baru kita tentukan type data dan size
dari masing-masing field tersebut. untuk itu kalian harus tahu dulu apa fungsi dari type data
tersebut ,berikut fungsi dari beberapa type data untuk field database :
Text / String : adalah tipe data yang dapat menerima input berupa data text.
Date/Time : adalah tipe data yang dapat menerima input berupa tanggal, tipe data
jenis ini memiliki ukuran 8 byte dan size 8.
Currency : adalah tipe data yang dapat menerima data berupa nilai uang.
Byte,Integer, Long : adalah tipe data untuk menerima input berupa bilangan bulat.
single, double : adalah tipe data untuk menerima input berupa bilangan pecahan.
boolean : adalah tipe data logika, hanya benar atau salah (true/false)
Sekarang tinggal sesuaikan tipe data apa yang cocok untuk field dari tabel database
anda, misalnya untuk tanggal lahir : tipe datanya date/time, atau harga barang : tipe datanya
yang dipakai adalah Currency.
6. Sistem Basis Data
Dian Christien Arisona 6
Untuk size nya, sesuaikan dengan kebutuhan field tersebut, misalnya untuk kode
barang kita hanya ingin agar batas maksimal kode adalah 4 karakter, maka tinggal kita
tentukan size dari kode barang itu = 4.
Kalau kita sudah bisa menentukan nama tabel, dan field-field apa saja yang ada dalam
tabel tersebut berarti kita sudah bisa membuat database kita sendiri.
Contoh:
Klik tombol Create Database
Anda telah berhasil menambahkan database, Anda sekarang perlu memberikan
username untuk mengakses database.
Create username: Jika Anda memiliki database MySQL, Anda akan perlu untuk
menetapkan user untuk dapat mengakses database. Jika Anda ingin membuat user dan
memberikan mereka akses ke database, silakan lakukan hal berikut:
1.Klik MySQL Database
2. Gulir ke bawah sampai Anda melihat Add New User.
3. Dalam bagian ini dan di sebelah kanan nama pengguna, harap memberikan nama pengguna
untuk database
4. Penulisan secara lengkap user database akan seperti ini: cpaneluser_databaseuser
5. Di sebelah kanan Sandi, ketik sandi yang Anda ingin membuat database untuk user.
6. Klik Create user.
Selanjutnya adalah menambahkan user ke dalam database pada bagian Add User To
Database Pilih User dan Database dan klik Add.
7. Sistem Basis Data
Dian Christien Arisona 7
Sekarang kita perlu memberikan hak user untuk database yang Anda tetapkan.
1. Untuk hak Database, silakan pilih database yang Anda ingin berikan hak untuk diakses.
2. Silakan pilih jenis hak Anda ingin pengguna memiliki. (Jika Anda ragu dengan mana saja,
bisa memilih All Privileges.)
3. Klik Make Changes.
Sekarang kita telah memberikan akses user ke database.
Cara membuat database yang kedua mengunakan tools command prompt :
1. Buka command prompt ( Start + All Program + Accessories + Command Prompt ).
2. Setelah menjumpai tampilan command prompt ketikan perintah dibawah ini : cd
C:xamppmysqlbin
3. Kemudian ketikan lagi perintah berikut : mysql -u root –p
4. Masukan password anda jika sebelumnya anda melakukan set password.
5. Jika suda berhasil masuk ke program klien Mysql anda akan menemui tulisan
semacam ini: Welcome to the MySQL monitor. Commands end with ; or g. Your
MySQL connection id is 11 ...............
6. Untuk membuat database ketikan perintah create database joomla; jika berhasil akan
muncul tulisan semacam ini: mysql> create database joomla; Query OK, 1 row
affected (0.04 sec)
7. Dan untuk melihat database anda bisa mengunakan perintah show databases:
8. Sistem Basis Data
Dian Christien Arisona 8
2.2 Menghapus database
Untuk menghapus Data Base dapat dilakukan dengan langkah berikut:
1. Klik MySQL Database
2. Dalam Database, Anda akan menemukan nama-nama semua database Anda saat ini.
3. Klik Hapus di sebelah nama database yang ingin Anda hapus.
4. sebuah database MySQL telah terhapus.
Catatan:
Anda juga mungkin perlu menghapus pengguna (user) yang mengakses database juga,
jika Anda ingin untuk tidak memiliki bekas apapun dari database yang tersisa.
Berhati-hatilah dalam melakukan penghapusan, karena semua tidak ada fasilitas
pembatalan (undo).
Kesalahan penghapusan/ setting merupakan tanggung jawab user.
Contoh:
Drop DataBase_Nama Database:
Misalnya kita akan menghapus database pegawai.
9. Sistem Basis Data
Dian Christien Arisona 9
maka perintahnya adalah DROP DATABASE PEGAWAI;
Lihat gambar :
Perhatikan gambar diatas, kita telah berhasil menghapus database pegawai, untuk
membuktikannya silahkan ketik perintah Show Data Base
10. Sistem Basis Data
Dian Christien Arisona 10
Lihat Screen shot dibawah ini :
2.3 Membuat Tabel
1. Tabel
Tabel merupakan entitas yang ada didalam sebuah sistem yang saling berhubungan
antara tabel satu dengan lainnya, misalnya ada sebuah sistem bernama "Sistem Registrasi
Siswa" sehingga entitas yang ada biasanya adalah registrasi_siswa dan kelas, maka tabel
didalam database nantinya juga registrasi_siswa dan kelas. Letak hubungan antara tabel
registrasi_siswa dengan siswa adalah setiap siswa memiliki kelas.
2. Field
Field adalah atribut-atribut yang ada didalam sebuah entitas/tabel, misalnya tabel
registrasi_siswa memiliki field yaitu id, nama_lengkap, tempat_lahir, tanggal_lahir,
tempat_lahir dan sebagainya.
3. Primary Key
Primary Key adalah field kunci yang ada didalam sebuah tabel, fungsinya adalah agar
data yang ditampung nantinya memiliki identitas masing-masing yang berbeda antara data
yang satu dengan yang lainnya didalam satu tabel.
11. Sistem Basis Data
Dian Christien Arisona 11
4. Record
Record adalah data yang masuk pada field-field didalam tabel. Sebenarnya masih
banyak hal-yang berkaitan dengan database, namun yang paling harus dimengerti adalah 4
hal di atas.
Setelah kita mengetahui 4 hal di atas ada juga yang perlu kita ketahui dalam
pembuatan fiel-field tabel dalam database, yaitu tentang type field
Type Keterangan Panjang
TINYINT
Digunakan jika data
berupa angka
Signed -127 sampai 128. Unsigned 0 sampai 255
SMALLINT
Digunakan jika data
berupa angka
Signed -32768 sampai 32767. Unsigned 0
sampai 65535
MEDIUMINT
Digunakan jika data
berupa angka
Signed -8388608 sampai 8388607. Unsigned 0
sampai 16777215
INT or
INTEGER
Digunakan jika data
berupa angka
Signed -2147483648 sampai 2147483647.
Unsigned 0 sampai 4294967295
BIGINT
Digunakan jika data
berupa angka
Signed -9223372036854775808 sampai
9223372036854775807. Unsigned 0
sampai 18446744073709551615
FLOAT
Digunakan jika data
berupa angka pecahan
desimal
-3.402823466E+38 sampai -1.175494351E-38, 0
dan 1.175494351E-38 sampai 3.402823466E+38
DATE
Digunakan jika data
berupa tanggal
1000-01-01 sampai 9999-12-31
DATETIME
Digunakan jika data
berupa tanggal dan
jam
1000-01-01 00:00:00 sampai 9999-12-31 23:59:59
TIME
Digunakan jika data
berupa jam
-838:59:59 sampai 838:59:59
12. Sistem Basis Data
Dian Christien Arisona 12
CHAR
Digunakan jika data
berupa hanya karakter
1 sampai 255
VARCHAR
Digunakan jika data
berupa angka dan
karakter
1 sampai 255
TEXT
Digunakan jika data
berupa text
0 sampai 65535
ENUM
Digunakan jika data
berupa pemilihan
'value','value','value'...
Unsigned adalah bilangan tanpa tanda didepan misalnya tanda negatif.
Type diatas adalah type-type field yang paling sering digunakan, sebenarnya ada beberapa
yang tidak tercantumkan dikarenakan selain type ditabel diatas sangat jarang digunakan.
Berikut langkah-langkah membuat tabel mysql
1. Misalnya kita akan membuat tabel bernama user dengan jumlah field 4
Tekan tombol Go pada bagian bawah, kemudian atur field-field seperti berikut :
Nama field bersifat Case Sensitive yang berarti besar kecilnya huruf dianggap berbeda.
Kemudian atur field ID menjadi primary key dan Auto Increment
13. Sistem Basis Data
Dian Christien Arisona 13
Maksud dari Auto increment atau A.I atau juga A_I adalah ketika masuk data baru secara
otomatis nilai dari field ID bertambah sendiri dan dimulai dari 1, jadi antara record satu
dengan yang lainnya tidak ada yang sama. Setelah itu tekan tombol Save pada bagian bawah.
Selain menggunakan cara di atas, kita juga bisa menggunakan perinta SQL untuk membuat
tabel berikut perintah SQLnya untuk membuat tabel user seperti diatas :
CREATE TABLE IF NOT EXISTS `user` (
`ID` int(5) NOT NULL AUTO_INCREMENT,
`Nama` varchar(50) NOT NULL,
`Username` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
2.4 Mengubah struktur Tabel
Ada saatnya kita perlu mengubah struktur tabel yang pernah kita buat sebelumnya.
pengubahan struktur bisa dalam hal penambahan kolom (Add), pengubahan lebar dan jenis
kolom (Modify), atau bisa saja penghapusan kolom dan indeks (Drop), penggantian nama
kolom (Change), pengantian nama tabel (Rename), dan sebagainya. apa pun juga yang anda
lakukan pada kolom tersebut tentu akan mempunyai dampak langsung pada data-data yang
sudah ada. nah, sekarang kita perlu menambahkan beberapa kolom baru, yaitu kolom jenis
kelamin, kota, tanggal lahir dan kodepos pada tabel karyawan. Perintah untuk mengubah
struktur tabel adalah "Alter Table".
Mengedit Atau Mengubah Struktur Tabel Dengan Alter
Format umum perintah SQL untuk mengedit atau mengubah struktur sebuah tabel
adalah seperti di bawah ini :
ALTER TABLE nama_tabel ALTER_OPTIONS;
14. Sistem Basis Data
Dian Christien Arisona 14
ALTER TABLE merupakan perintah dasar untuk mengedit atau mengubah suatu
tabel
nama_tabel merupakan nama dari tabel yang akan kita ubah atau kita edit.
ALTER_OPTIONS merupakan pilihan perubahan tabel. Bisa dikatakan perubahan
yang akan dilakukan pada suatu tabel. Pilihan yang bisa digunakan dalam alter table
diantaranya adalah sebagai berikut:
ADD ==> Digunakan untuk menambahkan field baru.
ADD INDEX ==> Digunakan untuk menambahkan index.
ADD PRIMARY KEY ==> Digunakan untuk menambah primary key pada
tabel.
CHANGE ==> Digunakan untuk mengubah sebuah field dalam suatu tabel.
MODIFY ==> Digunakan untuk mengubah definisi suatu field dalam suatu
tabel.
DROP ==> Digunakan untuk menghapus suatu field.
RENAME TO ==> Digunakan untuk mengganti nama suatu tabel.
Beberapa Contoh penggunaan sintaks alter table untuk mengubah struktur suatu tabel:
Menambahkan sebuah field baru ke tabel mahasiswa.
Contoh:
penggunaannya seperti di bawah ini :
ALTER TABLE mahasiswa add jenis_kelamin enum('P','W') not null default "P";
Mengubah tipe field jenis_kelamin menjadi varchar pada tabel mahasiswa:
ALTER TABLE mahasiswa MODIFY jenis_kelamin varchar(6) not null;
Menghapus field jenis_kelamin dari tabel mahasiswa.
ALTER TABLE mahasiswa drop jenis_kelamin;
Mengubah Nama Tabel
15. Sistem Basis Data
Dian Christien Arisona 15
Untuk mengubah nama tabel dapat menggunakan perintah sebagai berikut :
Kita akan mengubah tabel mahasiswa yang telah kita buat menjadi mhs.
RENAME TABLE mahasiswa TO mhs;
atau
ALTER TABLE mahasiswa RENAME TO mhs;
perintah di atas akan merubah nama tabel mahasiswa menjadi mhs.
2.5 Menghapus Tabel
Bentuk sintaks umum untuk menghapus sebuah tabel adalah seperti di bawah ini :
DROP TABLE nama_tabel;
Contoh:
penggunaannya adalah sebagai berikut: kita akan menghapus mahasiswa
DROP TABLE mahasiswa;
perintah di atas akan menghapus table dengan nama mahasiswa.
field_n tipe(panjang,
PRIMARY KEY (field_key)
);
BAB III
Perintah nonselect pada SQL
Sebelumnya, MySQL merupakan software database open source yang paling populer
di dunia, dimana saat ini digunaan lebih dari 100 juta pengguna di seluruh dunia. SQL adalah
bahasa yang digunakan dalam pembuatan databasenya tersebut.
Berikut ini adalah perintah-perintah pada SQL tersebut.
ALTER TABLE
ALTER TABLE table_name
ADD column_name datatypeor
ALTER TABLE table_name
DROP COLUMN column_name
AS (alias) SELECT column_name AS column_alias
16. Sistem Basis Data
Dian Christien Arisona 16
FROM table_nameor
SELECT column_name
FROM table_name AS table_alias
BETWEEN
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2
CREATE DATABASE CREATE DATABASE database_name
CREATE TABLE
CREATE TABLE table_name ( column_name1 data_type,
column_name2 data_type,
column_name2 data_type,
…
)
CREATE INDEX
CREATE INDEX index_name
ON table_name (column_name)or
CREATE UNIQUE INDEX index_name
ON table_name (column_name)
CREATE VIEW
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
DELETE
DELETE FROM table_name
WHERE some_column=some_valueor
DELETE FROM table_name
(Note: Deletes the entire table!!)
DELETE * FROM table_name
(Note: Deletes the entire table!!)
DROP DATABASE DROP DATABASE database_name
DROP INDEX
DROP INDEX table_name.index_name (SQL Server)
DROP INDEX index_name ON table_name (MS Access)
DROP INDEX index_name (DB2/Oracle)
ALTER TABLE table_name
17. Sistem Basis Data
Dian Christien Arisona 17
DROP INDEX index_name (MySQL)
DROP TABLE DROP TABLE table_name
3.1 Menambah data
Syntax : INSERT INTO namatable (field1,field2,..,fieldn) VALUES
(value1,value2,..,valuen);
Contoh : INSERT INTO Barang (KdBarang,NmBarang,Satuan,Harga) VALUES
(„B0001‟,‟Rejoice 250 ml‟,‟Botol‟,12000);
Selain dengan cara diatas, dapat juga dengan langsung memberikan nilai (value)
tanpa memnentukan field apa saja yg akan ditambah datanya, tetapi kita harus benar-benar
tahu urutan field dari table yang akan di tambah datanya.
Contoh :
INSERT INTO Barang VALUES („B0002‟,‟Rejoice sachet‟,‟Sachet‟,500);
Berikut Cara Untuk Menambah, Mengedit Dan Menghapus Isi Tabel Dari Perintah
Command :
Fungsi ADD untuk menambahkan baris baru dalam tabel, rumus yang di gunakan
adalah:
alter table [nama tabel]
add [field] [type field];
contoh jika ingin menambahkan field total_bayar :
alter table pembayaran
add total_bayar char (9); enter
jika sobat mau menambahkan field total_bayar setelah field kelas maka memakai rumus ;
alter table pembayaran
add total_bayar char (9)
after kelas;
18. Sistem Basis Data
Dian Christien Arisona 18
3.2 Mengubah data
Perintah MODIFY di gunakan untuk mengedit /mengubah isi tabel rumus yang di
gunakan adalah:
alter table [nama tabel]
modify [field] [type field];
contoh jika ingin menedit field total_bayar menjadi tot_bayar:
alter table pembayaran
modify tot_bayar char (7); enter
3.3 Menghapus data
Perintah DROP di gunakan untuk menghapus isi tabel, rumus yang di gunakan :
alter table [nama tabel]
drop [field];
contoh:
jika ingin menhapus field total_bayar :
alter table pembayaran
drop total_bayar ; enter
19. Sistem Basis Data
Dian Christien Arisona 19
BAB IV
Perintah select pada SQL
Pernyataan SQL di bawah ini menunjukkan penggunaan sederhana dari perintah SQL
SELECT: SELECT FirstName, LastName, DateOfBirth FROM Users
Contoh :
20. Sistem Basis Data
Dian Christien Arisona 20
FirstName LastName DateOfBirth
John Smith 12/12/1969
David Stonewall 01/03/1954
Susan Grant 03/03/1970
Mari kita periksa pernyataan SQL diatas, Pernyataan itu dimulai dengan kata kunci
SELECT diikuti dengan daftar kolom tabel (yang nantinya akan kita sebut sebagai field).
Daftar kolom ini menentukan kolom mana saja yang ingin Anda ambil dari table tertentu.
Daftar kolom diikuti dengan kata kunci SQL : "FROM" selanjutnya diikuti dengan nama
tabel (tabel dimana kita memilih data). Ada sebuah sintaks khusus yang dapat digunakan
dengan perintah SELECT, jika Anda ingin mengambil semua kolom dari tabel. Untuk
melakukan itu Anda dapat mengganti daftar kolom dengan simbol * maka Anda sudah
memilih semua kolom dari tabel: SELECT * FROM Users.
Namun sangat bijaksana jika Anda menentukan nama kolom(fields) satu persatu dan
tidak menggunkana perintah " SELECT * FROM namatable " karena ini akan meningkatkan
kinerja query Anda secara signifikan.
SELECT INTO mengambil data dari tabel database dan memasukkan ke tabel lain.
Perhatikan contoh di bawah ini SELECT INTO: SELECT FirstName, LastName,
DateOfBirth INTO UsersBackup FROM Users
Bagian pertama dari pernyataan tampak familiar dan hanya memilih beberapa kolom.
Bagian kedua dari pernyataan SQL adalah bagian penting, yang menentukan untuk
memasukkan baris ke dalam tabel UsersBackup. Bagian terakhir menentukan tabel mana
yang akan diambil datanya untuk dimasukkan ke tabel yang dipilih. Contoh ini
mengasumsikan bahwa baik tabel Users maupun tabel UsersBackup memiliki struktur yang
identik.
Anda dapat menggunakan query SQL berikut untuk membuat salinan data dalam tabel
Users SELECT * INTO UsersBackup FROM Users
4.1 Menampilkan field tertentu
Menampilkan data
Perintah SELECT digunakan untuk memilih kolom mana saja yang akan ditampilkan.
Jika kita ingin menampilkan semua kolom, kita cukup menggunakan tanda *. Perintah FROM
21. Sistem Basis Data
Dian Christien Arisona 21
digunakan untuk menentukan asal kolom yang ingin kita tampilkan datanya.
Perintah WHERE digunakan untuk membatasi baris-baris yang akan kita tampilkan agar
sesuai dengan kriteria yang kita inginkan. WHERE bisa dari tabel atau hasil dari View yang
lain. Perhatikan contoh-contoh penggunaan SQL berikut ini.
Untuk menampilkan beberapa field dalam satu tabel, dapat dipergunakan perintah
SELECT kode_karyawan, nama_karyawan FROM karyawan. Menampilkan data dengan
kondisi SELECT * FROM karyawan WHERE kode_karyawan = ‟2005000341‟
Menampilkan semua data pada tabel Bidang
Contoh ini kita membutuhkan tabel Bidang. Sedangkan kolom yang kita ingin
tampilkan adalah semua kolom. Kita dapat menggunakan tanda * atau mendaftar semua
kolom yang ada pada tabel Bidang. Berikut adalah perintah SQL dan hasil eksekusinya.
Jika kita ingin menyimpan dalam bentuk View perintah di atas, tambahkan sebelum
pernyataan SELECT perintah CREATE VIEW AS. Ganti dengan nama yang kita inginkan.
Menampilkan data nama dan alamat siswa
Pada contoh ini kita membutuhkan tabel Siswa. Sedangkan kolom yang kita inginkan
adalah kolom nama, alamat, dan kota. Kita tidak bisa menggunakan tanda *, tetapi harus
mendaftarkan nama kolom nama dan alamat setelah perintah SELECT. Perhatikan perintah
SQL dan outpunya berikut ini.
22. Sistem Basis Data
Dian Christien Arisona 22
Menampilkan data nama siswa yang rumahnya di Batu
Pada contoh ini kita membutuhkan pernyataan WHERE untuk membatasi baris yang
ingin kita tampilkan. Tabel yang dipakai adalah tabel Siswa dan kolom yang ingin
ditampilkan adalah kolom Nama. Kalau kita perhatikan hasil eksekusi contoh 12.2 di atas,
yang alamat rumahnya di Batu ada dua orang yaitu: Pepe Ricard dan Bubi Red. Pernyataan
WHERE diikuti dengan kondisi yang harus dipenuhi. Pada kasus ini adalah Kota='Batu'.
Berikut ini perintah SQL secara lengkap dan outputnya. Perhatikan cara penulisannya.
Menampilkan data nama siswa dan program keahlian yang diikuti
Pada contoh ini kita melibatkan dua buah tabel yang saling berhubungan yaitu tabel
Siswa dan tabel Program. Yang kita ingin tampilkan adalah kolom Nama pada tabel Siswa
dan kolom NamaProgram pada tabel Program. Untuk kasus seperti ini pada perintah
SELECT pemanggilan nama kolom harus didahului dengan nama tabelnya. Sedangkan pada
FROM, kita menggunakan perintah INNER JOIN untuk menggabung dua tabel. Perlu kita
cermati, pada tabel Siswa terdapat Foreign Key, yaitu: IdProgram yang merupakan Primary
Key pada tabel Program. IdProgram ini merupakan penghubung yang dapat kita gunakan
untuk menggabung dua tabel. Perhatikan, pernyataan SQL berikut ini dan cermati outputnya.
Menampilkan data nama siswa yang mengikuti program keahlian rpl
23. Sistem Basis Data
Dian Christien Arisona 23
Kita menambahkan pernyataan WHERE untuk menampilkan nama yang ikut
programkeahlian rpl. Selain itu, kita hanya ingin menampilkan kolom Nama dari tabel Siswa.
Perhatikan, pernyataan SQL berikut dan hasil eksekusinya.
Menampilkan data nama guru dan bidang keahliannya
Contoh ini lebih kompleks dari contoh-contoh di atas. Kita melibatkan tiga buah tabel,
yaitu: tabel Guru, tabel Guru_Bidang, dan tabel Bidang. Perhatikan relasi antar tabel tersebut
pada gambar 12.11. Ada dua INNER JOIN yang kita gunakan, yaitu: INNER JOIN tabel
Guru dengan tabel Guru_Bidang dan INNER JOIN Guru_Bidang dengan tabel Bidang.
Perhatikan bagaimana membuat pernyataan INNER JOIN.
4.2 Menampilkan record tertentu
Didalam SQL, SELECT berarti “menunjukkan data padaku.” Secara khusus, itu
berarti “tunjukkan beberapa data dari beberapa tabel.” Berikut adalah garis dasar dari
statemen SELECT: SELECT [some or all of the columns] FROM [one or more tables]
WHERE [the records meet some condition] Ketika Anda mengeluarkan perintah SELECT,
SQL scan data dalam tabel dan menampilkan hasilnya di layar. Argumen pertama Perintah
SQL SELECT yang mengatakan kepada kolom (atau field) untuk memasukkan dalam hasil.
Untuk melihat semua kolom dalam tabel, ketik tanda bintang (*) segera setelah SELECT
dalam bentuk ini:
1. SELECT * FROM mytable
24. Sistem Basis Data
Dian Christien Arisona 24
2. SQL memungkinkan Anda menggunakan kata kunci SEMUA bukan tanda bintang.
Manfaat untuk memilih semua kolom adalah bahwa Anda tidak harus mengetahui
salah satu nama kolom. Masalah dengan memilih semua kolom, tentu saja, adalah
bahwa Anda mungkin harus melihat selusin atau lebih kolom untuk menemukan
informasi yang Anda butuhkan.
3. Untuk membatasi jumlah kolom dalam hasil Anda, cukup menulis kolom yang Anda
inginkan:
4. SELECT column1, column2, column3 FROM mytable
5. Sebagai contoh, jika Anda ingin melihat nama depan, nama belakang, dan kolom
nomor telepon dari tabel Pelanggan Anda, Anda akan memasukkan perintah dalam
bentuk:
SELECT FName, LName, Phone FROM Customers
6. Selain menentukan kolom yang SQL akan tampilkan, Anda juga dapat mengontrol
urutan data tersebut muncul dengan menambahkan klausa ORDER BY. Cukup
tambahkan ke statemen SELECT Anda dalam bentuk:
7. SELECT Column1, Column2, Column3 FROM mytable ORDER BY Column3
8. Anda dapat menggunakan lebih dari satu kunci untuk mengurutkan hasil query.
Sebagai contoh, untuk mengurutkan pelanggan Anda secara alfabet berdasarkan nama
akhir dan kemudian dengan nama pertama, Anda akan mengeluarkan perintah seperti
ini:
SELECT Name, LName, Phone FROM Customers ORDER BY Lname,Fname
Secara default, SQL menganggap Anda ingin catatan-catatan dalam urutan menaik.
Jika Anda ingin menampilkan record dalam urutan, Anda menambahkan DESC kata kunci
untuk perintah SQL dalam bentuk ini:
SELECT Column1, Column2, Column3 FROM tablename ORDER BY Column3 DESC
Kita telah melihat bagaimana perintah SELECT memungkinkan Anda membatasi
jumlah kolom yang akan muncul dalam hasil Anda. Anda hanya menulikan kolom yang ingin
Anda lihat. Tapi secara default, SQL mengembalikan semua data dalam tabel. Sebagian besar
waktu, ketika Anda meng-query tabel, Anda ingin menampilkan record yang memenuhi
kondisi tertentu atau kriteria. Secara garis besar untuk mencari data tertentu, Anda dapat
menambahkan klausa WHERE untuk perintah SELECT Anda dalam bentuk:
SELECT column1, column2 FROM tablename WHERE [some condition is true about
some field]
25. Sistem Basis Data
Dian Christien Arisona 25
Misalnya, Anda ingin menampilkan hanya catatan untuk pelanggan yang tinggal di
kode pos 10010. Dengan asumsi bahwa bidang kode pos adalah kolom berupa karakter
(bukan angka), Anda akan mengeluarkan statemen SELECT berupa:
SELECT FName, LName, Phone FROM Customers WHERE Zip_code=”10010″ ORDER
BY Lname,Fname
Ketika SQL mengevaluasi pernyataan ini, maka hanya menampilkan data yang
mempunyai 10010 di dalam kolom Zip_code . Klausa ORDER BY memberitahu SQL untuk
mengatur data untuk diurutkan berdasarkan Lname. Perhatikan bahwa Anda tidak harus
menyertakan Zip_code dalam daftar bidang dalam rangka untuk merujuk ke dalam klausa
WHERE.
Dalam syntak WHERE, jika kolom yang ingin ditampilkan adalah numerik, Anda
tidak perlu menyertakan tanda kutip data. Misalnya, jika Anda ingin mencari pelanggan yang
last_purchase field berisi nilai 100 atau lebih, Anda akan mengeluarkan perintah seperti ini:
SELECT FName, LName, Phone FROM Customers WHERE Last_purchase >=100
4.3 Mengenal Ekspresi
SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi
SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose
Research Laboratory. Bahasa SQL mempunyai beberapa bagian yaitu :
- Data Definition Language (DDL)
DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi, membuat
indeks dan modifikasi skema relasi.
- Data-Manipulation Language (DML)
DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi tuple.
Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan modifikasi.
- Embedded DML
Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna seperti
PL/I, Cobol , Pascal dan Fortran.
- View Definition
26. Sistem Basis Data
Dian Christien Arisona 26
DDL SQL memasukkan perintah untuk mendefinisikan view.
- Authorization
DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.
- Integrity
DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus dipenuhi
oleh data yang tersimpan dalam basis data.
- Transaction control
SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi. Beberapa
implementasi juga memungkinkan locking data untuk concurrency control.
1. STRUKTUR DASAR
Struktur dasar dari ekspresi SQL terdiri dari tiga klausa yaitu : select, from dan where.
- Klausa Select berhubungan dengan operasi proyeksi dari aljabar relasional.
Operasi ini digunakan untuk mendaftar semua atribut yang diinginkan sebagai hasil suatu
query.
- Klausa From berhubungan dengan operasi Cartesian-product dari aljabar relasional.
Operasi ini mencatat semua relasi yang di”scan” dalam evaluasi suatu query.
- Klausa Where berhubungan dengan operasi predikat seleksi dari aljabar relasional.
Operasi ini terdiri dari sebuah predikat yang menyangkut atribut atribut dari relasi yang
muncul dalam klausa from.
Sebuah query SQL biasanya mempunyai bentuk : Select A1,A2,…..An From
r1,r2,….rn Where P
Klausa Select
Contoh : “ Tentukan nama-nama dari semua cabang bank dalam relasi loan “, Query-
nya : “select branch-name from loan”. Hasil dari query tersebut adalah sebuah relasi yang
berisi sebuah atribut tunggal dengan nama branch-name. Bahasa query formal bersifat
matematis dimana relasi adalah sebuah himpunan sehingga tuple-tuple yang telah muncul
tidak akan muncul lagi (tidak akan terjadi duplikasi tuple). Tapi dalam prakteknya untuk
menghilangkan duplikasi tuple sangat memakan waktu. Oleh karenanya SQL memungkinkan
27. Sistem Basis Data
Dian Christien Arisona 27
terjadinya duplikasi tersebut. Dari contoh di atas, maka query-nya akan mencatat setiap
branch-name setiap kali branch-name tersebut ditemukan dalam relasi loan.
Untuk kasus di atas jika diinginkan untuk menghilangkan duplikasi maka
dapat disisipkan distinct setelah select. Query di atas ditulis ulang sebagai berikut :”select
distinct branch-name from loan”. Jika tuple yang terduplikasi diinginkan hilang. Klausa selest
dapat juga mengandung operasi aritmatika yaitu operator : +, -, *, / dan
operasi terhadap konstanta atau atribut dari tuple. Contoh query berikut : “Select branch-
name, loan-number, amount * 100 From loan”. Akan menghasilkan sebuah relasi yang sama
dengan relasi loan, kecuali bahwa atribut amount dikalikan dengan 100. SQL-92 juga
menyediakan tipe data spesial seperti tipe date, dan memungkinkan beberapa fungsi
aritmatika untuk beroperasi pada tipe-tipe ini.
Klausa Where
Contoh query : “Temukan semua loan number untuk pinjaman-pinjaman yang
dibuat pada cabang Perryridge dengan jumlah lebih besar dari $1200”. Query-nya ditulis
sebagai berikut :”Select loan-number From loan Where branch-name = “Perryridge” and
amount >1200”. SQL menggunakan konektivitas lojik and, or dan not dalam klausa where.
SQL juga memasukkan perintah between untuk menentukan apakah suatu nilai lebih kecil
daripada atau sama dengan suatu nilai lain dan lebih besar daripada atau sama dengan suatu
nilai lain. Contoh : jika diinginkan menemukan loan-number yang jumlah pinjamannya
antara $90000 dan $100000, ditulis sebagai berikut : “Select loan-number From loan Where
amount between 90000 and 100000”.
Klausa From
Contoh query : “Untuk semua customer yang mempunyai sebuah pinjaman dari
bank, temukan nama dan loan number mereka”.
Dalam SQL ditulis : “Select distinct customer-name, borrower.loan-number From borrower,
loan Where borrower.loan-number = loan.loan.number”
Operasi Rename
SQL menyediakan mekanisme operasi rename untuk relasi dan atribut.
Operasi rename dalam SQL menggunakan klausa as dengan bentuk : Nama-lama as nama-
28. Sistem Basis Data
Dian Christien Arisona 28
baru
Contoh : Jika atribut dengan nama loan-number akan diganti dengan nama loan-id, dapat
ditulis sebagai berikut : “Select distinct customer-name, borrower.loan-number as loan-
id From borrower,loan Where borrower.loan-number = loan.loan-number and branch-name =
“Perryridge””
2. OPERASI HIMPUNAN
Operasi operasi himpunan pada SQL-92 meliputi : union, intersect, dan except. Union
identik dengan ∪, intersect identik dengan ∩ dan except identik dengan – pada aljabar
relasional.
Operasi Union
Contoh : Untuk mendapatkan semua customer yang mempunyai pinjaman,
rekening atau keduannya pada bank ditulis : “(select customer-name from
depositor) union (select customer-name from borrower)”. Operasi union secara otomatis
akan menghilangkan duplikasi, tidak seperti klausa select. Sehingga pada query di atas, jika
Jones (seorang customer) mempunyai beberapa rekening atau pinjaman (atau keduannya)
pada bank, maka Jones hanya akan muncul sekali. Jika duplikasi diinginkan ada maka harus
ditulis union all.
Operasi Intersect
Contoh : untuk mendapatkan semua customer yang memiliki pinjaman dan rekening
pada bank, query-nya ditulis :”(select distinct customer-name from
depositor) intersect (select distinct customer-name from borrower)”. Operasi intersect
secara otomatis menghilangkan duplikasi. Jika diinginkan duplikasi tetap ada ditulis intersect
all.
Operasi Except
Contoh : untuk mendapatkan semua customer yang mempunyai sebuah rekening
tetapi tidak memiliki pinjaman pada bank, ditulis : “(select distinct customer-name from
depositor) except (select customer-name from borrower)”. Operasi except secara otomatis
menghilangkan duplikasi. Jika diinginkan ada maka ditulis : except all.
29. Sistem Basis Data
Dian Christien Arisona 29
3. FUNGSI-FUNGSI AGREGASI
Yang termasuk fungsi-fungsi agregasi adalah :
Average : avg
Minimum : min
Maximum : max
Total : sum
Count : count
Fungsi-fungsi di atas telah tersedia. Input untuk avg dan sum haruslah bertipe
numerik. Untuk operator lainnya dapat non-numerik.
Contoh : untuk mendapatkan rata-rata saldo rekening pada cabang Perryridge, Query-nya
dapat ditulis : “Select avg(balance) From account where branch-name = “Perryridge””. Jika
fungsi agregasi iningn diterapkan pada kelompok himpunan tuple, maka digunakan klausa
group by. Nama atribut/kel. Atribut dalam klausa group by digunakan untuk membentuk
grup/kelompok. Artinya tuple-tuple yang mempunyai nilai yang sama pada semua atribut
dalam klausa group-by dimasukkan dalam satu grup/kelompok. Contoh : “Select branch-
name, avg(balance) From account Group by branch-name”
Jika suatu fungsi diterapkan pada grup/kelompok yang dibentuk oleh group by
maka digunakan klausa having setelah group by. Contoh : ingin ditampilkan nama cabang
yang mempunyai rata-rata saldo lebih dari 1200. Query-nya : “Select branch-name,
avg(balance) From account Group by branch-name having avg (balance)>1200”. Fungsi
agregrasi count sering digunakan untuk menghitung jumlah tuple dalam suatu relasi. Notasi
fungsi ini dalam SQL adalah count (*). Jadi untuk menentukan jumlah tuple dalam relasi
customer, ditulis : “Select count(*) from customer”.
4. SUBQUERI TERSARANG (NESTED SUBQUERYS)
Biasanya digunakan untuk melalukuan test keanggotaan himpunan,
perbandingan himpunan dan kardinalitas himpunan.
Keanggotaan Himpunan
Digunakan in dan not in untuk melakukan test keanggotaan himpunan. Contoh : untuk
mendapatkan semua customer yang mempunyai pinjaman dan rekening pada bank.
Pertama : menemukan semua pemegang reeking dengan query : (select customer-name from
30. Sistem Basis Data
Dian Christien Arisona 30
depositor)
Kedua : mencari semua customer yang merupakan peminjam dan yang muncul dalam daftar
pemegang rekening. Maka dilakukan dengan “menyarangkan” subquery di atas dalam sebuah
select luar (outer select), menjadi : Select distinct customer-name from borrower Where
customer-name in (select customer-name from depositor)
Perbandingan Himpunan
Perhatikan query berikut : “Temukan semua nama cabang bank yang mempunyai
asset lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di
Brooklyn”.
Query-nya ditulis : “Select branch-name from branch where assets > all (select assets from
branch where branch-city = “Brooklyn”)”.
5. MODIFIKASI BASIS DATA
Meliputi menambah, menghapus dan mengubah informasi menggunakan SQL.
Penghapusan (Deletion)
Yang dapat dihapus (delete) hanyalah tuple bukan nilai pada suatu atribut
tertentu. Dalam SQL, deletion diekspresikan dengan : Delete from r where p
Dimana p menunjukkan predikat dan r adalah relasi.
Contoh :
- Hapus semua rekening Smith, ditulis :
Delete from depositor where costomer-name = “Smith”
- Hapus semua pinjaman dengan jumlah pinjaman antara $1300 dan $1500
Delete from loan where amount between 1300 and 1500
- Hapus semua rekening pada setiap cabang yang berlokasi di Perryridge
Delete from account where branch-name in (select branch-name from branch where branch-
city = “Perryridge”)
31. Sistem Basis Data
Dian Christien Arisona 31
Penyisipan (Insertion)
Untuk menambahkan satu tuple dalam relasi digunakan statement insert. Contoh :
Insert into account values (“Perryridge”,”A-9732”,1200)
Query ini identik dengan Insert into account (branch-name, account-number,balance) Values
(“Perryridge”,”A-9732”,1200). Insert juga dapat dilakukan untuk suatu hasil dari query yang
lain.
Contoh :
Insert into account select branch-name, loan-number, 200 From loan where branch-name =
“Perryridge”
Update
Dalam situasi tertentu, diinginkan untuk mengganti nilai dalam sebuah tuple
tanpa harus mengganti semua nilai dalam tuple tersebut. Untuk tujuan ini dapat
digunakan statement update.
Contoh:
- untuk menaikkan saldo para nasabah sebesar 5% ditulis query sebagai berikut :
Update account set balance = balance * 1.05
- untuk menaikkan saldo nasabah sebesar 6% bagi nasabah yang saldonya lebih dari
$10000, ditulis query sebagai berikut :
Update account set balance = balance *1.06 Where balance >10000
6. BAHASA DEFINISI DATA ( DATA – DEFINITION LANGUAGE)
DDL SQL memungkinkan dilakukannya spesifikasi tidak hanya pada himpunan relasi
tetapi juga informasi untuk setiap relasi, yang meliputi :
1. Skema setiap relasi
2. Domain nilai setiap atribut relasi
3. Konstrain integritas
4. Himpunan indeks untuk setiap relasi
5. Sekuriti dan autorisasi setiap relasi
6. Struktur penyimpanan secara fisik untuk setiap relasi dalam disk.
32. Sistem Basis Data
Dian Christien Arisona 32
Tipe-tipe Domain dalam SQL
SQL-92 standar mendukung bermacam-macam tipe domain yang built-in
sebagai berikut:
char(n) : tipe karakter dengan panjang yang tetap (n) (fixed-length character)
varchar(n) : tipe karakter dengan panjang bervariasi. Maksimum panjang n.
int : integer
smallint : small integer
numeric (p,d) : p menunjukkan jumlah digit bilangan dan d menunjukkan julah digit
dibelakang titik desimal.
real, double precision : floating-point dan double-precision floating point
float (n) : floating-point number
date : tipe kalender
time : tipe hari dalam jam,menit dan detik
SQL-92 menggunakan klausa create domain untuk mendefinisikan domain.
Contoh :
“create domain person-name char(20)”.
Definisi Skema dalam SQL
Untuk mendefinisikan sebuah relasi dengan perintah create table : Create table
r(A1D1,A2D2,….AnDn, <integrity contraint1>, ……………, <integrity contrantk>). Dimana
r adalah nama relasi, setiap AI adalah nama atribut dalam skema relasi, dan DI adalah tipe
domain dari nilai dalam domain atribut Ai. Integrity constraint yang diperbolehkan antara
lain : primary key (Aj1, Aj2,….Ajn) dan check (P).
Contoh :
Create table customer (customer-name char(20) not null, customer-street char(30), customer-
city char(30), primary key (customer-name))
create table branch (branch-name char(15) not null, branch-city char(30), assets
integer, primary key (branch-name), check(assets >=0))
33. Sistem Basis Data
Dian Christien Arisona 33
create table account (account-number char(10) not null, branch-name char(15), balance
integer, primary key (account-number), check (balance >=0))
4.4 Mengenal Operator
Operator AND
(Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan
record yang ditampilkan hanya yang memenuhi semua kondisi) SELECT nama_karyawan,
gaji, kode_divisi FROM karyawan WHERE gaji > 2000000 AND kode_divisi = 'D0022'
Operator OR
(Dipergunakan untuk menampilkan record yang memiliki kondisi lebih dari satu, dan
record yang ditampilkan yang memenuhi salah satu kondisi) SELECT nama_karyawan, gaji,
kode_divisi FROM karyawan WHERE gaji > 2000000 OR kode_divisi = 'D0022'.
Operator BETWEEN
(Dipergunakan untuk menampilkan record yang berada dalam suatu batasan kondisi
tertentu) . SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE gaji
BETWEEN 2000000 AND 2600000.
Operator IN
(Dipergunakan untuk menampilkan record yang berada dalam suatu kelompok
kondisi tertentu ).SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE
kode_divisi IN ('D0012', 'D0022').
Operator NOT
(Dipergunakan untuk menampilkan record yang tidak termasuk dalam suatu kondisi
tertentu). SELECT nama_karyawan, gaji, kode_divisi FROM karyawan WHERE NOT
kode_divisi = 'D0012'
Operator LIKE
(Dipergunakan untuk menampilkan record yang memiliki bagian dari suatu kondisi
tertentu Penggunaan operator LIKE bisa didukung oleh penggunaan karakter %)
Operator Aritmetika
34. Sistem Basis Data
Dian Christien Arisona 34
*, dipergunakan untuk perkalian./, dipergunakan untuk pembagian.
+, dipergunakan untuk penambahan.-, dipergunakan untuk pengurangan.
contoh Gaji_setahun = gaji * 12
Menampilkan fungsi Agregat
(SUM, AVG, COUNT, MIN, MAX) Contoh : SELECT SUM(field) FROM
nama_tabel. SELECT COUNT (nama_field) FROM nama_tabel SELECT MIN(nama_field)
FROM nama_tabel . Dan begitu sterusnya untuk fungsi yg lain.
Fungsi Order by
Dipergunakan untuk menampilkan data yang terurut atau mengurutkan data. Ada dua
macam pengurutan : Secara Ascending (Asc)(Pengurutan nilai kolom secara menaik atau
membesar). Secara Descending (Desc)(Pengurutan nilai kolom secara menurun atau
mengeci)l.
Fungsi Group BY
Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel.
Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah.
Fungsi Having
Fungsi HAVING memiliki kesamaan fungsi seperti WHERE. Tetapi fungsi HAVING
dipergunakan bila ada pemanggilan operasi GROUP dalam query dan operand-nya.
melibatkan pemanggilan operasi agregat. Jadi fungsi HAVING dipergunakan mengikuti
Fungsi GROUP BY, untuk memberikan suatu kondisi. SELECT colulmn_expression FROM
table_name GROUP BY grouping_expression HAVING roup_condition
Fungsi JOIN
Fungsi JOIN dipergunakan untuk menampilkan data yang berasal lebih dari satu tabel.
Ada beberapa macam JOIN dalam SQL :
a. Inner Joins
Inner joins menggunakan operator pembanding untuk mencocokkan baris (rows) dari
dua tabel berdasarkan pada nilai yang ada di kolom yang dipergunakan sebagai pembanding
atau penghubung dari masing-masing tabel.
35. Sistem Basis Data
Dian Christien Arisona 35
Contoh :
select * from employee inner join department on employee.deparment_id = department.
department_id
b. Outer Joins
Outer join menampilkan semua baris dari tabel selama memenuhi kondisi walaupun
tidak memiliki kecocokan data. Ada tiga macam Outer Join : Left Outer Join, Right Outer
Join dan Full Outer Join
Contoh :
select * from employee left outer join department on employee.deparment_id = department.
department_id
c. Cross Joins
Cross Join mengembalikan/menampilkan nilai semua baris (record) dari tabel sebelah
kiri. Setiap record dari tabel sebelah kiri digabungkan dengan semua record dari tabel sebelah
kanan. Bila Cross Join menggunakan WHERE, maka hasil yang ditampilkan sama seperti
bila menggunakan INNER JOIN. Cross join juga disebut dengan Cartesian products bila
tidak menggunakan WHERE
Contoh :
SELECT trklinik.kdtransaksi, trklinik.kdpasien, pasien.nmpasien FROM trklinik CROSS
JOIN pasien WHERE trklinik.kdpasien = pasien.kdpasien ORDER BY kdtransaksi ASC
36. Sistem Basis Data
Dian Christien Arisona 36
BAB V
Menggunakan Fitur pada perintah select
5.1 Menggunakan operator is null
Operator IS NULL mengetes nilai yang null. Nilai null berarti nilai tersebut tidak
tersedia, tidak diberikan, tidak diketahui, atau tidak dapat digunakan. Oleh karena itu, kita
tidak dapat menggunakan “=” karena nilai null tidak dapat sama atau tidak sama dengan
suatu nilai.
Contoh:
Menampilkan data karyawan yang tidak memiliki atasan.
SELECT id, last_name, manager_id
FROM employee
WHERE manager_id = NULL;
SELECT id, last_name, manager_id
FROM employee
WHERE manager_id = „ „;
Menampilkan data karyawan yang memiliki prosentase komisi.
SELECT last_name, title, commission_pct
FROM employee
WHERE commission_pct IS NOT NULL
Nilai-nilai fields dalam sebuah tuple kadang-kadang tidak diketahui (unknown)
(Misal, sebuah nilai rating tidak diberikan) atau tidak dapat digunakan (inapplicable) (Misal,
tidak mempunyai nama isteri/suami). SQL menyediakan nilai spesial null utk keadaan-
keadaan tersebut. Adanya nilai null dapat menimbulkan beberapa komplikasi.
Operasi-operasi aritmatika +, -, *, dan /, semuanya menghasilkan nilai null jika salah satu
argumennya bernilai null. Null values dapat menimbulkan kelakukan yang tidak diharapkan
37. Sistem Basis Data
Dian Christien Arisona 37
untuk operasi-operasi aggregasi. COUNT (*) memperlakukan null values seperti halnya nilai-
nilai lainnya (ikut diperlhitungkan). Operasi-operasi aggregasi lainnya (COUNT, SUM,
AVG, MIN, MAX, dan variasi penggunaan DISTINCT) mengabaikan null values . Null
values dapat tidak dibolehkan untuk muncul dengan menspesifikasikan NOT NULL sebagai
bagian dari definisi field-field yang diinginkan.
Contoh:
sname CHAR(20)NOT NULL
Selain itu, fields dalam primary key tidak diperbolehkan bernilai null. Untuk ini
terdapat constraint implisit NOT NULL untuk setiap field yang dinyatakan dalam PRIMARY
KEY constraint.
5.2 Menggunakan operator between dan not between
Kita dapat menampilkan data berdasarkan jangkauan nilai tertentu menggunakan
operator BETWEEN. Jangkauan yang kita tentukan adalah jangkauan rendah dan tinggi.
Contoh:
Menampilkan data karyawan yang mulai bekerja antara tanggal 9 Mei 1991 dan 17 Juni
1991.
SELECT last_name, hire_date
FROM employee
WHERE hire_date BETWEEN „09-MAY-91′ AND „17-JUN-91′;
5.3 Menggunakan operator like dan not like
mysql> select * from mahasiswa where nama_lengkap like 'A%';
+-----------+---------------+----------------------------+-------------+-----------+
| npm | nama_lengkap | alamat | jns_kelamin | gol_darah |
+-----------+---------------+----------------------------+-------------+-----------+
| 087006118 | Andina Novita | Perum Batara Blok C. No. 8 | P | A |
| 087006122 | Agus Ramdah | Kawalu No. 210 | L | O |
38. Sistem Basis Data
Dian Christien Arisona 38
| 087006222 | Abdul Kodir | Manonjaya | L | AB|
+-----------+---------------+----------------------------+-------------+-----------+
3 rows in set (0.07 sec)
Analisa:
Operator diatas untuk menampilkan data pada tabel mahasiswa dimana data pada kolom
tertentu diawali dengan nilai tertentu.
Kita mungkin tidak selalu mengetahui nilai tertentu secara pasti dalam proses
pencarian. Kita dapat menampilkan baris data yang sesuai dengan susunan karakter tertentu
menggunakan operator LIKE. Dua jenis simbol dapat digunakan untuk membangun string
pencarian.
% : Menunjukkan beberapa urutan nilai karakter 0 atau lebih
- : Menunjukkan beberapa karakter tunggal
Contoh:
Menampilkan data karyawan yang memiliki nama berawalan huruf “M”.
SELECT last_name
FROM employee
WHERE last_name LIKE „M%‟;Menampilkan data karyawan yang memiliki nama tidak
mengandung huruf “a”.SELECT last_name
FROM employee
WHERE last_name NOT LIKE „%a%‟;
Operator LIKE dapat digunakan sebagai jalan pintas bagi beberapa perbandingan
menggunakan BETWEEN.
Contoh 2:
Menampilkan data karyawan yang mulai bekerja pada tahun 1991.
SELECT last_name, hire_date
FROM employee
WHERE hire_date LIKE „%91′;
5.4 Menggunakan order by untuk mengurutkan data
39. Sistem Basis Data
Dian Christien Arisona 39
Fungsi Order by Dipergunakan untuk menampilkan data yang terurut atau
mengurutkan data. Ada dua macam pengurutan : Secara Ascending (Asc)(Pengurutan nilai
kolom secara menaik atau membesar). Secara Descending (Desc)(Pengurutan nilai kolom
secara menurun atau mengecil).
Maksud dari pengurutan data dengan perintah ORDER BY adalah jika data sebuah
tabel diurutkan dengan perintah tersebut, maka data tadi akan diurutkan dari atas ke bawah
berdasarkan abjad. Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut
struktur perintah SQL :
SELECT * FROM [NAMA TABEL] ORDER BY [NAMA KOLOM];
5.5 Menggunakan group by untuk mengelompokkan data
Fungsi GROUP BY dipergunakan untuk mengelompokkan record-record pada tabel.
Fungsi GROUP by dipergunakan mengikuti operasi agregat pada suatu perintah.
Statement GROUP BY digunakan bersama dengan fungsi agregat ke grup hasil-set
oleh satu atau beberapa kolom.
Bentuk umum GROUP BY:
SELECT nama_kolom, aggregate_function (nama_kolom)
DARI nama_tabel
40. Sistem Basis Data
Dian Christien Arisona 40
WHERE nama_kolom operator nilai
GROUP BY nama_kolom
Contoh:
Tabel Pesanan
No Tanngal pesanan Harga Pesanan Pelanggan
1 2011/11/12 1000 Hanizar
2 2011/10/23 1600 Nilam
3 2011/09/02 700 Hanizar
4 2011/09/03 300 Hanizar
5 2011/08/30 2000 Jeni
6 2011/10/04 100 Nilam
Jika kita ingin mencari jumlah total pesanan dari setiap pelanggan.
Maka, kita harus menggunakan pernyataan GROUP BY untuk kelompok pelanggan.
Bentuk umumnya adalah : SELECT Pelanggan, SUM (Harga pesanan) FROM
Pesanan GROUP BY Pelanggan maka, hasilnya adalah sebagai berikut :
Pelanggan SUM(HargaPesanan)
Hanizar 2000
Nilam 1700
Jeni 2000
Contoh 2:
Tabel Pekerjaan
Nama Jam kerja
Raisya 12
Doni 10
Raisya 8
Doni 15
41. Sistem Basis Data
Dian Christien Arisona 41
SELECT Nama, DESC (Jam_Kerja)
FROM NamaJam_Kerja
GROUP BY Nama
Maka, Hasilnya adalah :
Nama Jam Kerja
Doni 15
Raisya 12
Doni 10
Raisya 8
Menggunakan Group By Clause
Perhatikan contoh berikut :
select department_id, avg(salary) from employees group by department_id ;
Pada contoh diatas kita menambahkan suatu fungsi yaitu fungsi Group By yang
digunakan untuk mengelompokkan rata-rata salary berdasarkan department_id. jadi begini
kira-kira terjemahan contoh diatas :
Tampilkan department id beserta dengan rata-rata salary dari tabel employees dimana
rata-rata salarynya dikelompokkan berdasar department_id. jadi intinya , kita mencari nilai
rata-rata salary dari tiap department.
42. Sistem Basis Data
Dian Christien Arisona 42
Menggunakan Group By Clause dengan multiple columns(banyak kolom/lebih dari
satu kolom)
Perhatikan contoh berikut :
select department_id as dept_id, job_id, AVG(salary)
from employees
group by department_id, job_id
pada contoh diatas, kita akan menampilkan dept_id , job_id beserta dengan rata-rata
salary dimana rata-rata salarynya didapatkan dengan mengelompokkan department_id
terlebih dahulu lalu setelah itu dikelompokkan berdasarkan job_id. Intinya, kita ingin mencari
rata-rata salary dari tiap job_id dimana job_id tersebut terdapat dalam department_id yang
sama .
43. Sistem Basis Data
Dian Christien Arisona 43
BAB VI
Perintah MySQL untuk Menampilkan Data dari Beberapa Tabel
Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran
jika dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat
berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one),
1-M (one-to-many), atau M-N (many-to-many). Sebagai contoh terlihat pada gambar
pemodelan data konseptual (class diagram) di bawah ini. Tabel pelanggan berhubungan
dengan pesan, pesan dengan barang, dsb.
Pada pembuatan suatu aplikasi, terkadang kita juga memerlukan tampilan data yang
tidak hanya berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya,
dari class diagram di bawah, kita ingin menampilkan nama pelanggan berikut transaksi yang
pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan minimal dua
tabel, yaitu pelanggan dan pesan.
Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan bentuk
perintah JOIN. Akan dijelaskan secara bertahap mengenai bagaimana menggabungkan dua
tabel atau lebih, terutama untuk menampilkan data yang berasal dari beberapa tabel. Contoh-
contoh dalam tutorial ini secara khusus telah dicoba di database MySQL, namun demikian
secara umum perintah penggabungan tabel di semua jenis database tidak jauh berbeda alias
sama.
44. Sistem Basis Data
Dian Christien Arisona 44
6.1 Inner Join
Yang pertama Inner join = Inner join hanya akan ditampilkan baris baris yang satu
sama lain memiliki kecocokan . Contoh : SELECT a.Nama, b,penyakit FROM pasien a
INNER JOIN penyakit b ON b.id = a.id;
+------+---------+
| Nama | Penyakit|
+------+---------+
| Koni | Asma |
| Huni | Mual |
| Buri | Pusing |
+------+---------+
6.2 Left Join
Yang kedua Left join = Left join akan menampilkan semua isi tabel sisi kiri ,
walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null.
Contoh : SELECT a.Nama, b.penyakit FROM pasien a LEFT JOIN penyakit b ON b.id =
a.id;
+------+---------+
| Nama | Penyakit|
+------+---------+
| Koni | Asma |
45. Sistem Basis Data
Dian Christien Arisona 45
| Huni | Mual |
| Buri | Pusing |
| Orui | NULL |
+------+---------+
Left join adalah relasi antar tabel, namun query yang ditampilkan adalah mengacu
pada tabel yang sebelah kiri / tabel utama.
misal seperti ini :
mysql> select * from mahasiswa order by id asc;
+----+--------------+----------+-----------------------+----------+
| id | nim | kota | fakultas | angkatan |
+----+--------------+----------+-----------------------+----------+
| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 |
| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 |
| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 |
| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 |
| 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 |
+----+--------------+----------+-----------------------+----------+
5 rows in set (0.05 sec)
mysql> select * from nim order by id asc;
+----+--------------+----------+
| id | nim | nama |
+----+--------------+----------+
| 1 | A10.111.1031 | Musthofa |
| 2 | A10.111.1032 | Bisri |
| 3 | A11.111.1040 | Alex |
| 4 | A11.111.1041 | Graham |
+----+--------------+----------+
4 rows in set (0.00 sec)
Jika kedua tabel itu kita relasi dengan left join maka akan menjadi seperti ini :
mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a left join
nim b on a.nim=b.nim;
46. Sistem Basis Data
Dian Christien Arisona 46
+----+--------------+----------+-----------------------+----------+----------+
| id | nim | kota | fakultas | angkatan | nama |
+----+--------------+----------+-----------------------+----------+----------+
| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa |
| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri |
| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex |
| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham |
| 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 | NULL |
+----+--------------+----------+-----------------------+----------+----------+
5 rows in set (0.00 sec)
nah terlihat total data yang ditampilkan ada 5 baris, namun lihat pada baris kelima kolom
nama, disitu tertulis NULL.
6.3 Right Join
Selanjutnya Right join = Right join ini hanya kebalikan left join , akan
menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri
nilainya tidak sama ataupun berisi null.
Contoh :
SELECT a.Nama, b.penyakit FROM pasien a RIGHT JOIN penyakit b ON b.id = a.id;
+------+---------+
| Nama | Penyakit|
+------+---------+
| Koni | Asma |
| Huni | Mual |
| Buri | Pusing |
+------+---------+
6.4 Full Join
Yang terakhir Full join = Full join akan menampilkan semua isi tabel sisi kiri
walaupun data di pasangan joinnya yang disisi kanan nilainya null atau sebaliknya
47. Sistem Basis Data
Dian Christien Arisona 47
Contoh :
SELECT a.Nama, b.Penyakit FROM pasien a FULL JOIN JK b on a. id = b.id;
+------+---------+ +------+----------+
| Nama | Penyakit| | Nama | JK |
+------+---------+ +------+----------+
| Koni | Asma | | Koni | Laki |
| Huni | Mual | | Huni | Perempuan|
| Buri | Pusing | | Buri | Laki |
+------+---------+ +------+----------+
Menjadi
+------+---------+----------+
| Nama | Penyakit| JK |
+------+--------------------+
| Koni | Asma | Laki |
| Huni | Mual |Perempuan |
| Buri | Pusing | Laki |
+------+---------+----------+
48. Sistem Basis Data
Dian Christien Arisona 48
BAB VII
Menghubungkan mysql ke java
JDBC (Java Database Conectivity) merupakan library yang digunakan untuk
mengkoneksikan DBMS dengan Java, baik itu MySQL, Oracle, Microsoft ODBC dan DBMS
lainnya. Untuk menghubungkan antara Java dan MySQL kita membutuhkan sebuah library
yang bernama MySQLConector Java.
Untuk membuat koneksi dari Java ke MySQL kita memerlukan class yang bernama
Driver. Dan setiap Connector (yang kita gunakan MySQLConnectorJava) memiliki Driver
masing-masing yang selalu mengimplementasi class Driver yang ada dalam paket “java.sql”.
Langkah pertama kita harus mengecek keberadaan Driver dalam MySQLConnector java kita
gunakan perintah ini untuk mengetesnya (Sebelumnya diimport dulu file jar untuk mysql
connectornya ya) :
1. Mengecek Driver MySQL
Class.forName(“com.mysql.jdbc.Driver”).newInstance();
Atau lengkapnya seperti ini :
49. Sistem Basis Data
Dian Christien Arisona 49
import java.sql.Connection;
import java.sql.DriverManager;
public class koneksi {
public static void main (String[]s) {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("Driver terbaca");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
2. Membuat Connection ke Database
selanjutnya kita membuat Connection untuk menghubungkan program java dan
database yang kita buat. Dan untuk membuat Connection kita harus mengetahui host, port,
dan nama database yang akan kita gunakan. Selain itu kita juga harus mengetahui username
dan password yang digunakan untuk koneksi mysql tersebut. Perintahnya seperti ini :
Connection con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/dbjava”,
“root”, “”);
Atau lengkapnya seperti ini :
import java.sql.Connection;
import java.sql.DriverManager;
public class koneksi {
public static void main (String[]s) {
Connection con;
String dbHost = "jdbc:mysql://localhost:3306/dbcrudsederhana";
String dbUser = "root";
String dbPass = "";
try {
50. Sistem Basis Data
Dian Christien Arisona 50
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection(dbHost, dbUser, dbPass);
System.out.println("koneksi");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Biasanya untuk kepentingan Aplikasi Database, suatu koneksi seperti ini akan dipisah
dan dibuat menjadi kelas sendiri, lalu didalamnya dibuat method yang akan mengembalikan
nilai koneksi tersebut, misalnya seperti ini :
import java.sql.Connection;
import java.sql.DriverManager;
public class koneksi {
private Connection con;
public Connection con {
String dbHost = "jdbc:mysql://localhost:3306/dbcrudsederhana";
String dbUser = "root";
String dbPass = "";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=DriverManager.getConnection(dbHost, dbUser, dbPass);
System.out.println("koneksi");
}
catch (Exception e) {
e.printStackTrace();
}
return con;
}
51. Sistem Basis Data
Dian Christien Arisona 51
BAB VIII
Menghubungkan mysql ke PHP
Terdapat 4 Tahapan dalam pembuatan Script PHP ke MySQL ini
1.Pembuatan Koneksi PHP ke MySQL
2.Pembuatan Tabel MySQL
3.Memasukkan data pada tabel MySQL
4.Menampilkan data dari MySQL
Pertama-tama kita akan membuat script koneksi PHP ke MySQL
<?php
$hostmysql = “localhost”;
$username = “mysql_username”;
$password = “mysql_password”;
$database = “nama_database”;
$conn = mysql_connect(”$hostmysql”,”$username”,”$password”);
52. Sistem Basis Data
Dian Christien Arisona 52
if (!$conn) die (”Gagal Melakukan Koneksi”);
mysql_select_db($database,$conn) or die (”Database Tidak Diketemukan di Server”); ? >
Untuk mempermudah, simpan file tersebut dengan nama connect.php , agar jika
terdapat script PHP yang memerlukan untuk terkoneksi dengan database, dapat dengan
mudah memanggilnya.
Penjelasan Script koneksi PHP ke MySQL:
a. Penyambungan mysql dipergunakan untuk membuat koneksi menggunakan PHP ke
server MySQL. Data untuk hostname, mysql username, dan password yang digunakan
telah dideklarasikan oleh variabel $hostmysql, $username, $password.
Penulisannya pada script akan sama dengan:
mysql_connect(”localhost”,”username”,”password”);
b. mysql_select_db dipergunakan untuk memilih database yang akan digunakan.
c. if (!$conn) die (”Gagal Melakukan Koneksi”); jika terjadi kegagalan dalam melakukan
koneksi (!$conn), maka akan muncul pesan kesalahan Gagal Melakukan Koneksi
Setelah itu kita akan membuat tabel MySQL
<?php include (”connect.php”);
mysql_query(”CREATE TABLE user (
namadpnVARCHAR(20),
namablkg VARCHAR(20),
negara VARCHAR(20))”); ?>
Penjelasan:
1. include (”connect.php”); kita gunakan untuk mengikutkan sebuah file (contoh file
connect.php).
2. mysql_query perintah ini memiliki format umum yakni ysql_query(string dari query).
Script dibawah ini dipergunakan untuk membuat tabel
<?php include (”connect.php”);
$insert = “INSERT INTO users (type,firstname,lastname)
53. Sistem Basis Data
Dian Christien Arisona 53
VALUES (’User,’Budi’,’Utomo’)”;
mysql_query($insert) or die (”tidak dapat menulis pada tabel”);?>
Script dibawah ini dipergunakan untuk menampilkan data dari tabel
<?php include (”connect.php”);
$query = “SELECT * FROM user”;
$result = mysql_query($query);
$numrows = mysql_num_rows($result);
while($row = mysql_fetch_array($result)){
echo “Total: $numrows”;
echo “Tipe: $row[type]”;
echo “Nama Depan: $row[firstname]”;
echo “Nama Belakang: $row[lastname]“;
} ?>
Daftar Pustaka
http://syafiq13.wordpress.com/2012/11/24/melakukan-koneksi-mysql-dengan-java-melalui-
jdbc/
http://www.kelasinformatika.com/2012/06/mengenal-sql-secara-
mendasar_02.html#ixzz2TWVx7lD6
http://dulida.blogspot.com/2012/02/sintak-pada-sql.html#ixzz2TWTwpbqF
http://www.qwords.com/kb/2009/02/membuat-koneksi-php-ke-mysql/
http://ahmadnasikun.wordpress.com/2011/03/10/cara-koneksi-java-dengan-database-
mysql/
http://blog.seventhsoft.net/2012/09/pengertian-databasebasis-data.html
http://setiyawatii.blogspot.com/
54. Sistem Basis Data
Dian Christien Arisona 54
https://www.google.com/search?q=pengertian+database&client=firefox-
a&hs=ONZ&rls=org.mozilla:enUS:official&tbm=isch&tbo=u&source=univ&sa=X&
ei=psCVUd7zMMqArgem6IGICA&ved=0CD8QsAQ&biw=1366&bih=598#imgrc=
Geh9W1Jj3iXp9M%3A%3Bql_rljt4N5MXM%3Bhttp%253A%252F%252Fimg.cara
pedia.com%252Fimages%252Farticle%252Fdatabase.gif%3Bhttp%253A%252F%25
2Fcarapedia.com%252Fpengertian_definisi_database_info2083.html%3B752%3B516