Anda di halaman 1dari 32

Extract XIII

SISTEM BASIS DATA


MySQL

Konsentrasi Program
KeDai Computerworks
2016
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

DATABASE MANAGEMENT SYSTEM


Database Management System (DBMS) adalah perangkat lunak yang berfungsi untuk
membangun basis data berbasis komputerisasi. Contoh aplikasi yang tergolong DBMS antara
lain MySQL, Oracle, SQL Server, Microsoft Access, Dbase, dan sebagainya. DBMS bisa digunakan
untuk :
1. Mendefinisikan database.
2. Membuat objek-objek database.
3. Melakukan penambahan, perubahan maupun penghapusan data.
4. Menampilkan informasi dari database.
5. Sharing database.
6. Backup dan restore database.
Dalam database terdapat :
1. Field, merupakan data terkecil yang memiliki makna, istilah lainnya disebut elemen data,
atribut maupun kolom item. Misalnya NAMA PESERTA, NO REGISTRASI dan KONSENTRASI.
2. Record adalah kumpulan atau elemen dari data yang saling terkait. Contohnya field nama
yang memiliki record AAN, AWI, ANNI dan ONO. Record merupakan elemen-elemen data
dari field dan biasanya dinyatakan sebagai baris.
3. Tabel, menghimpun sejumlah field dan record, misalnya tabel peserta yang terdiri dari field
konsentrasi yang di dalamnya terdapat record PROGRAM, JARINGAN DAN MULTIMEDIA.

APA ITU MYSQL?


MySQL merupakan software database open source yang paling populer di dunia, dimana
saat ini digunakan lebih dari 100 juta pengguna di seluruh dunia. Dengan kehandalan,
kecepatan dan kemudahan penggunaannya, MySQL menjadi pilihan utama bagi banyak
pengembang software dan aplikasi baik di platform web maupun desktop. Pengguna MySQL
tidak hanya sebatas pengguna perseorangan maupun perusahaan kecil, namun perusahaan
seperti Yahoo!, Alcatel-Lucent, Google, Nokia, Youtube, Wordpress dan Facebook juga
merupakan pengguna MySQL.
MySQL pertama kali dibuat dan dikembangkan di Swedia, yaitu oleh David Axmark, Allan
Larsson dan Michael "Monty" Widenius. Mereka mengembangkan MySQL sejak tahun 1980-an.
Saat ini versi MySQL yang sudah stabil mencapai versi 5x dan sedang dikembangkan versi 6x.
Untuk lebih lengkapnya dapat dilihat di situs resmi MySQL.
MySQL dalam penggunaannya memiliki keistimewaan tersendiri jika dibandingkan dengan
DMBS lain, antara lain :

1
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Portability. Berjalan stabil pada berbagai sistem operasi (Windows,Linux, Mac OS, Solaris
dsb).
Open Source. Didistribusikan secara open source (gratis).
Multiuser. Dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa
mengalami masalah atau konflik.
Performance Tunning. Memiliki kecepatan yang baik dalam menangani query sederhana.
Column Types. Memiliki tipe kolom yang kompleks, seperti : signed/unsigned integer, float,
double, char, varchar, blob, time, datetime, timestamp, year, set serta enum.
Command dan Functions. Memiliki operator dan fungsi secara penuh yang mendukung
perintah SELECT dan WHERE dalam query.
Security. Memiliki lapisan sekuritas, seperti level subnetmask, nama host dan izin akses
user disertai dengan password enkripsi.
Scalability dan Limits. Mampu menangani database dalam skala besar dengan jumlah
records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris.
Connectivity. Dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix
soket atau Named Pipes.
Localization. Dapat mendeteksi pesan kesalahan (error code) pada client dengan
menggunakan lebih dari dua puluh bahasa.
Interface. Memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman
dengan fungsi API (Application Programming Interface).
Clients dan Tools. Dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi
database.
Struktur Tabel. Memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE
dibandingkan Oracle atau PostgreSQL.

SQL (STRUCTURED QUERY LANGUAGE)


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.
Terdapat 3 (tiga) jenis perintah SQL, yaitu :
1. DDL (Data Definition Language)
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur
database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini
antara lain :
1. CREATE

2
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Digunakan untuk membuat database dan table.

