MySQL adalah multiuser database yang menggunakan bahasa Structured Query Language (SQL).
MySQL dalam operasi client-server melibatkan server daemon MySQL disisi server dam berbagai
program library yang berjalan disisi client. Dan SQL adalah bahasa standart yang digunakan untuk
mengakses database server.
Perintah CREATE DATABASE berfungsi untuk membuat database baru dalam query MySQL.
Contoh:
CREATE DATABASE toko_online;
Selain itu ada juga query CREATE TABLE nama_table (nama_field1 tipe_data1, nama_field2
tipe_data2 ); , perintah ini berfungsi untuk membuat table dalam database yang telah dibuat
sebelumnya.
Contoh:
CREATE TABLE buku (id_buku int(7), judul varchar(100), jenis varchar(30), penerbit varchar(30),
penulis varchar(30), harga (int) );
2. USE nama_database
Untuk membuat table-table di dalam sebuah database, terlebih dahulu kita buka dulu database
tersebut dengan perintah USE nama_database.
Contoh:
USE toko_online
3. INSERT INTO nama_table (field1, field2, field3, ) VALUES (field1, field2, field3, );
Query ini berfungsi untuk memasukkan data pada suatu table yang telah dibuat.
Contoh:
INSERT INTO buku (judul, jenis, penerbit, penulis, harga) Values (Spiderman, Komik, Marvel
Publishing, Peter Parker, 15000);
Contoh:
SELECT judul, penulis, penerbit FROM buku;
Dan untuk melihat semua kolom(field) pada suatu table, digunakan perintah sebagai berikut:
Selain itu didalam query SELECT juga terdapat perintah untuk menyaring dan menampilkan data
sesuai Kriteria tertentu, sintaksnya sebagai berikut:
Contoh:
SELECT judul FROM buku WHERE jenis = komik;
Dari contoh diatas query akan menampilkan semua data judul dari table buku yang mempunyai jenis
komik.
Contoh2:
SELECT * FROM buku WHERE penulis LIKE Peter%;
Pada perintah diatas query akan menampilkan semua data penulis yang nama depanya Peter.
Sedangkan apabila kita menulisnya seperti ini:
Pasti hasilnya menampilkan peringatan Empety set. Itu karena apabila kita ingin menggunakan =
(sama dengan), kata yang dicari harus 100% sama dengan field tidak boleh ada singkatan atau
kekurangan. Maka dari itu perintah LIKE dibuat. Tapi perintah Like tidak bisa berdiri sendiri, harus
dibarengi dengan tanda % (persen).
Query ini berfungsi untuk mensortir data sesuai kebutuhan dengan bantuan klausa ORDER BY.
Contoh:
SELECT judul, jenis, FROM buku ORDER By jenis;
Pada perintah diatas query akan menampilkan semua data field berdasarkan jenisnya, di urutkan
sesuai abjad.
Untuk mensortir dengan urutan terbalik, gunakan tambahan klausa DESC dibelakangnya. Sintaks
penulisanya adalah sebagai berikut:
SELECT (field1, field2, ) FROM nama_table ORDER BY Kriteria DESC;
Contoh:
SELECT judul, jenis, FROM buku ORDER By jenis DESC;
Perintah diatas akan mengurutkan semua data buku berdasarkan jenisnya secara DESC atau dimulai
dari abjad yang paling belakang.
Sesuai format sintaksnya, perintah ini digunakan untuk menghapus data record sesuai kriteria yang
di inginkan.
Contoh:
DELETE FROM buku WHERE penulis = Peter Parker;
Untuk menghapus seluruh record pada suatu table, gunakan perintah DELETE tanpa menetukan
kriterianya. Namun perlu waspada dalam menggunakan perintah ini karena data yang telah terhapus
tidak dapat dikembalikan lagi:
Perintah ini berfungsi untuk memodifikasi nilai kolom (field) dari suatu record.
Contoh:
UPDATE buku SET judul = Pengobatan Alternatif WHERE penulis = Peter Parker;
Untuk memodifikasi nilai suatu kolom (field) secara keseluruhan, gunakan perintah UPDATE tanpa
menentukan kriterianya.
Selain fungsi YEAR(), MONTH() dan DAY() yang saya gunakan, tabel berikut
merangkum beberapa fungsi lain yang bisa digunakan untuk tipe
data DATE dan TIMESTAMP:
Nama Fungsi Hasil
Penjelasan cara penggunaan tipe data DATE MySQL telah dibahas pada: Tutorial MySQL Tipe
Data Date (Tanggal).
3
mysql> INSERT INTO belajar_date VALUES ('2015-08-10','2015-08-10 08:30:15');
4
Query OK, 1 row affected (0.03 sec)
5
6
mysql> INSERT INTO belajar_date VALUES ('2016-08-17','2016-08-17 10:01:01');
7 Query OK, 1 row affected (0.04 sec)
8
11
+------------+---------------------+
13
| dt | ts |
14
+------------+---------------------+
15
| 2015-08-10 | 2015-08-10 08:30:15 |
16
| 2016-08-17 | 2016-08-17 10:01:01 |
17
| 2017-12-31 | 2017-12-31 23:59:59 |
18 +------------+---------------------+
20
21
Seperti yang terlihat, MySQL menyimpan kolom bertipe data DATE menggunakan
format YYYY-MM-DD, dan untuk tipe data TIMESTAMP dengan format YYYY-MM-DD
HH:MM:SS.
5 | 2015 |
6 | 2016 |
| 2017 |
7
+----------+
8
3 rows in set (0.00 sec)
9
Pada query diatas, saya menampilkan hanya nilai tahun dari kolom dt. Bagaimana
dengan nilai Bulan dan Tanggal? Berikut querynya:
1 mysql> SELECT MONTH(dt) FROM belajar_date;
+-----------+
2
| MONTH(dt) |
3
+-----------+
4
| 8 |
5
| 8 |
6
| 12 |
7 +-----------+
8 3 rows in set (0.00 sec)
9
11 +---------+
| DAY(dt) |
12
+---------+
13
| 10 |
14
| 17 |
15
| 31 |
16 +---------+
17 3 rows in set (0.00 sec)
18
19
Selain fungsi YEAR(), MONTH() dan DAY() yang saya gunakan, tabel berikut
merangkum beberapa fungsi lain yang bisa digunakan untuk tipe
data DATE dan TIMESTAMP:
Nama Fungsi Hasil
2 +----------+
| HOUR(ts) |
3
+----------+
4
| 8 |
5
| 10 |
6
| 23 |
7 +----------+
8 3 rows in set (0.00 sec)
11 +------------+
| MINUTE(ts) |
12
+------------+
13
| 30 |
14
| 1 |
15
| 59 |
16
+------------+
17 3 rows in set (0.00 sec)
18
20 +------------+
21 | SECOND(ts) |
+------------+
22
| 15 |
23
| 1 |
24
| 59 |
25
+------------+
26
3 rows in set (0.00 sec)
27
31 +---------------+
| 222 |
32
| 230 |
33
| 365 |
34
+---------------+
35
3 rows in set (0.00 sec)
36
40 +-------------+
41 | Monday |
| Wednesday |
42
| Sunday |
43
+-------------+
44
3 rows in set (0.06 sec)
45
46
mysql> SELECT ts, DAYNAME(ts) FROM belajar_date;
47 +---------------------+-------------+
48 | ts | DAYNAME(ts) |
49 +---------------------+-------------+
55
56
57
58
59
Fungsi CURDATE() dan NOW()
Masih berkaitan dengan tipe data date, MySQL menyediakan fungsi bawaan untuk
menghasilkan nilai DATE dan TIMESTAMP sistem saat ini. Fungsi yang bisa digunakan
adalah CURDATE() dan NOW().
Berikut contohnya:
1
mysql> INSERT INTO belajar_date VALUES (CURDATE(), NOW());
2
Query OK, 1 row affected (0.03 sec)
3
4
mysql> SELECT * FROM belajar_date;
5 +------------+---------------------+
6 | dt | ts |
7 +------------+---------------------+
Fungsi CURDATE() akan menghasilkan nilai DATE yang ada di server dengan
format YYYY-MM-DD, sedangkan fungsi NOW() akan menghasilkan
nilai TIMESTAMP dengan format YYYY-MM-DD HH:MM:SS. Dalam query diatas, saya
menggunakan kedua fungsi ini untuk menginput data baru ke dalam
tabel belajar_date.
Dapat anda lihat bahwa kode diatas dijalankan pada tanggal 4 Agustus 2015 pukul
15:34:14, sesuai dengan sistem komputer yang saya gunakan (baris terakhir pada
tabel).
Fungsi-fungsi tanggal yang kita bahas kali ini cocok untuk menformat tampilan
kolom dengan tipe data DATE dan TIMESTAMP di dalam MySQL. Untuk hasil yang
lebih fleksibel, bisa menggunakan fungsi DATE_FORMAT() yang akan saya bahas
pada tutorial terpisah.