MODUL Database 2
MODUL Database 2
Format Perintah
Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL:
Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk perintahtertentu,
misal : quit
Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan
histori perintah-perintah yang pernah diberikan.
Perintah dapat berupa perintah SQL atau perintah khusus MySQL.
Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive,
tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf
kecil.
Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti
nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan
Linux.
Page 3
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
Berikut cara memulai MySQL dengan menggunakan bantuan XAMPP. Aktifkan XAMPP
Control Panel Application, klik start apache dan mysql.
Page 4
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
Sedangkan untuk stop atau keluar dari MySQL dapat menggunakan perintah : \q, exit dan quit.
Page 5
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
A. TIPE DATA
KARAKTER
CHAR: Teks dengan maksimal 255 karakter
VARCHAR: Teks maksimal 255 karakter dan bersifat variabel
TEXT: Teks dengan panjang maksimal 65535
BILANGAN
TINYINT: Bilangan 1 byte
SMALLINT: Bilangan 2 byte
INT atau INTEGER Bilangan 4 byte
BIGINT: Bilangan 8 byte
FLOAT: Bilangan pecahan (4 byte)
DOUBLE atau REAL: Bilangan pecahan (8 byte)
DECIMAL(M, D) atau NUMERIC(M, D): Bilangan pecahan
LAIN-LAIN
DATE: Tanggal
DATETIME: Waktu (tanggal dan jam)
TIME : Jam
ENUM(‘nilai1’, ‘nilai2’, …): Nilai enumerasi
BOOLEAN: tipe benar atau salah
Page 6
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
DDL (Data Definition Language), DDL merupakan kelompok perintah yang berfungsi
untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap
suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah
CREATE, ALTER, dan DROP.
a. Syntax Membuat Database : CREATE DATABASE namadatabase;
Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama
yang sama antar database. Berikut ini perintah untuk membuat database dengan nama
rental : CREATE DATABASE CV_SEJAHTERA;
Syntax tambahan untuk menampilkan daftar nama database yang ada pada
mysql menggunakan perintah : SHOW DATABASES;
Page 7
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
e. Menampilkan Tabel
Untuk menampilkan daftar nama tabel yang ada pada database yang sedang
aktif/digunakan (dalam hal ini database rental) : SHOW TABLES;
Page 8
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
g. Syntax Menghapus Tabel : DROP TABLE namatabel;
Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk
menghapus tabel dengan nama jenisfilm : DROP TABLE BARANG;
h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1 TipeData1 NOT
NULL, Field2 TipeData2);
k. Menambah Kolom Baru Pada Tabel : ALTER TABLE namatabel ADD fieldbaru tipe;
Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah
nama kolom yang akan ditambahkan, tipe adalah tipe data dari kolom yang akan
ditambahkan.
Page 9
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
Berikut ini contoh perintah untuk menambah kolom keterangan dengan tipe data
varchar(25):
ALTER TABLE JENISFILM ADD KETERANGAN VARCHAR(25);
Untuk meletakkan field diawal, tambahkan sintaks first :
ALTER TABLE PELANGAN ADD COLUMN KODE CHAR(5) FIRST;
Untuk menyisipkan field setelah field tertentu, tambahkan sintaks after :
ALTER TABLE PELANGAN ADD COLUMN PHONE CHAR(5) AFTER ALAMAT;
l. Mengubah Tipe Data atau Lebar Kolom Pada Tabel : ALTER TABLE NAMATABEL
MODIFY COLUMN FIELD TIPE
Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya.
Field adalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru
atau tipe data lama dengan lebar kolom yang berbeda. Berikut ini contoh perintah untuk
mengubah tipe data untuk kolom keterangan dengan char(20) :
ALTER TABLE JENISFILM MODIFY COLUMN KETERANGAN VARCHAR(20);
Page 10
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
DML (Data Manipulation Language) DML adalah kelompok perintah yang berfungsi
untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan,
pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah :
INSERT, DELETE, UPDATE dan SELECT.
1. I N S E R T
Perintah INSERT digunakan untuk menambahkan baris pada suatu tabel. Terdapat dua cara
untuk menambah baris, yaitu:
Cara 1: Menambah baris dengan mengisi data pada setiap kolom :
INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);
Cara 2 : Menambah baris dengan hanya mengisi data pada kolom tertentu :
INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-n);
Keterangan :
Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) maka
pemberian nilainya diapit dengan tanda petik tunggal ('horor') atau petik ganda ("horor"). Jika
data bertipe numerik (2500, 400) maka pemberian nilainya tidak diapit tanda petik tunggal
maupun ganda.
Page 11
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
2. DELETE
Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau
seluruh baris. Syntax : DELETE FROM namatabel [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatu
kondisi tertentu.
3. UPDATE
Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada
suatu table. Syntax :
UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];
Perintah dalam tanda [] bersifat opsional untuk mengubah suatu baris dengan suatu kondisi
tertentu.
4. SELECT
Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapat
dihubungkan dengan tabel yang lainnya.
a. Menampilkan data untuk semua kolom menggunakan asterisk (*) :
SELECT * FROM namatabel;
Page 12
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE adalah
"="(sama dengan), > (lebih dari), < (kurang dari), < > (tidak sama dengan), >= (lebih
dari atau sama dengan), <= (kurang dari atau sama dengan). Adapun operator lain, yaitu:
AND, OR, NOT, BETWEEN-AND, IN dan LIKE.
d. Memberikan nama lain pada kolom :SELECT namakolomlama AS namakolombaru
FROM namatabel;
Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadi jenis_film
pada tabel jenisfilm:
e. Menggunakan alias untuk nama tabel: SELECT namalias .jenis, namalias .harga
FROM namatabel namalias;
Berikut ini perintah untuk memberikan alias pada tabel jenisfilm :
SELECT J.JENIS, J.HARGA FROM JENISFILM J;
Page 13
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
f. Menampilkan data lebih dari dua tabel: SELECT * FROM namatabel1, namatabel2,
namatabel-n;
g. Nested Queries / Subquery (IN, NOT IN, EXISTS, NOT EXISTS)
Subquery berarti query di dalam query. Dengan menggunakan subquery, hasil dari
query akan menjadi bagian dari query di atasnya. Subquery terletak di dalam klausa
WHERE atau HAVING. Pada klausa WHERE, subquery digunakan untuk memilih
baris-baris tertentu yang kemudian digunakan oleh query. Sedangkan pada klausa
HAVING, subquery digunakan untuk memilih kelompok baris yang kemudian
digunakan oleh query.
Contoh 1: perintah untuk menampilkan data pada tabel jenisfilm yang mana data pada
kolomjenis-nya tercantum pada tabel film menggunakan IN :
SELECT * FROM JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM);
atau menggunakan EXISTS
Page 14
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM
FILM);
atau menggunakan NOT EXISTS
(gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)
Contoh: perintah untuk menampilkan semua data jenisfilm yang harganya bukan
yang terkecil:
SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM
JENISFILM);
Page 15
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
FROM
JENISFILM);
i. Sintak ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentu
sesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data film
berdasarkan kolom judul:
j. Sintak DISTINCT
Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buat
sebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan
beberapa kota asal yang sama. Kemudian ketikkan perintah berikut:
SELECT DISTINCT KOTA FROM PELANGGAN;
Dengan perintah di atas maka nama kota yang sama hanya akan ditampilkan satu saja.
UNION merupakan operator yang digunakan untuk menggabungkan hasil query, dengan
ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan
datanya harus sama. Berikut ini perintah untuk memperoleh data pada tabel film dimana
jenisnya action dan horor:
Page 16
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
SELECT JENIS, JUDUL FROM FILM WHERE JENIS = 'ACTION' UNION
SELECT
JENIS, JUDUL FROM FILM WHERE JENIS = 'HOROR';
INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah
query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut
dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.
EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh data
dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query
1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe
kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2;
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat
menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries.
Page 17
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
DCL adalah sub bahasa SQL yang berfungsi untuk melakukan pengontrolan data dan server
databasenya, seperti manipulasi user dan hak akses (priviledges). Yang termasuk perintah
dalam DCL ada dua, yaitu GRANT dan REVOKE.
GRANT
Perintah ini digunakan untuk memberikan hak akses oleh admin ke salah satu user atau
pengguna. Hak akses tersebut bisa berupa hak membuat (CREATE), mengambil data
(SELECT), menghapus data (DELETE), mengubah data (UPDATE), dan hak khusus lainnya
yang berhubungan dengan sistem database.
caranya buatlah user terlebih dahulu dengan perintah sebagai berikut:
CREATE USER "admin_sekolah"@"localhost" IDENTIFIED BY "admin";
Atau
CREATE USER "opt_sekolah"@"localhost" IDENTIFIED BY "opt_sekolah";
Kemudian berikan hak akses terhadap user yang telah dibuat dengan perintah sebagai berikut:
GRANT ALL PRIVILEGES ON sekolah.* TO "admin_sekolah"@"localhost";
Catatan:
Hak akses ALL diberikan untuk user dapat menggunakan seluruh perintah SQL yakni
CREATE, DROP, INSERT, UPDATE, DELETE, SELECT, ALTER
Untuk merubah password dapat dilakukan dengan perintah SQL seperti contoh sebagai
berikut:
UPDATE mysql.user SET Password = PASSWORD('password_baru') WHERE User = 'root';
Page 18
MODUL 3
KELOMPOK PERINTAH DALAM BASIS DATA
Sedangkan perintah SQL yang digunakan untuk menghapus user, dapat digunakan perintah
sebagai berikut:
DROP user 'nama_user';
REVOKE
perintah ini digunakan untuk mencabut hak akses yang telah diberikan kepada user. Dalam ini
merupakan kebalikan dari perintah GRANT.
Contoh:
REVOKE SELECT ON universitas.* FROM 'admin_data'@'localhost';
REVOKE ALL ON dbsekolah.* TO 'user1'@'localhost';
Page 19