2. ALTER
Perintah ini digunakan untuk mengubah struktur table yang telah dibuat. Pekerjaannya
mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus
kolom, maupun memberikan atribut pada kolom.
3. DROP
Digunakan untuk menghapus table dan database.
2. DML (Data Manipulation Language)
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data
atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
1. SELECT
Digunakan untuk memilih data dari suatu tabel atau view.
2. INSERT
Digunakan untuk menyisipkan baris dari suatu tabel.
3. UPDATE
Digunakan untuk mengubah isi dari kolom (field) pada suatu table.
4. DELETE
Digunakan untuk menghapus baris dari suatu tabel.
3. DCL (Data Control Language)
DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses
(priviledges). Perintah SQL yang termasuk dalam DCL antara lain :
1. GRANT
Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator server
kepada user. Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT),
menghapus (DELETE), mengubah (UPDATE) dan hak khusus yang berkenaan dengan
sistem databasenya.
2. REVOKE
Kebaikan dari GRAND, REVOKE digunakan untuk menghilangkan atau mencabut hak
akses yang telah diberikan kepada user oleh administrator.

3
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

TIPE DATA
Setiap pembuatan field / kolom pada sebuah table, harus ditentukan tipe datanya. Tipe data
merupakan jenis data yang akan disimpan pada sebuah table. Tipe data yang disediakan MySQL
sangat banyak dan lengkap. Anda dapat memilih tipe data suatu kolom sesuai dengan data yang
akan disimpan. Setelah mengetahui apa itu MySQL, mari kita lihat macam-macam tipe data
dalam MySQL. Secara umum tipe data MySQL ada empat, yaitu numeric, date, string, biner &
kelompok himpunan (bentukan).
A. Tipe Data Numeric
MySQL dapat menerima masukan berupa angka-angka yang dibagi atas integer (angka
tanpa pecahan) dan floating-point (angka dengan pecahan). MySQL juga mengerti notasi
scientific yaitu integer atau floating-point yang diikuti tanda “e” atau “E”, tanda “+” atau “-“.
Misalnya angka 1.34E+12 atau 3.23e-5.
Tipe ini untuk harga integer dan floating-point. Untuk integer kolom haruslah
PRIMARY KEY atau indeks yang unik jika ia diberi atribut AUTO_INCREMENT (dapat otomatis
mengurutkan angka). Jika diberikan atribut UNSIGNED berarti angka tidak boleh negatif.
Sedangkan atribut ZEROFILL menandakan bahwa angka diawali dengan angka nol.

No. Tipe Data Jangkauan Ukuran

1. TINYINT -128 s/d 127 1 Byte


(8 bit)

2. SMALLINT -32.768 s/d 32.767 2 Byte


(16 Bit)

3. MEDIUMINT -8.388.608 s/d 8.388.608 3 Byte


(24 Bit)

4. INT -2.147.483.648 s/d 2.147.483.647 4 Byte


(32 Bit)

5. BIGINT ± 9.22 x 1018 8 Byte


(64 Bit)

6. FLOAT -3.402823466E+38 s/d -1.175494351E-38, 0, dan 4 Byte


1.175494351E-38 s/d 3.402823466E+38 (32 Bit)

7. DOUBLE -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 8 Byte


s/d 1.79...E+308 (64 Bit)
8. REAL

9. DECIMAL -1.79...E+308 s/d -2.22...E-308, 0, dan 2.22...E-308 8 Byte


s/d 1.79...E+308 (64 Bit)
10. NUMERIC

4
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

B. Tipe Data Date Time


Tipe data date time digunakan untuk menyimpan data tanggal (date) dan jam (time)
misalnya “2001-10-15” untuk tanggal dengan format YYYY-MM-DD dan “12:45:15” untuk jam
dengan format hh:mm:ss.

No. Tipe Data Jangkauan Ukuran

1. DATE 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD) 3 Byte

2. TIME -838:59:59 s/d +838:59-59 (HH:MM:SS) 3 Byte

3. DATETIME ‘1000-01-01 00:00:00’ s/d ‘9999-12-31 23:59:59’ 8 Byte

4. YEAR 1900 s/d 2155 1 Byte

C. Tipe Data String (Text)


Tipe data string digunakan untuk menyimpan data string (text / karakter) yang merupakan
deretan karakter yang membentuk kata yang diapit oleh tanda petik (‘’) atau tanda kutip dua
(“”). Data yang bisa disimpan oleh tipe data ini berupa karakter, baik itu huruf, angka maupun
spesial karakter kecuali tanda (‘) karena tanda ini dikenali oleh query sebagai penanda tipe data
string.

