Pelbagai
Kasus Database (Bagian 1)
Kasus 1: Database
namasitus
Menciptakan Database Dan Tabel
Di
sini, Anda akan menciptakan sebuah database dengan nama namasitus.
mysql> CREATE DATABASE namasitus;
Query OK, 1 row affected (0.00 sec)
mysql> USE namasitus;
Database changed
Selanjutnya, Anda menciptakan sebuah
tabel dengan nama pengguna.
mysql> CREATE TABLE pengguna (
-> id_pengguna
MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
-> nama_depan
VARCHAR(20) NOT NULL,
-> nama_belakang
VARCHAR(40) NOT NULL,
-> email
VARCHAR(60) NOT NULL,
-> pass CHAR(40)
NOT NULL,
-> tanggal_registrasi
DATETIME NOT NULL,
-> PRIMARY KEY
(id_pengguna)
-> );
Query OK, 0 rows affected (0.31 sec)
Kemudian, Anda dapat memastikan
eksistensi tabel dengan statemen MySQL berikut:
Dengan menggunakan phpMyAdmin, Anda
bisa melihat database dan tabel yang telah diciptakan sebagai berikut:
Menyisipkan Rekaman
Setelah database dan tabel diciptakan,
Anda dapat mengisinya menggunakan perintah INSERT.
mysql> INSERT INTO pengguna
-> VALUES (NULL,
'Rismon', 'Sianipar',
-> 'rismon@contoh.com',
SHA1('rahasia'), NOW());
Query OK, 1 row affected (0.12 sec)
Anda bisa pula memasukkan beberapa data
sekaligus ke dalam tabel, seperti berikut:
mysql> INSERT INTO pengguna (nama_depan,
-> nama_belakang,
email, pass,
->
tanggal_registrasi)VALUES
-> ('John',
'Sihombing',
->
'john@misalnya.com',
->
SHA1('rahasiaku'),NOW()),
-> ('Paul',
'Sitorus',
->
'paul@contoh.com',
->
SHA1('rahasiamu'), NOW()),
-> ('Joshua',
'Naibaho',
->
'joshua@misalnya.com',
-> SHA1('sesuatu'),
NOW()),
-> ('Sintong',
'Siahaan',
->
'sintong@misalnya.com',
->
SHA1('santai'),NOW());
Query OK, 4 rows affected (0.06 sec)
Records: 4 Duplicates:
0 Warnings: 0
Anda bisa menambahkan data-data lain
berikut ke dalam tabel pengguna.
mysql> INSERT INTO pengguna (nama_depan, nama_belakang,
email, pass, tanggal_registrasi) VALUES
-> ('Robert',
'Tohonan', 'robert@contoh.com', SHA1('robert'), NOW()),
-> ('Rico',
'Chandra', 'rico@misalnya.com', SHA1('rico88'), NOW()),
-> ('Vivian',
'Siahaan', 'vivian@contoh.com', SHA1('vivi'), NOW()),
-> ('Muhamad',
'Irwan', 'irwan@contoh.com', SHA1('irwandompu'), NOW()),
-> ('Ketut',
'Wiryajati', 'wirya@contoh.com', SHA1('wirya66'), NOW());
Query OK, 5 rows affected (0.07 sec)
Records: 5 Duplicates:
0 Warnings: 0
Memilih Data
Anda bisa membaca data dari tabel
pengguna menggunakan statemen berikut:
mysql> SELECT * FROM pengguna;
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
| id_pengguna | nama_depan | nama_belakang | email | pass |
tanggal_registrasi |
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
| 1 |
Rismon | Sianipar | rismon@contoh.com | 829b36babd21be519fa5f9353daf5dbdb796993e
| 2014-08-15 20:13:50 |
| 2 | John | Sihombing | john@misalnya.com | 8ee9347fdca9aa875688d0cd6aa7563365fe63b4
| 2014-08-15 20:20:36 |
| 3 | Paul | Sitorus | paul@contoh.com |
8b9111467a49bf9de082fad728dc6c48c5a7a18a | 2014-08-15 20:20:36 |
| 4 |
Joshua | Naibaho | joshua@misalnya.com | 11e5a27f41ca64919256de18ebb37330b2becfe1 |
2014-08-15 20:20:36 |
| 5 |
Sintong | Siahaan | sintong@misalnya.com |
a86c9f354b1346f00e9098c4523882f7a9aa43fb | 2014-08-15 20:20:36 |
| 6 |
Robert | Tohonan | robert@contoh.com | 12e9293ec6b30c7fa8a0926af42807e929c1684f
| 2014-08-15 20:37:41 |
| 7 | Rico | Chandra |
rico@misalnya.com |
5e70c95995e77631ec001ef939f98717c3d7cf68 | 2014-08-15 20:37:41 |
| 8 |
Vivian | Siahaan | vivian@contoh.com | ed42785ca24ae8fa2d9fd131401e44c3c86519ae
| 2014-08-15 20:37:41 |
| 9 |
Muhamad | Irwan | irwan@contoh.com | 789f403b5b41a2c34db6371873cebf9d65be26fa
| 2014-08-15 20:37:41 |
| 10 | Ketut | Wiryajati | wirya@contoh.com | 40eccceb433c9a04149027340780ade58a072d93
| 2014-08-15 20:37:41 |
| 11 |
Hamzan | Wadi | hamzan@misalnya.com | 9fef7550f65805b85420245e99f711aaed34c3b5 |
2014-08-15 00:00:00 |
| 12 | Rotua | Marolop | marolop@contoh.com | 6a744439b757ebab9d6baedfba41eef519902e85 |
2014-08-14 00:00:00 |
| 13 | Rini | Meika | rini@misalnya.com | 2988a5b930eaeb541ecfacd55c73a089036615db
| 2014-08-14 00:00:00 |
| 14 |
Muhamad | Fitrah | fitrah@contoh.com | 3088f2254b3d6479ff7b79b915e4a4790439927d
| 2014-08-13 00:00:00 |
| 15 | Bunga | Lestari | lestari@contoh.com | d7e6c985fac80f6ec87cd276462a48c36dad7557 |
2014-08-04 00:00:00 |
| 16 |
Rosinta | Tambunan | rosinta@contoh.com | 8de791319e71694aed0e2bdf0d41e82fa4d0b8f0 |
2014-08-03 00:00:00 |
| 17 |
Krista | Simanungkalit |
krista@misalnya.com |
974739e069e31caf5fde4d03742de4d86e51b1b0 | 2014-08-06 00:00:00 |
| 18 |
Johanes | Simamora | johan@contoh.com | b06df678b6fd4f3c457f43eaabe0c47c140fe45d
| 2014-08-01 00:00:00 |
| 19 | Sabar | Aritonang | sabar@contoh.com | 3660d240865eb8937c58f22553188d4b947e75e7
| 2014-08-14 00:00:00 |
| 20 | Tobat | Sinaga | tobat@contoh.com | 21d57d454b7e46a809d282375cfc8a50158fdb99
| 2014-08-13 00:00:00 |
| 21 | Mei | Ester | ester@contoh.com | 0bf13db7c45ec096d4c887cd5bb9a6e921cae574
| 2014-08-13 00:00:00 |
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
21 rows in set (0.00 sec)
Anda bisa pula hanya ingin membaca
nama_depan dan nama_belakang dari tabel pengguna, menggunakan statemen berikut:
mysql> SELECT nama_depan, nama_belakang FROM pengguna;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rismon |
Sianipar |
| John |
Sihombing |
| Paul |
Sitorus |
| Joshua |
Naibaho |
| Sintong |
Siahaan |
| Robert |
Tohonan |
| Rico |
Chandra |
| Vivian |
Siahaan |
| Muhamad | Irwan |
| Ketut |
Wiryajati |
| Hamzan | Wadi |
| Rotua |
Marolop |
| Rini | Meika |
| Muhamad | Fitrah |
| Bunga |
Lestari |
| Rosinta |
Tambunan |
| Krista |
Simanungkalit |
| Johanes |
Simamora |
| Sabar |
Aritonang |
| Tobat | Sinaga |
| Mei | Ester |
+------------+---------------+
21 rows in set (0.00 sec)
Kemudian, Anda bisa mengklik tombol Go
di sisi kanan bawah untuk menjalankan statemen SQL yang diberikan:
Menggunakan Kondisional
Anda bisa memilih semua pengguna yang
memiliki nama belakang Siahaan, sebagai berikut:
mysql> SELECT * FROM pengguna
->
WHERE nama_belakang ='Siahaan';
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
| id_pengguna | nama_depan | nama_belakang |
email | pass |
tanggal_registrasi |
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
|
5 | Sintong | Siahaan | sintong@misalnya.com |
a86c9f354b1346f00e9098c4523882f7a9aa43fb | 2014-08-15 20:20:36 |
|
8 | Vivian | Siahaan | vivian@contoh.com | ed42785ca24ae8fa2d9fd131401e44c3c86519ae
| 2014-08-15 20:37:41 |
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
2 rows in set (0.00 sec)
Anda juga bisa menggunakan nama depan
pengguna, sebagai berikut:
mysql> SELECT * FROM pengguna
-> WHERE nama_depan
= 'Rismon';
+-------------+------------+---------------+-------------------+------------------------------------------+---------------------+
| id_pengguna | nama_depan | nama_belakang | email | pass |
tanggal_registrasi |
+-------------+------------+---------------+-------------------+------------------------------------------+---------------------+
| 1 |
Rismon | Sianipar | rismon@contoh.com |
829b36babd21be519fa5f9353daf5dbdb796993e | 2014-08-15 20:13:50 |
+-------------+------------+---------------+-------------------+------------------------------------------+---------------------+
1 row in set (0.00 sec)
Atau Anda juga bisa memilih setiap
kolom dari rekaman pada tabel pengguna yang tidak memiliki alamat email.
mysql>
SELECT * FROM pengguna
-> WHERE email IS NULL;
Empty
set (0.00 sec)
Kemudian, Anda juga bisa memilih ID
pengguna, nama depan, dan nama akhir dari semua rekaman yang memiliki password
adalah vivi.
mysql>
SELECT id_pengguna, nama_depan, nama_belakang
-> FROM pengguna
-> WHERE pass = SHA1('vivi');
+-------------+------------+---------------+
|
id_pengguna | nama_depan | nama_belakang |
+-------------+------------+---------------+
| 8 | Vivian | Siahaan |
+-------------+------------+---------------+
1
row in set (0.05 sec)
Anda bisa pula memilih nama-nama
pengguna dengan ID kurang dari 10 atau lebih dari 20.
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> WHERE
(id_pengguna <10) OR (id_pengguna >20);
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rismon |
Sianipar |
| John |
Sihombing |
| Paul |
Sitorus |
| Joshua |
Naibaho |
| Sintong |
Siahaan |
| Robert |
Tohonan |
| Rico |
Chandra |
| Vivian |
Siahaan |
| Muhamad | Irwan |
| Mei | Ester |
+------------+---------------+
10 rows in set (0.04 sec)
Query yang sama dapat pula dituliskan
sebagai berikut:
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> WHERE
id_pengguna NOT BETWEEN 10 and 20;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rismon | Sianipar |
| John |
Sihombing |
| Paul |
Sitorus |
| Joshua |
Naibaho |
| Sintong |
Siahaan |
| Robert |
Tohonan |
| Rico |
Chandra |
| Vivian |
Siahaan |
| Muhamad | Irwan |
| Mei | Ester |
+------------+---------------+
10 rows in set (0.05 sec)
Atau dengan query berikut:
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> WHERE
id_pengguna NOT IN
-> (10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20);
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rismon |
Sianipar |
| John |
Sihombing |
| Paul |
Sitorus |
| Joshua | Naibaho |
| Sintong |
Siahaan |
| Robert |
Tohonan |
| Rico |
Chandra |
| Vivian |
Siahaan |
| Muhamad | Irwan |
| Mei | Ester |
+------------+---------------+
10 rows in set (0.00 sec)
Menggunakan LIKE Dan NOT LIKE
Anda bisa memilih semua rekaman dengan
nama belakang diawali dengan Si sebagai berikut:
mysql> SELECT * FROM pengguna
-> WHERE
nama_belakang LIKE 'Si%';
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
| id_pengguna | nama_depan | nama_belakang | email | pass |
tanggal_registrasi |
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
| 1 |
Rismon | Sianipar | rismon@contoh.com | 829b36babd21be519fa5f9353daf5dbdb796993e
| 2014-08-15 20:13:50 |
| 2 | John | Sihombing | john@misalnya.com | 8ee9347fdca9aa875688d0cd6aa7563365fe63b4
| 2014-08-15 20:20:36 |
| 3 | Paul | Sitorus | paul@contoh.com | 8b9111467a49bf9de082fad728dc6c48c5a7a18a
| 2014-08-15 20:20:36 |
| 5 |
Sintong | Siahaan | sintong@misalnya.com |
a86c9f354b1346f00e9098c4523882f7a9aa43fb | 2014-08-15 20:20:36 |
| 8 |
Vivian | Siahaan | vivian@contoh.com | ed42785ca24ae8fa2d9fd131401e44c3c86519ae
| 2014-08-15 20:37:41 |
| 17 |
Krista | Simanungkalit |
krista@misalnya.com |
974739e069e31caf5fde4d03742de4d86e51b1b0 | 2014-08-06 00:00:00 |
| 18 |
Johanes | Simamora | johan@contoh.com | b06df678b6fd4f3c457f43eaabe0c47c140fe45d
| 2014-08-01 00:00:00 |
| 20 | Tobat | Sinaga | tobat@contoh.com | 21d57d454b7e46a809d282375cfc8a50158fdb99
| 2014-08-13 00:00:00 |
+-------------+------------+---------------+----------------------+------------------------------------------+---------------------+
8 rows in set (0.00 sec)
Anda juga bisa memilih nama untuk tiap
rekaman yang memiliki nama alamat yang bukan dalam bentuk sesuatu@contoh.com, sebagai berikut:
mysql> SELECT nama_depan, nama_belakang
->
FROM pengguna
->
WHERE email NOT LIKE '@contoh.com';
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rismon
| Sianipar |
| John
| Sihombing |
| Paul
| Sitorus |
| Joshua
| Naibaho |
| Sintong
| Siahaan |
| Robert
| Tohonan |
| Rico
| Chandra |
| Vivian
| Siahaan |
| Muhamad
| Irwan |
| Ketut
| Wiryajati |
| Hamzan
| Wadi |
| Rotua
| Marolop |
| Rini
| Meika |
| Muhamad
| Fitrah |
| Bunga
| Lestari |
| Rosinta
| Tambunan |
| Krista
| Simanungkalit |
| Johanes
| Simamora |
| Sabar | Aritonang |
| Tobat
| Sinaga |
| Mei
| Ester |
+------------+---------------+
21 rows in set (0.00 sec)
Mengurutkan Hasil Query
Anda bisa memilih semua pengguna dengan
urutan alfabetikal berdasarkan nama belakangnya, sebagai berikut:
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> ORDER BY
nama_belakang;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Sabar |
Aritonang |
| Rico | Chandra |
| Mei | Ester |
| Muhamad | Fitrah |
| Muhamad | Irwan |
| Bunga |
Lestari |
| Rotua |
Marolop |
| Rini | Meika |
| Joshua |
Naibaho |
| Sintong | Siahaan |
| Vivian |
Siahaan |
| Rismon |
Sianipar |
| John |
Sihombing |
| Johanes |
Simamora |
| Krista |
Simanungkalit |
| Tobat | Sinaga |
| Paul |
Sitorus |
| Rosinta | Tambunan |
| Robert |
Tohonan |
| Hamzan | Wadi |
| Ketut |
Wiryajati |
+------------+---------------+
21 rows in set (0.00 sec)
Anda juga bisa menampilkan semua
pengguna dalam urutan alfabetikal berdasarkan nama belakang dan kemudian
berdasarkan nama depan, sebagai berikut:
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> ORDER BY
nama_belakang ASC,
-> nama_depan ASC;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Sabar |
Aritonang |
| Rico |
Chandra |
| Mei | Ester |
| Muhamad | Fitrah |
| Muhamad | Irwan |
| Bunga |
Lestari |
| Rotua |
Marolop |
| Rini | Meika |
| Joshua |
Naibaho |
| Sintong |
Siahaan |
| Vivian |
Siahaan |
| Rismon |
Sianipar |
| John |
Sihombing |
| Johanes |
Simamora |
| Krista |
Simanungkalit |
| Tobat | Sinaga |
| Paul |
Sitorus |
| Rosinta |
Tambunan |
| Robert |
Tohonan |
| Hamzan | Wadi |
| Ketut |
Wiryajati |
+------------+---------------+
21 rows in set (0.00 sec)
Anda juga bisa menampilkan nama pengguna
yang memiliki nama belakang yang diawali dengan Si dan yang diurutkan secara
menurun berdasarkan tanggal registrasi.
mysql>
SELECT nama_depan, nama_belakang
-> FROM pengguna
-> WHERE nama_belakang LIKE 'Si%'
-> ORDER BY tanggal_registrasi DESC;
+------------+---------------+
|
nama_depan | nama_belakang |
+------------+---------------+
|
Vivian | Siahaan |
|
John | Sihombing |
|
Paul | Sitorus |
|
Sintong | Siahaan |
|
Rismon | Sianipar |
|
Tobat | Sinaga |
|
Krista | Simanungkalit |
|
Johanes | Simamora |
+------------+---------------+
8
rows in set (0.00 sec)
Membatasi Hasil Query
Anda bisa memilih lima pengguna
terakhir yang mendaftar, sebagai berikut:
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> ORDER BY
tanggal_registrasi DESC LIMIT 5;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rico |
Chandra |
| Vivian |
Siahaan |
| Muhamad | Irwan |
| Ketut |
Wiryajati |
| Robert |
Tohonan |
+------------+---------------+
5 rows in set (0.00 sec)
Anda juga bisa memilih pengguna kedua
yang mendaftar, sebagai berikut:
mysql> SELECT nama_depan, nama_belakang
-> FROM pengguna
-> ORDER BY
tanggal_registrasi ASC LIMIT 1, 1;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| Rosinta |
Tambunan |
+------------+---------------+
1 row in set (0.00 sec)
Memperbarui Data
Pada kasus ini, Anda akan mengubah
email untuk rekaman tertentu. Untuk melakukannya, Anda terlebih dahulu mencari
primary key dari rekaman tersebut.
mysql> SELECT id_pengguna
-> FROM pengguna
-> WHERE nama_depan
= 'Rismon'
-> AND
nama_belakang = 'Sianipar';
+-------------+
| id_pengguna |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
Selanjutnya, Anda bisa memperbarui
rekaman tersebut, sebagai berikut:
mysql> UPDATE pengguna
-> SET email =
'rismon77@misalnya.com'
-> WHERE
id_pengguna = 1;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed:
1 Warnings: 0
Anda bisa memastikan bahwa perubahan
telah dilakukan, sebagai berikut:
mysql>
SELECT * FROM pengguna
-> WHERE id_pengguna = 1;
+-------------+------------+---------------+-----------------------+------------------------------------------+---------------------+
| id_pengguna | nama_depan | nama_belakang |
email | pass |
tanggal_registrasi |
+-------------+------------+---------------+-----------------------+------------------------------------------+---------------------+
|
1 | Rismon | Sianipar | rismon77@misalnya.com |
829b36babd21be519fa5f9353daf5dbdb796993e | 2014-08-15 20:13:50 |
+-------------+------------+---------------+-----------------------+------------------------------------------+---------------------+
1 row in set (0.02 sec)
Lebih
praktis, Anda bisa melakukannya menggunakan phpMyAdmin, sebagai berikut:
Menghapus Data
Pertama-tama, Anda perlu mencari
primary key untuk rekaman yang akan dihapus, sebagai berikut:
mysql> USE namasitus;
Database changed
mysql> SELECT id_pengguna
-> FROM pengguna
-> WHERE nama_depan
= 'Rismon'
-> AND
nama_belakang = 'Sianipar';
+-------------+
| id_pengguna |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
Anda bisa mengamati lebih dahulu,
sebelum penghapusan dilakukan:
mysql> SELECT * FROM pengguna
-> WHERE
id_pengguna = 1;
+-------------+------------+---------------+-----------------------+------------------------------------------+---------------------+
| id_pengguna | nama_depan | nama_belakang | email | pass |
tanggal_registrasi |
+-------------+------------+---------------+-----------------------+------------------------------------------+---------------------+
| 1 |
Rismon | Sianipar | rismon77@misalnya.com |
829b36babd21be519fa5f9353daf5dbdb796993e | 2014-08-15 20:13:50 |
+-------------+------------+---------------+-----------------------+------------------------------------------+---------------------+
1 row in set (0.00 sec)
Kemudian Anda bisa melakukan
penghapusan:
mysql> DELETE FROM pengguna
-> WHERE
id_pengguna = 1 LIMIT 1;
Query OK, 1 row affected (0.07 sec)
Anda bisa memastikan apakah penghapusan
telah dilakukan, sebagai berikut:
mysql> SELECT id_pengguna, nama_depan, nama_belakang
-> FROM pengguna
-> ORDER BY
id_pengguna ASC;
+-------------+------------+---------------+
| id_pengguna | nama_depan | nama_belakang |
+-------------+------------+---------------+
| 2 | John | Sihombing |
| 3 | Paul |
Sitorus |
| 4 |
Joshua | Naibaho |
| 5 |
Sintong | Siahaan |
| 6 |
Robert | Tohonan |
| 7 | Rico | Chandra |
| 8 |
Vivian | Siahaan |
| 9 | Muhamad | Irwan |
| 10 | Ketut | Wiryajati |
| 11 |
Hamzan | Wadi |
| 12 | Rotua | Marolop |
| 13 | Rini | Meika |
| 14 |
Muhamad | Fitrah |
| 15 | Bunga | Lestari |
| 16 |
Rosinta | Tambunan |
| 17 |
Krista | Simanungkalit |
| 18 |
Johanes | Simamora |
| 19 | Sabar | Aritonang |
| 20 | Tobat |
Sinaga |
| 21 | Mei | Ester |
+-------------+------------+---------------+
20 rows in set (0.00 sec)
Menggunakan Fungsi
Di sini, Anda akan menyambung nama
belakang dan nama depan pengguna, menggunakan fungsi CONCAT, sebagai berikut:
mysql> SELECT CONCAT(nama_belakang, ',',
-> nama_depan) FROM
pengguna;
+----------------------------------------+
| CONCAT(nama_belakang, ',',
nama_depan) |
+----------------------------------------+
| Sihombing,John |
| Sitorus,Paul |
| Naibaho,Joshua |
| Siahaan,Sintong |
| Tohonan,Robert |
| Chandra,Rico |
| Siahaan,Vivian |
| Irwan,Muhamad |
| Wiryajati,Ketut |
| Wadi,Hamzan |
| Marolop,Rotua |
| Meika,Rini |
| Fitrah,Muhamad |
| Lestari,Bunga |
| Tambunan,Rosinta |
| Simanungkalit,Krista |
| Simamora,Johanes |
| Aritonang,Sabar |
| Sinaga,Tobat |
| Ester,Mei |
+----------------------------------------+
20 rows in set (0.04 sec)
Anda juga bisa menyambung nama belakang
dan nama depan, menggunakan fungsi CONCAT, melalui sebuah alias sebagai
berikut:
mysql> SELECT CONCAT(nama_belakang, ',',
-> nama_depan)
-> AS Nama
-> FROM pengguna
-> ORDER BY Nama;
+----------------------+
| Nama |
+----------------------+
| Aritonang,Sabar |
| Chandra,Rico |
| Ester,Mei |
| Fitrah,Muhamad |
| Irwan,Muhamad |
| Lestari,Bunga |
| Marolop,Rotua |
| Meika,Rini |
| Naibaho,Joshua |
| Siahaan,Sintong |
| Siahaan,Vivian |
| Sihombing,John |
| Simamora,Johanes |
| Simanungkalit,Krista |
| Sinaga,Tobat |
| Sitorus,Paul |
| Tambunan,Rosinta |
| Tohonan,Robert |
| Wadi,Hamzan |
| Wiryajati,Ketut |
+----------------------+
20 rows in set (0.00 sec)
Anda juga bisa mencari nama belakang
terpanjang menggunakan fungsi LENGTH sebagai berikut:
mysql> SELECT LENGTH(nama_belakang) AS L,
-> nama_belakang
FROM pengguna
-> ORDER BY L DESC
LIMIT 1;
+----+---------------+
| L | nama_belakang |
+----+---------------+
| 13 | Simanungkalit |
+----+---------------+
1 row in set (0.03 sec)
Kemudian, Anda juga bisa membaca alamat
email acak dari tabel, menggunakan fungsi RAND(), sebagai berikut:
mysql> SELECT email FROM pengguna
-> ORDER BY RAND()
LIMIT 1;
+-----------------+
| email |
+-----------------+
| paul@contoh.com |
+-----------------+
1 row in set (0.03 sec)
Anda bisa pula menampilkan tanggal
dimana pengguna terakhir mendaftar, menggunakan fungsi DATE(), sebagai berikut:
mysql> SELECT DATE(tanggal_registrasi) AS
-> Tanggal FROM
pengguna
-> ORDER BY
tanggal_registrasi DESC LIMIT 1;
+------------+
| Tanggal |
+------------+
| 2014-08-15 |
+------------+
1 row in set (0.00 sec)
Anda bisa pula menampilkan hari dimana
pengguna pertama mendaftar, menggunakan fungsi DAYNAME(), sebagai berikut:
mysql> SELECT DAYNAME(tanggal_registrasi)
-> AS hari
-> FROM pengguna
-> ORDER BY
tanggal_registrasi ASC LIMIT 1;
+--------+
| hari |
+--------+
| Friday |
+--------+
1 row in set (0.09 sec)
Anda bisa juga menampilkan tanggal dan
waktu sekarang, menurut MySQL, sebagai berikut:
mysql> SELECT CURDATE(), CURTIME();
+------------+-----------+
| CURDATE() | CURTIME() |
+------------+-----------+
| 2014-08-15 | 22:38:21 |
+------------+-----------+
1 row in set (0.04 sec)
Kasus 2: Database
RentalDVD
Menciptakan Database
Di
sini, Anda akan menciptakan sebuah database dengan nama RentalDVD.
mysql> CREATE DATABASE RentalDVD;
Query OK, 1 row affected (0.06 sec)
mysql> use RentalDVD
Database changed
Menciptakan Tabel Lookup
Di sini, Anda akan menciptakan enam
buah tabel, yaitu Peran, TipeMovie, Studio, Rating, Format, dan Status.
mysql> CREATE TABLE Peran (
-> IDPeran
VARCHAR(4) NOT NULL,
-> DeskripsiPeran
VARCHAR(30) NOT NULL,
-> PRIMARY KEY
(IDPeran)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.44 sec)
mysql> CREATE TABLE TipeMovie
-> (
-> IDTipeM
VARCHAR(4) NOT NULL,
-> DeskripsiTipeM
VARCHAR(30) NOT NULL,
-> PRIMARY KEY
(IDTipeM)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.42 sec)
mysql> CREATE TABLE Studio
-> (
-> IDStudio
VARCHAR(4) NOT NULL,
-> DeskripsiStudio
VARCHAR(40) NOT NULL,
-> PRIMARY KEY
(IDStudio)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.34 sec)
mysql> CREATE TABLE Rating
-> (
-> IDRating
VARCHAR(4) NOT NULL,
-> DeskripsiRating
VARCHAR(30) NOT NULL,
-> PRIMARY KEY
(IDRating)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.27 sec)
mysql> CREATE TABLE Format
-> (
-> IDFormat CHAR(2)
NOT NULL,
-> DeskripsiFormat
VARCHAR(15) NOT NULL,
-> PRIMARY KEY
(IDFormat)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.38 sec)
mysql> CREATE TABLE Status
-> (
-> IDStatus CHAR(3)
NOT NULL,
-> DeskripsiStatus
VARCHAR(20) NOT NULL,
-> PRIMARY KEY
(IDStatus)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.58 sec)
Menciptakan Tabel Orang
Di sini, Anda akan menciptakan tiga
buah tabel, yaitu Partisipan, Karyawan, dan Konsumen.
mysql> CREATE TABLE Partisipan
-> (
-> IDPartisipan
SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FNPartisipan
VARCHAR(20) NOT NULL,
-> MNPartisipan
VARCHAR(20) NULL,
-> LNPartisipan
VARCHAR(20) NULL
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.24 sec)
mysql> CREATE TABLE Karyawan
-> (
-> IDKaryawan
SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FNKaryawan
VARCHAR(20) NOT NULL,
-> MNKaryawan
VARCHAR(20) NULL,
-> LNKaryawan
VARCHAR(20) NOT NULL
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.23 sec)
mysql> CREATE TABLE Konsumen
-> (
-> IDKonsumen
SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> FNKonsumen
VARCHAR(20) NOT NULL,
-> MNKonsumen
VARCHAR(20) NULL,
-> LNKonsumen
VARCHAR(20) NOT NULL
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.24 sec)
Menciptakan Tabel FOREIGN KEY
Di sini, Anda akan menciptakan empat
tabel yang memuat beberapa Foreign Key.
mysql> CREATE TABLE DVD
-> (
-> IDDVD SMALLINT
NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> NamaDVD
VARCHAR(60) NOT NULL,
-> NomorDisk
TINYINT NOT NULL DEFAULT 1,
-> TahunRilis YEAR
NOT NULL,
-> IDTipeM
VARCHAR(4) NOT NULL,
-> IDStudio
VARCHAR(4) NOT NULL,
-> IDRating
VARCHAR(4) NOT NULL,
-> IDFormat CHAR(2)
NOT NULL,
-> IDStatus CHAR(3)
NOT NULL,
-> FOREIGN KEY
(IDTipeM) REFERENCES TipeMovie(IDTipeM),
-> FOREIGN KEY
(IDStudio) REFERENCES Studio(IDStudio),
-> FOREIGN KEY (IDRating)
REFERENCES Rating(IDRating),
-> FOREIGN KEY
(IDFormat) REFERENCES Format(IDFormat),
-> FOREIGN KEY
(IDStatus) REFERENCES Status(IDStatus)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.54 sec)
mysql> CREATE TABLE PartisipanDVD
-> (
-> IDDVD SMALLINT
NOT NULL,
-> IDPartisipan
SMALLINT NOT NULL,
-> IDPeran
VARCHAR(4) NOT NULL,
-> PRIMARY KEY
(IDDVD, IDPartisipan, IDPeran),
-> FOREIGN KEY
(IDDVD) REFERENCES DVD (IDDVD),
-> FOREIGN KEY
(IDPartisipan) REFERENCES Partisipan (IDPartisipan),
-> FOREIGN KEY
(IDPeran) REFERENCES Peran (IDPeran)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.47 sec)
mysql> CREATE TABLE Pesan
-> (
-> IDPesan INT NOT
NULL AUTO_INCREMENT PRIMARY KEY,
-> IDKonsumen
SMALLINT NOT NULL,
-> IDKaryawan
SMALLINT NOT NULL,
-> FOREIGN KEY
(IDKonsumen) REFERENCES Konsumen (IDKonsumen),
-> FOREIGN KEY
(IDKaryawan) REFERENCES Karyawan (IDKaryawan)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.44 sec)
mysql> CREATE TABLE Transaksi
-> (
-> IDTransaksi INT
NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> IDPesan INT NOT
NULL,
-> IDDVD SMALLINT
NOT NULL,
-> TanggalKeluar
DATE NOT NULL,
-> TanggalLambat
DATE NOT NULL,
-> TanggalMasuk
DATE NOT NULL,
-> FOREIGN KEY
(IDPesan) REFERENCES Pesan (IDPesan),
-> FOREIGN KEY
(IDDVD) REFERENCES DVD (IDDVD)
-> )
-> ENGINE=INNODB;
Query OK, 0 rows affected (0.44 sec)
Menampilkan Definisi Database
Untuk menampilkan definisi database,
Anda bisa menggunakan query berikut:
mysql> SHOW CREATE DATABASE RentalDVD;
+-----------+----------------------------------------------------------------------+
| Database | Create
Database |
+-----------+----------------------------------------------------------------------+
| RentalDVD | CREATE DATABASE `RentalDVD` /*!40100 DEFAULT
CHARACTER SET latin1 */ |
+-----------+----------------------------------------------------------------------+
1 row in set (0.03 sec)
mysql> SHOW TABLES;
+---------------------+
| Tables_in_rentaldvd |
+---------------------+
| dvd |
| format |
| karyawan |
| konsumen |
| partisipan |
| partisipandvd |
| peran |
| pesan |
| rating |
| status |
| studio |
| tipemovie |
| transaksi |
+---------------------+
13 rows in set (0.06 sec)
Selanjutnya, Anda bisa menampilkan
definisi tabel Pesan. Ketikkan query berikut:
mysql> SHOW CREATE TABLE Pesan;
Selanjutnya, Anda bisa menampilkan
kolom-kolom yang ada pada tabel Transaksi. Ketikkan query berikut:
mysql> SHOW COLUMNS FROM Transaksi;
+---------------+-------------+------+-----+---------+----------------+
| Field |
Type | Null | Key | Default |
Extra |
+---------------+-------------+------+-----+---------+----------------+
| IDTransaksi |
int(11) | NO | PRI | NULL | auto_increment |
| IDPesan |
int(11) | NO | MUL | NULL | |
| IDDVD |
smallint(6) | NO | MUL | NULL | |
| TanggalKeluar | date
| NO | | NULL
| |
| TanggalLambat | date
| NO | | NULL
| |
| TanggalMasuk |
date | NO |
| NULL | |
+---------------+-------------+------+-----+---------+----------------+
6 rows in set (0.05 sec)
Cara lain untuk melihat informasi atas
sebuah tabel adalah dengan menggunakan statemen DESCRIBE. Ketikkan query
berikut:
mysql> DESCRIBE PartisipanDVD;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| IDDVD |
smallint(6) | NO | PRI | NULL |
|
| IDPartisipan | smallint(6) | NO | PRI | NULL |
|
| IDPeran |
varchar(4) | NO | PRI | NULL |
|
+--------------+-------------+------+-----+---------+-------+
3 rows in set (0.05 sec)
Langkah terakhir adalah melihat
indeks-indeks yang telah diciptakan pada sebuah tabel. Ketikkan query berikut:
mysql> SHOW INDEX FROM DVD;
Menyisipkan Data ke Dalam Tabel Lookup
Untuk menyisipkan sebuah rekaman ke
dalam tabel Format, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Format
-> VALUES ('f1',
'Widescreen');
Query OK, 1 row affected (0.06 sec)
Untuk menyisipkan rekaman berikutnya
pada tabel Format, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Format (IDFormat, DeskripsiFormat)
-> VALUES
('f2','Fullscreen');
Query OK, 1 row affected (0.05 sec)
Untuk menyisipkan rekaman-rekaman pada
tabel Peran, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Peran
-> VALUES ('r101','Aktor'),
->
('r102','Sutradara'),
->
('r103','Produser'),
->
('r104','Produser Eksekutif'),
->
('r105','Produser Pembantu'),
-> ('r106','Asisten
Produser'),
-> ('r107','Penulis
Skenario'),
->
('r108','Komposer');
Query OK, 8 rows affected (0.05 sec)
Records: 8 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Peran;
+---------+--------------------+
| IDPeran | DeskripsiPeran
|
+---------+--------------------+
| r101 | Aktor |
| r102 | Sutradara |
| r103 | Produser |
| r104 | Produser
Eksekutif |
| r105 | Produser
Pembantu |
| r106 | Asisten
Produser |
| r107 | Penulis
Skenario |
| r108 | Komposer |
+---------+--------------------+
8 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman pada
tabel TipeMovie, ketikkan statemen INSERT berikut:
mysql> INSERT INTO TipeMovie
-> VALUES
('mt10','Aksi'),
->
('mt11','Drama'),
->
('mt12','Komedi'),
-> ('mt13','Komedi
Romantis'),
->
('mt14','Fantasi'),
->
('mt15','Dokumenter'),
->
('mt16','Musikal');
Query OK, 7 rows affected (0.03 sec)
Records: 7 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM TipeMovie;
+---------+-------------------+
| IDTipeM | DeskripsiTipeM
|
+---------+-------------------+
| mt10 | Aksi |
| mt11 | Drama |
| mt12 | Komedi |
| mt13 | Komedi
Romantis |
| mt14 | Fantasi |
| mt15 |
Dokumenter |
| mt16 | Musikal |
+---------+-------------------+
7 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman pada
tabel Studio, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Studio
-> VALUES
('s101','Universal Studios'),
-> ('s102','Warner
Brothers'),
-> ('s103','Time
Warner'),
->
('s104','Columbia Pictures'),
->
('s105','Paramount Pictures'),
->
('s106','Twentieth Century Fox'),
->
('s107','Merchant Ivory Production');
Query OK, 7 rows affected (0.05 sec)
Records: 7 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Studio;
+----------+---------------------------+
| IDStudio | DeskripsiStudio |
+----------+---------------------------+
| s101 | Universal
Studios |
| s102 | Warner Brothers |
| s103 | Time
Warner |
| s104 | Columbia
Pictures |
| s105 | Paramount
Pictures |
| s106 | Twentieth
Century Fox |
| s107 | Merchant
Ivory Production |
+----------+---------------------------+
9 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman pada
tabel Rating, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Rating
-> VALUES
('NR','Not rated'),
-> ('G','General
audiences'),
-> ('PG','Parental
guidance suggested'),
-> ('PG13','Parents
strongly cautioned'),
-> ('R','Under 17
requires adult'),
-> ('X','No one 17
and under');
Query OK, 6 rows affected (0.06 sec)
Records: 6 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query berikut:
mysql> SELECT * FROM Rating;
+----------+-----------------------------+
| IDRating | DeskripsiRating |
+----------+-----------------------------+
| G | General
audiences |
| NR | Not
rated |
| PG | Parental
guidance suggested |
| PG13 | Parents
strongly cautioned |
| R | Under 17
requires adult |
| X | No one 17 and
under |
+----------+-----------------------------+
6 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman pada
tabel Status, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Status
-> VALUES ('s1','Di
luar'),
->
('s2','Tersedia'),
-> ('s3','Rusak'),
-> ('s4','Hilang');
Query OK, 4 rows affected (0.06 sec)
Records: 4 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Status;
+----------+-----------------+
| IDStatus | DeskripsiStatus |
+----------+-----------------+
| s1 | Di luar |
| s2 | Tersedia |
| s3 | Rusak |
| s4 | Hilang |
+----------+-----------------+
4 rows in set (0.00 sec)
Menyisipkan Data ke Dalam Tabel-Tabel Orang
Untuk menyisipkan rekaman-rekaman ke
dalam tabel Partisipan, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Partisipan (FNPartisipan, MNPartisipan,
LNPartisipan)
-> VALUES
('Sydney',NULL,'Pollack'),
->
('Robert',NULL,'Redfort'),
->
('Meryl',NULL,'Streep'),
->
('John',NULL,'Barry'),
->
('Henry',NULL,'Buck'),
->
('Humprey',NULL,'Bogart'),
->
('Danny',NULL,'Kaye'),
->
('Rosemary',NULL,'Clooney'),
->
('Irving',NULL,'Berlin'),
->
('Michael',NULL,'Curtiz'),
->
('Bing',NULL,'Crosby');
Query OK, 11 rows affected (0.06 sec)
Records: 11 Duplicates: 0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Partisipan;
+--------------+--------------+--------------+--------------+
| IDPartisipan | FNPartisipan | MNPartisipan | LNPartisipan |
+--------------+--------------+--------------+--------------+
| 1 |
Sydney | NULL | Pollack |
| 2 |
Robert | NULL | Redfort |
| 3 |
Meryl | NULL | Streep |
| 4 | John | NULL | Barry |
| 5 |
Henry | NULL | Buck |
| 6 |
Humprey | NULL | Bogart |
| 7 |
Danny | NULL | Kaye |
| 8 |
Rosemary | NULL | Clooney |
| 9 |
Irving | NULL | Berlin |
| 10 |
Michael | NULL | Curtiz |
| 11 | Bing | NULL | Crosby |
+--------------+--------------+--------------+--------------+
11 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman ke
dalam tabel Karyawan, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Karyawan (FNKaryawan, MNKaryawan,
LNKaryawan)
-> VALUES
('Rismon', 'H.', 'Sianipar'),
-> ('I', 'Ketut',
'Wiryajati'),
-> ('Muhammad',
NULL, 'Irwan'),
-> ('Hamzan', NULL,
'Wadi'),
-> ('Tobat', NULL,
'Sinaga'),
-> ('Krista', 'C.',
'Simanungkalit');
Query OK, 6 rows affected (0.08 sec)
Records: 6 Duplicates: 0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Karyawan;
+------------+------------+------------+---------------+
| IDKaryawan | FNKaryawan | MNKaryawan | LNKaryawan |
+------------+------------+------------+---------------+
| 1 | Rismon | H. | Sianipar |
| 2 | I | Ketut | Wiryajati |
| 3 |
Muhammad | NULL | Irwan |
| 4 | Hamzan | NULL | Wadi |
| 5 | Tobat | NULL | Sinaga |
| 6 | Krista | C. | Simanungkalit |
+------------+------------+------------+---------------+
6 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman ke
dalam tabel Konsumen, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Konsumen (FNKonsumen, MNKonsumen,
LNKonsumen)
-> VALUES('Ralph',
NULL, 'Tampubolon'),
-> ('Najwa', NULL,
'Shihab'),
-> ('Joko', NULL,
'Widodo'),
-> ('Megawati',
NULL, 'Soekarnoputri'),
-> ('Putra', 'H.',
'Nababan'),
-> ('Hamzah', NULL,
'Haz');
Query OK, 6 rows affected (0.06 sec)
Records: 6 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Konsumen;
+------------+------------+------------+---------------+
| IDKonsumen | FNKonsumen | MNKonsumen | LNKonsumen |
+------------+------------+------------+---------------+
| 1 | Ralph | NULL | Tampubolon |
| 2 | Najwa | NULL | Shihab |
| 3 | Joko |
NULL | Widodo |
| 4 |
Megawati | NULL | Soekarnoputri |
| 5 | Putra | H. | Nababan |
| 6 | Hamzah | NULL | Haz |
+------------+------------+------------+---------------+
6 rows in set (0.00 sec)
Menyisipkan Data ke Dalam Tabel-Tabel Foreign Key
Untuk menyisipkan sebuah rekaman ke
dalam tabel DVD, ketikkan statemen INSERT berikut:
mysql> INSERT INTO DVD
-> VALUES(NULL,
'White Christmas', DEFAULT, 2000, 'mt16', 's105', 'NR', 'f1', 's1');
Query OK, 1 row affected (0.06 sec)
Untuk menyisipkan rekaman berikutnya ke
dalam tabel DVD, ketikkan statemen INSERT berikut:
mysql> INSERT INTO DVD
-> (NamaDVD,
NomorDisk, TahunRilis, IDTipeM, IDStudio, IDRating, IDFormat, IDStatus)
-> VALUES ('What\'s
Up, Doc?',1,2001,'mt12','s103','G','f1','s2');
Untuk menyisipkan rekaman-rekaman
berikutnya ke dalam tabel DVD, ketikkan statemen INSERT berikut:
mysql> INSERT INTO DVD
-> VALUES(NULL,
'Out of Africa',1,2000,'mt11','s101','PG','f1','s1'),
-> (NULL,'The
Maltese Falcon',1,2000,'mt11','s103','NR','f1','s2'),
->
(NULL,'Amadeus',1,1997,'mt11','s103','PG','f1','s2');
Query OK, 3 rows affected (0.06 sec)
Records: 3 Duplicates:
0 Warnings: 0
Untuk menyisipkan rekaman-rekaman
lainnya ke dalam tabel DVD, ketikkan statemen INSERT berikut:
mysql> INSERT INTO DVD
-> (NamaDVD,
NomorDisk, TahunRilis, IDTipeM, IDStudio, IDRating, IDFormat, IDStatus)
-> VALUES
-> ('The Rocky
Horror Picture Show',2,2000,'mt12','s106','NR','f1','s2'),
-> ('A Room with a
View',1,2000,'mt11','s107','NR','f1','s1'),
->
('Mash',2,2001,'mt12','s106','R','f1','s2');
Query OK, 3 rows affected (0.03 sec)
Records: 3 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM DVD;
+-------+-------------------------------+-----------+------------+---------+----------+----------+----------+--------+
| IDDVD | NamaDVD | NomorDisk | TahunRilis |
IDTipeM | IDStudio | IDRating | IDFormat | IDStatus |
+-------+-------------------------------+-----------+------------+---------+----------+----------+----------+--------+
| 1 | White
Christmas | 1 | 2000 | mt16 | s105
| NR | f1 | s1 |
| 2 | What's Up,
Doc? | 1 | 2001 | mt12 | s103
| G | f1 | s2 |
| 3 | Out of
Africa | 1 | 2000 | mt11 | s101
| PG | f1 | s1 |
| 4 | The Maltese
Falcon | 1 | 2000 | mt11 | s103
| NR | f1 | s2 |
| 5 | Amadeus | 1 | 1997 | mt11 | s103
| PG | f1 | s2 |
| 6 | The Rocky Horror
Picture Show | 2 | 2000 | mt12 | s106
| NR | f1 | s2 |
| 7 | A Room with a
View | 1 | 2000 | mt11 | s107 | NR
| f1 | s1 |
| 8 | Mash | 2 | 2001 | mt12 | s106
| R | f1 | s2 |
+-------+-------------------------------+-----------+------------+---------+----------+----------+----------+--------+
8 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman ke
dalam tabel PartisipanDVD, ketikkan statemen INSERT berikut:
mysql> INSERT INTO PartisipanDVD
->
VALUES(3,1,'r102'),
-> (3,4,'r108'),
-> (3,1,'r103'),
-> (3,2,'r101'),
-> (3,3,'r101'),
-> (1,8,'r101'),
-> (1,9,'r108'),
-> (1,10,'r102'),
-> (1,11,'r101'),
-> (1,7,'r101'),
-> (2,5,'r107');
Query OK, 11 rows affected (0.06 sec)
Records: 11 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM PartisipanDVD;
+-------+--------------+---------+
| IDDVD | IDPartisipan | IDPeran |
+-------+--------------+---------+
| 3 | 1 | r102 |
| 3 | 1 | r103 |
| 3 |
2 | r101 |
| 3 | 3 | r101 |
| 3 | 4 | r108 |
| 2 | 5 | r107 |
| 1 | 7 | r101 |
| 1 | 8 | r101 |
| 1 | 9 | r108 |
| 1 | 10 | r102 |
| 1 | 11 | r101 |
+-------+--------------+---------+
11 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman ke
dalam tabel Pesan, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Pesan (IDKonsumen, IDKaryawan)
-> VALUES(1,3),
-> (1,2),
-> (2,5),
-> (3,6),
-> (4,1),
-> (3,3),
-> (5,2),
-> (6,4),
-> (4,5),
-> (6,2),
-> (3,1),
-> (1,6),
-> (5,4);
Query OK, 13 rows affected (0.05 sec)
Records: 13 Duplicates:
0 Warnings: 0
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Pesan;
+---------+------------+------------+
| IDPesan | IDKonsumen | IDKaryawan |
+---------+------------+------------+
| 1 | 1 | 3 |
| 2 | 1 | 2 |
| 3 | 2 | 5 |
| 4 | 3 | 6 |
| 5 | 4 | 1 |
| 6 | 3 | 3 |
| 7 | 5 | 2 |
| 8 | 6 | 4 |
| 9 |
4 | 5 |
| 10 | 6 | 2 |
| 11 | 3 | 1 |
| 12 | 1 | 6 |
| 13 | 5 | 4 |
+---------+------------+------------+
13 rows in set (0.00 sec)
Untuk menyisipkan rekaman-rekaman ke
dalam tabel Transaksi, ketikkan statemen INSERT berikut:
mysql> INSERT INTO Transaksi (IDPesan, IDDVD, TanggalKeluar,
TanggalLambat)
->
VALUES(1,1,CURDATE(),CURDATE()+3),
->
(1,4,CURDATE(),CURDATE()+3),
-> (1,8,CURDATE(),CURDATE()+3),
->
(2,3,CURDATE(),CURDATE()+3),
->
(3,4,CURDATE(),CURDATE()+3),
->
(3,1,CURDATE(),CURDATE()+3),
->
(3,7,CURDATE(),CURDATE()+3),
->
(4,4,CURDATE(),CURDATE()+3),
->
(5,3,CURDATE(),CURDATE()+3),
-> (6,2,CURDATE(),CURDATE()+3),
->
(6,1,CURDATE(),CURDATE()+3),
->
(7,4,CURDATE(),CURDATE()+3),
->
(8,2,CURDATE(),CURDATE()+3),
->
(8,1,CURDATE(),CURDATE()+3),
->
(8,3,CURDATE(),CURDATE()+3),
->
(9,7,CURDATE(),CURDATE()+3),
-> (9,1,CURDATE(),CURDATE()+3),
->
(10,5,CURDATE(),CURDATE()+3),
->
(11,6,CURDATE(),CURDATE()+3),
->
(11,2,CURDATE(),CURDATE()+3),
->
(11,8,CURDATE(),CURDATE()+3),
->
(12,5,CURDATE(),CURDATE()+3),
->
(13,7,CURDATE(),CURDATE()+3);
Query OK, 23 rows affected, 1 warning (0.14 sec)
Records: 23 Duplicates:
0 Warnings: 1
Untuk memastikkannya, ketikkan query
berikut:
mysql> SELECT * FROM Transaksi;
+-------------+---------+-------+---------------+---------------+--------------+
| IDTransaksi | IDPesan | IDDVD | TanggalKeluar | TanggalLambat
| TanggalMasuk |
+-------------+---------+-------+---------------+---------------+--------------+
| 1 | 1 |
1 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 2 | 1 |
4 | 2014-08-23 | 2014-08-26 | 0000-00-00 |
| 3 | 1 |
8 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 4 | 2 |
3 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 5 | 3 |
4 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 6 | 3 |
1 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 7 | 3 |
7 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 8 | 4 |
4 | 2014-08-23 | 2014-08-26 | 0000-00-00 |
| 9 | 5 |
3 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 10 | 6 |
2 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 11 | 6 |
1 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 12 | 7 |
4 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 13 | 8 |
2 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 14 | 8 |
1 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 15 | 8 |
3 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 16 | 9 |
7 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 17 | 9 |
1 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 18 | 10 |
5 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 19 | 11 |
6 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 20 | 11 |
2 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 21 | 11 | 8 | 2014-08-23 | 2014-08-26 | 0000-00-00 |
| 22 | 12 |
5 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
| 23 | 13 |
7 | 2014-08-23 |
2014-08-26 | 0000-00-00 |
+-------------+---------+-------+---------------+---------------+--------------+
23 rows in set (0.00 sec)
No comments:
Post a Comment