Perintah dasar MySQL dan MariaDB

Perintah dasar MySQL dan MariaDB

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…..

1 thought on “Perintah dasar MySQL dan MariaDB”

Leave a Comment