No. Tipe Data Jangkauan Ukuran

1. CHAR 0 s/d 255 MByte

2. VARCHAR 0 s/d 255 karakter (versi 4.1) M + 1Byte


0 s/d 65.635 (versi 5.0.3)

3. TINYTEXT 0 s/d 255 karakter (versi 4.1) Panjang karakter


+ 1 Byte
0 s/d 65.635 (versi 5.0.3)

4. TEXT 0 s/d 65.635 (261 - 1) Panjang karakter


+ 2 Byte

5. MEDIUMTEXT 0 s/d 224 – 1 karakter Panjang karakter


+ 3 Byte

6. LONGTEXT 0 s/d 232 – 1 karakter Panjang karakter

5
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

+ 4 Byte

D. Tipe Data BLOB (Biner)


Tipe data blob digunakan untuk menyimpan data biner.

No. Tipe Data Jangkauan

1. BIT 64 Digit Biner

2. TINYBLOB 255 Byte

3. BLOB 216 – 1 Byte

4. MEDIUMBLOB 224 – 1 Byte

5. LONGBLOB 232 – 1 Byte

E. Tipe Data Bentukan (Himpunan)


Selain tipe data standar seperti Numeric, Date and Time, String dan Biner, MySQL juga
menyediakan tipe data khusus yang merupakan kumpulan data yang kita definisikan sendiri.
Tipe data bentukan ini terdiri dari ENUM dan SET.

1. Tipe Data ENUM


Tipe data ENUM merupakan tipe data yang khusus untuk kolom dimana nilai datanya
sudah kita tentukan sebelumnya. Pilihan ini dapat berisi 1 sampai dengan 65,535
pilihan string. Dimana kolom yang didefinisikan sebagai ENUM hanya dapat memilih
satu diantara pilihan string yang tersedia.
2. Tipe Data SET
Berbeda dengan tipe data ENUM dimana pilihan yang tersedia untuk kolom hanya
dapat 1 data, untuk kolom SET kita dapat memilih satu atau lebih nilai yang tersedia
dari 1 sampai 64 pilihan string yang tersedia.

OPERATOR
Operator yaitu suatu elemen yang digunakan untuk mengekspresikan suatu kondisi dalam
pencarian data, dimana biasanya digunakan untuk memanipulasi data, seperti fungsi SELECT,
UPDATE dan DELETE pada syntax WHERE.
Pada umumnya, operator dalam MySQL dibagi menjadi beberapa macam :

6
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

1. Operator Aritmatika
2. Operator Perbandingan
3. Operator Logika
Operator Aritmatika
Operator ini digunakan untuk melakukan operasi perhitungan. Berikut ini adalah beberapa
operator yang termasuk operator aritmatika.

No. Operator Fungsi

1. + Penjumlahan

2. - Pengurangan

3. * Perkalian

4. / Pembagian

5. div Hasil bagi bilangan bulat

6. % atau mod Sisa hasil bagi bilangan bulat (Modulus)

Operator Perbandingan
Operator perbandingan adalah operator yang digunakan untuk membandingkan antara satu
operan dengan operan lainnya.

No. Operator Fungsi

1. > Lebih besar

2. < Lebih kecil

3. >= Lebih besar atau sama dengan

4. <= Lebih kecil atau sama dengan

5. = atau <=> Sama dengan

6. <> atau != Tidak sama dengan

Operator Logika
Operator logika adalah operator yang digunakan untuk membandingkan kebenaran dari
kondisi suatu operand.

7
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

A B A And B A Or B Not A Not B A Xor B

True True True True False False False

False True False True True False True

True False False True False True True

False False False False True True False

Keterangan
a. And : Bernilai benar jika semua kondisinya benar.
b. Or : Bernilai salah jika semua kondisinya salah.
c. Not : Kebalikan dari kondisi awal.
d. Xor : Bernilai benar jika kondisinya berbeda.

PERINTAH – PERINTAH DALAM MYSQL


Untuk membentuk suatu database, perlu diketahui terlebih dahulu struktur dalam
pembuatannya, baik dalam pembuatan database dan tabel, menampikan informasi hingga
memanipulasi record dalam tabel. Namun sebelum melakukannya, terlebih dahulu kita lakukan
langkah-langkah berikut ini :
Buka Command Prompt pada Start Menu. (Diasumsikan pengguna menggunakan sistem
operasi Windows).
Kemudian masuk ke dalam folder mysql pada xampp.

