MySQL adalah sebuah perangkat lunak untuk manajemen database yang berlisensi open source yang berfungsi untuk menyimpan data. MySQL juga dapat menangani database client server.
MariaDB merupakan versi pengembangan terbuka dan mandiri dari MySQL. Sejak diakuisisinya MySQL oleh Oracle pada September 2010, Monty Program sebagai penulis awal kode sumber MySQL memisahkan diri dari pengembangan dan membuat versi yang lebih mandiri yakni MariaDB.
Perbedaan MySQL dan MariaDB
Perkembangan teknologi yang begitu cepat membuat berbagai bidang khususnya dalam dunia Database terus melakukan inovasi baru, membuat perangkat hadware maupun software yang handal. Setelah sekian lama MySQL bertengger diatas sebagai Database yang paling banyak digunakan khususnya untuk aplikasi berbasis Web. Kini pemakai Database MariaDB juga semakin banyak sehingga membuat Database ini semakin populer. Bahkan si raksasa Google telah mengganti mesinya dari MySQL ke MariaDB. Perbedaan mendasar MySQL dan MariaDB sebagai berikut :
- MariaDB memiliki kecepatan enggine lebih baik dibandingkan MySQL.
- MariaDB full free, sedangkan MySQL freemium (ada beberapa bagian fiture berbayar).
Perintah dasar MySQL dan MariaDB
Baik itu MySQL dan MariaDB memiliki kesamaan dalam perintah sqlnya, atau sama persis. Mari kita kenali perintah-perintah dasarnya yang wajib diketahui sebagai berikut :
Perintah akses shell mysql atau mariadb
mysql -u root -p
Perintah create user
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; FLUSH PRIVILEGES;
newuser diganti nama user yang sobat inginkan, password diganti dengan password sobat inginkan,
sebagai contoh : CREATE USER ‘opinikoe’@’localhost’ IDENTIFIED BY ‘seenaknyague’;
Perintah create dan Delete database
SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec) CREATE DATABASE database opinikoe; SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | opinikoe | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.00 sec) DROP DATABASE database opinikoe; SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
Perintah acces dan create table dari database yang sudah kita buat
USE opinikoe; CREATE TABLE opinikoe (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), food VARCHAR(30), confirmed CHAR(1), signup_date DATE); SHOW TABLES; +------------------+ | Tables_in_events | +------------------+ | opinikoe | +------------------+ 1 row in set (0.01 sec) DESCRIBE opinikoe; +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(20) | YES | | NULL | | | food | varchar(30) | YES | | NULL | | | confirmed | char(1) | YES | | NULL | | | signup_date | date | YES | | NULL | | +-------------+-------------+------+-----+---------+----------------+ 5 rows in set (0.01 sec)
Perintah insert data atau input data kedatabase
INSERT INTO `opinikoe` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "John", "Casserole","Y", '2015-12-10'); INSERT INTO `opinikoe` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Sandy", "Key Lime Tarts","N", '2015-12-10'); INSERT INTO `opinikoe` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tom", "BBQ","Y", '2015-12-10'); INSERT INTO `opinikoe` (`id`,`name`,`food`,`confirmed`,`signup_date`) VALUES (NULL, "Tina", "Salad","Y", '2015-12-10'); SELECT * FROM opinikoe; +----+-------+----------------+-----------+-------------+ | id | name | food | confirmed | signup_date | +----+-------+----------------+-----------+-------------+ | 1 | John | Casserole | Y | 2015-12-10 | | 2 | Sandy | Key Lime Tarts | N | 2015-12-10 | | 3 | Tom | BBQ | Y | 2015-12-10 | | 4 | Tina | Salad | Y | 2015-12-10 | +----+-------+----------------+-----------+-------------+ 4 rows in set (0.00 sec)
Perintah update data
UPDATE `opinikoe` SET `confirmed` = 'Y' WHERE `opinikoe`.`name` ='Sandy';
Perintah delete data
mysql> DELETE from opinikoe where name='Sandy'; Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM opinikoe; +----+-------+----------------+-----------+-------------+ | id | name | food | confirmed | signup_date | +----+-------+----------------+-----------+-------------+ | 1 | John | Casserole | Y | 2015-12-10 | | 2 | Tom | BBQ | Y | 2015-12-10 | | 3 | Tina | Salad | Y | 2015-12-10 | +----+-------+----------------+-----------+-------------+ 4 rows in set (0.00 sec)
Perintah tambah dan delete table
ALTER TABLE opinikoe ADD email VARCHAR(40) AFTER name; SELECT * FROM opinikoe; +----+-------+------+----------------+-----------+-------------+ | id | name | email| food | confirmed | signup_date | +----+-------+------+----------------+-----------+-------------+ | 1 | John | | Casserole | Y | 2015-12-10 | | 3 | Tom | | BBQ | Y | 2015-12-10 | | 4 | Tin | | Salad | Y | 2015-12-10 | +----+-------+------+----------------+-----------+-------------+ 3 rows in set (0.00 sec) ALTER TABLE opinikoe DROP email;
Perintah Lainnya
SELECT DISTINCT
Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table database.
SELECT DISTINCT [nama_kolom] FROM [nama_table]
WHERE CLAUSE
Digunakan untuk memfilter data berdasarkan clause yang dibutuhkan.
SELECT [nama_kolom] FROM [nama_table] WHERE column_name [operator_value]
ORDER BY
Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat mengubahnya menjadidescending (urut besar ke kecil) dengan menambahkan perintah DESC.
SELECT * FROM [nama_table] ORDER BY [nama_kolom] ASC/DESC
LIKE %%
Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu.
SELECT * FROM [nama_table] WHERE [nama_kolom] LIKE pattern
IN
Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah Where.
SELECT [nama_kolom] FROM [nama_table] WHERE [nama_kolom] IN (value1,value2, . . .)
BETWEEN
Digunakan untuk menentukan jangkauan pencarian.
SELECT [nama_kolom] FROM [nama_table] WHERE [nama_kolom] BETWEEN value1 AND value2
INSERT INTO
Digunakan untuk menambahkan data baru di tabel database.
INSERT INTO table_name VALUES (value1,value2,value3, . . .)
UPDATE
Digunakan untuk mengubah/memperbarui data di tabel database. Update selalu diikuti dengan where clause.
UPDATE table_name SET column1=value,column2=value, . . . WHERE some_column=some_value
DELETE
Digunakan untuk menghapus data di table database. Tambahkan perintah Where untuk memfilter data-data tertentu yang akan dihapus. Jika tanpa perintah Where, maka seluruh data dalam tabel akan terhapus.
DELETE FROM [nama_table] WHERE some_column=some_value
INNER JOIN
Digunakan untuk menghasilkan baris data dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match pada masing-masing tabel. Perintah ini sama dengan perintah join yang sering digunakan.
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2 column-name
LEFT JOIN
Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan datanya pada tabel kanan (nama tabel kedua).
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name=table_name2. column_name
RIGHT JOIN
Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada pasangan datanya pada tabel kiri (nama tabel pertama).
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name=table_name2 column_name
FULL JOIN
Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel.
SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2 column_name;
UNION
Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.
SELECT column_name(s)FROM table_name1 UNION column_name(s) FROM table_name2
ALTER TABLE
Digunakan untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah ada.
ALTAR TABLE table_name ADD column_name datatyoe
Now ()
Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)
Now()
EXTRACT()
Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan, hari, jam, menit, dan detik tertentu.
Parameter unit dapat berupa :
MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
Extract(unit FROM date)
Contoh
SELECT Extract (YEAR FROM tglorder( AS Th_Order, EXTRACT (MONTH FROM tglorder) AS Bulan_Order,EXTRACT (FAY FROM tglorder AS Hari_Order, FROM order WHERE
Date_Add() dan Date_Sub()
Fungsi Date_Add() digunakan unutk menambahkan interval waktu tertentu pada sebuah tanggal, sedangkan fungsi Date_Sub() digunakan untuk pengurangan sebuah tanggal dengan interval tertentu.
Tipe data parameter INTERVAL dapat berupa :
MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH
DATE_ADD (date,INTERVAL expr type) DATE_SUB (date,INTERVAL expr type)
Contoh
SELECT id,DATE_ADD (tglorder,INTERVAL 30 DAY) AS Waktu_pembayaran FROM order
DateDiff()
Digunakan untuk mendapatkan informasi waktu di antara 2 buah tanggal.
DATEIFF(date1,date2)
Contoh
SELECT DATEIFF(‘2010-06-30’,’2010-06-29’) AS Selisih_waktu
Date_Format()
Digunakan untuk menampilkan informasi jam dan tanggal dengan format tertentu.
Parameter format dapat berupa : %a, nama hari yang disingkat %b, nama bulan yang disingkat %c, bulan (numerik) %D hari dalam sebulan dengan format English %d, hari dalam sebulan (numerik 00-31) %e, hari dalam sebulan (numerik 0-31) %f, micro detik %H, jam (00-23) %h, jam (01-12) %I, jam (01-12) %i, menit (00-59) %j, hari dalam setahun (001-366) %k, jam (0-23) %l, jam (1-12) %M, nama bulan %m, bulan (numerik 00-12) %p, AM atau PM %r, waktu jam dalam format 12 jam (hh:mm:ss AM or PM) %S, detik (00-59) %s, detik (00-59) %T, waktu jam dalam format 24 jam (hh:mm:ss) %U, minggu (00-53) dimana Sunday sebagai hari pertama dalam seminggu %u, minggu (00-53) dimana Monday sebagai hari pertama dalam seminggu %W, nama hari kerja %w, hari dalam seminggu (0=Sunday, 6=Saturday) %X, tahun dalam seminggu dimana Sunday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %V %x, tahun dalam seminggu di mana Monday sebagai hari pertama dalam seminggu (4 digits) digunakan dengan %v %Y, tahun 4 digit %y, tahun 2 digit
DATE_FORMAT(date,format)
Contoh
DATA_FORMAT (NOW(),’%b %d %Y %h : %i %p’) DATE_FORMAT (NOW(),’%m-%d-%Y’) DATE_FORMAT (NOW(),’%d %b %Y’) DATE_FORMAT (NOW(),’%d %b %Y %T : %f’)
Demikian tutorial Perintah dasar MySQL dan MariaDB, untuk perintah yang lebih komplit sobat bisa baca pada manual disitus mysql dan mariadb. Jika ada pertanyaan mengenai artikel ini silahkan tinggalkan pesan dikolom komentar. Selamat mencoba…..
Sekarang saya jadi ngerti gan, makasih ya infonya.