8
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Selanjutnya ketikkan perintah berikut untuk menjalankan MySQL command-line.

Membuat Database
Sintaks umum SQL untuk membuat suatu database adalah sebagai berikut :

CREATE DATABASE nama_database;

Bentuk perintah di atas akan membuat sebuah database baru dengan nama
“nama_database”. Aturan penamaan sebuah database sama seperti aturan penamaan pada sebuah
variabel. Dalam kasus ini, akan dibuat sebuah database dengan nama “peserta”. Berikut sintaks yang
digunakan :

Menampilkan Database

9
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Untuk melihat database yang baru saja dibuat atau yang sudah ada, dapat menggunakan
perintah sebagai berikut :

SHOW DATABASES;

Membuka Database
Sebelum melakukan manipulasi tabel dan record yang berada di database, kita harus membuka
atau mengaktifkan terlebih dahulu database yang dituju. Seperti contoh sebelumnya, untuk
membuka database “peserta”, sintaksnya adalah sebagai berikut :

USE nama_database;

10
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Menghapus Database
Untuk menghapus suatu database, perintah yang digunakan adalah DROP. Kita ambil contoh
database yang akan dihapus adalah database peserta yang telah dibuat sebelumnya. Berikut ini
adalah sintaksnya :

DROP DATABASE nama_database;

Perlu diingat bahwa perintah ini menghapus database, yang secara otomatis akan menghapus
seluruh tabel beserta record yang telah dibuat. Jadi berhati-hatilah dalam penggunaan fungsi ini.

Membuat Tabel Baru


Bentuk umum SQL untuk membuat suatu tabel secara sederhana, berikut ini adalah sintaks
yang dapat digunakan :

CREATE TABLE nama_tabel (field_1 tipedata(range),


field_2 tipedata(range), ...., field_n tipedata(range));

Perlu diingat bahwa penamaan tabel dan field memiliki aturan yang sama dengan penamaan
database.

11
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Constraint
Constraint adalah aturan atau batasan yang ada pada tabel. MySQL menyediakan beberapa tipe
constraint sebagai berikut :
NOT NULL
Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL.
Kolom yang berfungsi sebagai kunci utama (primary key) otomatis tidak boleh NULL.
UNIQUE
Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data
lainnya namanya tidak boleh sama, misal alamat email.
PRIMARY KEY
Constraint PRIMARY KEY membentuk key yang unik untuk suatu tabel. Jadi tidak ada record
yang sama yang dihasilkan dalam 1 field.
FOREIGN KEY
FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu tabel, dimana
kolom tersebut juga dimiliki oleh tabel yang lain sebagai PRIMARY KEY. Biasanya dipakai
untuk menggabungkan antara 2 tabel.

Sebagai contoh, kita akan membuat tabel baru dengan struktur sebagai berikut : Nama tabel :
program.

No. Nama Field Tipe Data Panjang

1. Noreg char 3

2. Nama varchar 25

3. Kampus varchar 20

4. Jkl enum Laki-Laki, Perempuan

5. Hp varchar 12

Untuk membuat tabel tersebut di atas, query atau perintah SQL-nya adalah sebagai berikut :

12
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Pada perintah diatas, ada beberapa hal yang perlu diperhatikan antara lain :
CREATE TABLE merupakan perintah dasar dalam pembuatan tabel.
program merupakan nama tabel yang dibuat.
noreg, nama, kampus, jkl, hp merupakan nama field.
char, varchar, enum merupakan tipe data dari field yang dibuat.
3, 25, 20 dan 12 setelah tipe data merupakan jangkauan nilai yang diberikan pada suatu
field.
NOT NULL merupakan opsi untuk menyatakan bahwa suatu field tidak boleh kosong.
Untuk tipe data date dan text, panjang karakter maksimalnya tidak perlu ditentukan.
Setiap akhir penulisan sintax, harus diakhiri dengan tanda titik koma (;).

Selanjutnya untuk melihat tabel program benar-benar sudah ada atau belum, ketikkan
perintah berikut ini :

SHOW TABLES;

Perintah di atas akan menampilkan seluruh tabel yang sudah ada dalam suatu database.
Untuk melihat struktur tabel, anda dapat mengetikkan perintah berikut ini :

DESC nama_tabel;

13
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Dari struktur tabel program yang ditampilkan di atas, dapat diketahui bahwa :
Terdapat 5 (lima) field dengan tipe masing-masing.
Primary Key dari tabel program adalah noreg. Lihat kolom Key pada field noreg.
Untuk field nama, kampus, jkl dan hp, default-nya boleh kosong. Lihatlah kolom Null dan
Default pada field.

Mengubah Struktur Tabel


Untuk mengubah struktur dari suatu tabel, baik untuk menambah, mengubah maupun
menghapus tabel, bentuk umum perintah SQL yang digunakan antara lain sebagai berikut :

ALTER TABLE nama_tabel ALTER_OPTIONS;

Adapun penjelasan mengenai struktur perintah SQL di atas yaitu :


ALTER TABLE merupakan perintah dasar untuk manipulasi tabel.
nama_tabel merupakan nama tabel yang akan dimanipulasi strukturnya.
ALTER_OPTIONS merupakan pilihan perubahan tabel. Adapun beberapa opsi yang bisa
digunakan di antaranya sebagai berikut :
a. ADD definisi_field_baru
Opsi ini digunakan untuk menambahkan field baru dengan “definisi_field_baru” (nama
field, tipe dan opsi lain).
b. ADD INDEX nama_index
Opsi ini digunakan untuk menambahkan index dengan nama “nama_index” pada tabel.

14
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

c. ADD PRIMARY KEY(field_kunci)


Opsi untuk menambahkan primary key pada tabel.
d. CHANGE nama_field_lama nama_field_baru tipe_data(panjang)
Opsi untuk mengubah field_yang_diubah menjadi definisi_field_baru, diikuti dengan
tipe data serta jangkauan field yang didefinisikan.
e. MODIFY definisi_field
Opsi untuk mengubah suatu field menjadi definisi_field.
f. DROP nama_field
Opsi untuk menghapus field nama_field.
g. ADD FOREIGN KEY nama_field REFERENCES nama_tabel_references
Opsi untuk menambah foreign key.
h. RENAME TO nama_tabel_baru
Opsi untuk mengganti nama table.

Adapun beberapa contoh variasi perintah ALTER untuk mengubah struktur suatu tabel antara
lain :
Menambahkan field “tgllahir” ke tabel program.

ALTER TABLE program ADD tgllahir date NOT NULL;

Menambahkan primary key pada suatu tabel.

ALTER TABLE program ADD PRIMARY KEY (reg);

Mengubah tipe field tgllahir menjadi varchar dalam tabel program.

ALTER TABLE program MODIFY tgllahir varchar(8) NOT NULL;

Menghapus field tgllahir dari tabel program.

ALTER TABLE program DROP tgllahir;

15
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Mengubah nama field reg menjadi noreg dari tabel program.

ALTER TABLE program change reg noreg int(3);

Mengubah Nama Tabel


Untuk mengubah nama suatu tabel, dapat menggunakan perintah SQL sbb :

RENAME TABLE program TO programming;


ALTER TABLE programming RENAME TO program;

Perintah di atas akan mengubah tabel program menjadi programming dan sebaliknya.

Menghapus Tabel
Untuk menghapus sebuah tabel, bentuk umum dari perintah SQL adalah sebagai berikut :

DROP TABLE nama_tabel;

Contohnya kita akan menghapus tabel dengan nama “program”, maka perintah SQL yang
digunakan adalah :

Menambah Record atau Data


Bentuk umum perintah SQL untuk menambahkan record atau data ke dalam suatu tabel adalah
sebagai berikut :

16
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

INSERT INTO nama_tabel VALUES (‘nilai-1’,‘nilai-


2’,...,‘nilai-n’);
-------------------------- atau ---------------------------
INSERT INTO nama_tabel(field-1, field-2, field-n)
VALUES(‘nilai-1’, ‘nilai-2’,‘nilai-n’);
-------------------------- atau ---------------------------
INSERT INTO nama_tabel SET field1=‘nilai-1’, field2=‘nilai-
2’,...;
-------------------------- atau ---------------------------
INSERT INTO nama_tabel (field-1, field-2, field-n) VALUES
(‘nilai-1’,‘nilai-2’,‘nilai-n’);

Sebagai contoh, kita akan menambahkan sebuah record ke dalam tabel program yang telah
kita buat sebelumnya. Berikut ini perintah SQL untuk menambahkan sebuah record ke dalam tabel
program :

Setelah perintah SQL di atas berhasil dieksekusi, maka record atau data dalam tabel program
akan bertambah. Jalankan perintah berikut ini untuk melihat isi tabel program.

DROP TABLE nama_tabel;

17
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Mengubah Record atau Data


Proses update bisa sewaktu-waktu dilakukan jika terdapat data atau record dalam suatu
tabel yang perlu diperbaiki. Proses update ini tidak menambahkan data (record) baru, tetapi
memperbaiki data yang lama. Perubahan yang terjadi dalam proses update bersifat permanen,
artinya setelah perintah dijalankan tidak dapat di-cancel (undo).
Bentuk umum perintah SQL untuk mengedit suatu record atau data dari suatu tabel adalah
sebagai berikut :

UPDATE nama_tabel SET field-1=’nilaibaru’ WHERE kondisi;

Pada perintah untuk update di atas :


UPDATE merupakan perintah dasar untuk mengubah record tabel.
nama_tabel merupakan nama tabel yang akan diubah recordnya.
Perintah SET diikuti dengan field-field yang akan diubah yang mana diikuti juga dengan
perubahan isi dari masing-masing field. Untuk mengubah nilai dari beberapa field sekaligus,
gunakan koma (,) untuk memisahkan masing-masing field.
Perintah WHERE diikuti oleh kondisi tertentu yang menentukan record mana yang
akan diedit (diubah). Perintah WHERE ini boleh ada boleh juga tidak. Jika WHERE tidak
ditambahkan pada perintah update maka semua record dalam tabel bersangkutan akan
berubah.
Untuk lebih paham dalam penggunaan perintah UPDATE, maka akan dilakukan perubahan
record atau data pada tabel “program”. Disini akan diubah salah satu data pada field kampus
menjadi “Universitas Hasanuddin” untuk peserta yang mempunyai no. registrasi ‘030’.

18
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Menghapus Record atau Data


Fungsi DELETE digunakan jika terdapat data atau record dalam suatu tabel yang perlu dihapus.
Perubahan yang terjadi dalam proses delete bersifat permanen, artinya data atau record tidak dapat
dikembalikan. Jadi telitilah dalam penggunaannya !
Bentuk umum perintah SQL untuk menghapus suatu record dari tabel adalah sebagai berikut :

DELETE FROM nama_tabel WHERE kondisi;

Pada perintah untuk delete di atas :


DELETE FROM merupakan perintah dasar untuk menghapus suatu record dari tabel.
nama_tabel merupakan nama tabel yang akan dihapus recordnya.
Perintah WHERE diikuti kondisi tertentu menentukan record mana yang akan dihapus.
Penggunaan perintah ini disarankan harus digunakan. Jika tidak, semua data dalam tabel
bersangkutan akan terhapus. Jadi, telitilah agar tidak terjadi kesalahan.

Perhatikan beberapa contoh perintah DELETE dari tabel program berikut ini. Disini akan dihapus
data peserta yang memiliki no. registrasi ‘073’ dan berasal dari kampus ‘STMIK Professional’.

19
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Menampilkan Record
Perintah SELECT digunakan untuk menampilkan informasi. Informasi di sini bisa berupa data
dari tabel ataupun berupa ekspresi. Dengan SELECT, kita bisa mengatur tampilan atau keluaran
sesuai yang diinginkan. Bentuk dasar perintah SELECT data dari tabel adalah sebagai berikut :

SELECT [field | *] FROM nama_tabel WHERE [kondisi];

Perhatikan beberapa contoh perintah SELECT dari tabel program berikut ini !
Menampilkan seluruh data atau record (*) dari tabel program.

SELECT * FROM program;

Menampilkan field reg dan nama dari seluruh peserta dalam tabel program.

SELECT noreg, nama FROM program;

Menampilkan reg, nama dan kampus dari data peserta yang mempunyai reg 057.

SELECT noreg, nama, kampus FROM program WHERE noreg=’057’;

20
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Menampilkan semua data peserta secara urut berdasarkan nama program secara
DESCENDING.

SELECT * FROM program ORDER BY noreg DESC;

Menampilkan semua data peserta setelah data baris ke 3 sebanyak 4.

SELECT * FROM program LIMIT 3,4;

Mencari Record yang berawalan –x.

SELECT field FROM nama_tabel WHERE field LIKE ‘x%’;

Mencari Record yang berakhiran –x.

SELECT field FROM nama_tabel WHERE field LIKE ‘%x’;

ORDER BY adalah menampilkan semua data secara berurut berdasarkan nilai atau abjad. Fungsi
ini digunakan untuk mengurutkan data yang akan ditampilkan dari sebuah kolom. Secara default
untuk ORDER BY adalah ASCENDING (ASC), yaitu diurutkan berdasarkan dari kecil ke besar. Jika kita
ingin mengurutkan dari besar ke kecil dapat digunakan DESCENDING (DESC).

TAMBAHAN
Di dalam MySQL, terdapat juga fungsi agregat antara lain :
MAX(), untuk mendapatkan nilai terbesar suatu kolom.

SELECT MAX(field) FROM nama_tabel;

MIN(), untuk mendapatkan nilai terkecil suatu kolom.

SELECT MIN(field) FROM nama_tabel;

21
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

AVG(), untuk mendapatkan nilai rata-rata suatu kolom.

SELECT AVG(field) FROM nama_tabel;

SUM(), untuk mendapatkan jumlah total suatu kolom.

SELECT SUM(field) FROM nama_tabel;

Jika fungsi-fungsi agregat tersebut diterapkan pada field yang bertipe string seperti varchar
misalnya, maka hasilnya selalu bernilai nol (0). Adapun fungsi string yang dimaksudkan antara lain :
LCASE(), untuk membuat huruf kecil semua (lowercase).

SELECT LCASE(field) FROM nama_tabel;

UCASE(), untuk membuat huruf besar semua (uppercase).

SELECT UCASE(field) FROM nama_tabel;

JOIN TABEL
Pembahasan berikut ini akan dijelaskan beberapa perintah SQL yang lebih kompleks yaitu join
antar tabel. Untuk memudahkan penjelasan, maka contoh yang disajikan mengacu pada pemodelan
data konseptual Sistem Pemesanan (Penjualan) sebagai berikut :

22
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Berikut ini disajikan perintah SQL untuk membuat tabel-tabel di atas :


Table detil_pesan

Table faktur

Tabel kuitansi

23
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Tabel pelanggan

Tabel pesan

Tabel produk

24
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

1. Perintah SELECT dari Banyak Tabel dengan JOIN


Dalam suatu DBMS, tentunya sudah menjadi suatu kewajaran jika dalam satu database dapat
terdiri dari beberapa tabel. Masing-masing tabel tersebut berhubungan satu sama lain atau dengan
kata lain memiliki relasi. Relasi antar tabel tabel dapat berupa relasi 1-1, 1-M atau M-N. Sebagai
contoh terlihat pada gambar class diagram di atas. Tabel pelanggan berhubungan dengan pesan,
pesan dengan barang, dsb.
Pada praktisnya, terkadang kita juga memerlukan tampilan data yang tidak hanya berasal dari 1
(satu) tabel, namun bisa dari beberapa tabel sekaligus. Contohnya, dari class diagram diatas, 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.
a. Inner Join
Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di
satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggandan pesan dimana kita akan
menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi).

Cara 1 : Penggabungan dengan WHERE


Di bawah ini adalah bentuk umum yang biasa digunakan untuk penggabungan menggunakan
WHERE.

SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE


tabel1.PK=tabel2.FK;

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,


pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan
WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;

25
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Hasilnya :

Pada hasil perintah query di atas terlihat bahwa terdapat 2 transaksi yang
dilakukan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan
yang tidak ditampilkan yaitu yang memiliki id pelanggan P0002. Pelanggan tersebut tidak
ditampilkan karena belum pernah melakukan transaksi.

Cara 2 : Penggabungan dengan INNER JOIN


Bentuk umum
SELECT tabel1.* tabel2.*n FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan: SELECT
pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM
pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya :

b. Outer Join
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data
yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan
pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan transaksi.
Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT. Berikut ini bentuk umum
dan contohnya:

26
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

1. LEFT JOIN
Bentuk umum

SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2


ON tabel1.PK=tabel2.FK;

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,


pesan.id_pesan, pesal.tgl_pesan FROM pelanggan LEFT
JOIN pesan ON pelanggan.id_pelanggan = pesan.id_pesan;

Hasilnya :

Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan
juga data pelanggan dengan id P0002, walaupun pelanggan tersebut belum pernah
bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0002 isinya
NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.

2. RIGHT JOIN
Bentuk umum

SELECT tabel1.*, tabel2.* FROM tabel1 RIGHT JOIN tabel2


ON tabel1.PK=tabel2.FK;

Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan :

SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan,


pesan.id_pesan, pesal.tgl_pesan FROM pelanggan RIGHT
JOIN pesan ON pelanggan.id_pelanggan = pesan.id_pesan;

27
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

Hasilnya :

Dengan RIGHT JOIN, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel
pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada
di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.

28
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

LATIHAN
1. Buat database dengan nama karyawan.
2. Buat tabel dengan nama noreg_nama (030_janwar) dengan struktur sebagai berikut :

Nama Field Tipe Data Panjang

nip* char 5

nama_kar varchar 15

tgl_lahir date 8

Gaji int 7

kota varchar 15

depart varchar 10

jenkel enum(‘Laki-Laki’,’Perempuan’) -

3. Isi data pada tabel dengan data sebagai berikut :

Nip Nama Tgl Lahir Gaji Kota Depart Jenkel


Karyawan
12345 Janwar 02-22-1975 3000000 Makassar Akunting L

12346 Ape 03-10-1989 3600000 Depok Pemasaran P

12347 Angko 07-06-1946 1500000 Surabaya Produksi L

12348 Dwiki 01-12-1984 960000 Malang Pemasaran L

12349 Cahayadi 09-02-1964 1200000 Jakarta Akunting L

13288 Diana 13-03-1972 750000 Bandung Akunting P

13289 Wisnu 07-06-1967 500000 Semarang Produksi L

13301 Erna 18-02-1981 750000 Yogyakarta EDP P

13302 Lia 27-12-1988 800000 Makassar Personalia P

13305 Fanni 12-11-1961 700000 Medan Personalia P

29
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

4. Lakukan perintah di bawah ini :


a. ALTER
1. Ubahlah nama field depart menjadi departemen.
2. Bahlah tipe data kota menjadi tinytext.
3. Tambahlah lebar field nama_kar menjadi 20.
4. Tambahlah field hobby dengan tipe set (Makan, Tidur, Nonton).
b. SELECT
1. Semua data yang terdapat pada tabel.
2. Field nama, tgl lahir, depart pada tabel.
3. Karyawan yang gajinya melebihi 2 juta.
4. Karyawan berjenis kelamin ‘P’.
5. Karyawan yang berjenis kelamin P dan yang lahir sebelum tahun 1965.
6. Field nip,nama,kota karyawan yang lahir antara tahun 1960 s.d 1973.
7. Karyawan berjenis kelamin L yang lahir setelah tahun 1970.
8. Semua karyawan yang namanya berawalan huruf ‘A’.
9. Semua karyawan yang tidak berasal dari Kota Makassar.
10. Semua karyawan yang namanya mengandung huruf ‘an’.
11. Semua karyawan yang namanya berawalan ‘J’ dan berikutnya mengandung huruf ‘w’
dan ‘a’.
12. Semua karyawan yang gajinya terkecil ke terbesar.
13. Semua karyawan yang berada pada baris 4 sebanyak 2.
14. Jumlah semua karyawan yang berjenis kelamin P.
15. Semua karyawan yang namanya berakhiran huruf ‘a’.
c. UPDATE
1. Ubah gaji karyawan dengan nama Wisnu menjadi 1000000.
2. Tambahkan gaji karyawan yang berdomisili di Makassar sebanyak 200000.
3. Ubahlah depart karyawan yang bernama Ape dan Cahayadi menjadi depart EDP.
4. Ubahlah kota karyawan dengan nip 12346 menjadi Makassar.
5. Tambahkan gaji semua karyawan sebanyak 50000.
6. Tambahkan hobby semua karyawan, ada 1 karyawan dengan 3 hobby, ada 3 karyawan
dengan 2 hobby, ada 6 karyawan dengan 1 hobby.

30
SISTEM BASIS DATA - MYSQL
KONSENTRASI PROGRAM
KeDai Computerworks STMIK Dipanegara

d. DELETE
1. Hapuslah karyawan dengan nip 13301.
2. Hapuslah karyawan yang berjenis kelamin L dan kota Jakarta.
3. Hapuslah karyawan yang gajinya < 900000.
4. Hapuslah karyawan yang namanya berawalan huruf ‘K’ atau ‘W’.
5. Hapuslah karyawan yang departnya bukan Pemasaran dan Produksi.

31

Anda mungkin juga menyukai