Perintah Administrasi Basis Data Dasar MySQL - Bagian I


Database adalah kumpulan data terstruktur yang disimpan secara elektronik. Konsep database sudah diketahui nenek moyang kita bahkan ketika komputer belum ada, namun membuat dan memelihara database seperti itu adalah pekerjaan yang sangat membosankan. Dalam database manual katakanlah 100 halaman, jika Anda harus mencari semua karyawan yang gajinya kurang dari 10k, bayangkan betapa sulitnya hal itu, lalu .

Di dunia sekarang ini Anda tidak bisa lepas dari Database. Saat ini jutaan database bekerja di seluruh dunia untuk menyimpan dan mengambil segala jenis data baik itu data strategis, catatan karyawan, atau teknologi web.

Basis data sering disebut sebagai proses back-end karena tidak terlihat oleh pengguna akhir atau Pengguna Akhir berinteraksi langsung dengan basis data. Mereka bekerja pada proses front-end yaitu, PHP, VB, ASP.NET, dll. dan meminta front end untuk menangani database di bagian belakang.

Ada beberapa server database dan klien yang tersedia seperti Oracle, MySQL, MySQLi, MariaDB, MongoDB dll. Sintaks dari semua ini lebih atau kurang sama. Menguasainya berarti mendapatkan kendali atas sebagian besar darinya dan mempelajari kueri database sangatlah mudah dan menyenangkan.

Mari kita mulai dengan pertanyaan sederhana tentang database. Kami akan menggunakan MySQL yang disertakan dengan sebagian besar distribusi Linux secara default, Anda dapat menginstalnya secara manual dari repositori, jika tidak diinstal secara default dalam kasus Anda.

Kueri basis data adalah sepotong kode sederhana yang dikirim ke basis data untuk mendapatkan hasil yang disesuaikan dan disempurnakan, sesuai kebutuhan.

Instal Basis Data MySQL

Gunakan pengelola paket “yum” atau “apt” untuk menginstal Basis Data MySQL.

yum install mysql mysql-client mysql-server  (on Yum based Systems)

apt-get install mysql mysql-client mysql-server (on Apt based Systems)
Mulai MySQL

Mulai layanan basis data MySQL sebagai:

service mysqld start
or
service mysql start

Menginstal database MySQL dengan baik akan membawa Anda ke konfigurasi di mana Anda diminta untuk mengatur kata sandi admin, dll. Setelah selesai menginstal dan memulai server, buka MySQL Anda cepat.

mysql -u root -p

Ganti root dengan nama pengguna Anda yang telah dikonfigurasi dan masukkan kata sandi saat diminta, jika kredensial login benar, Anda akan berada di MySQL< prompt dalam sekejap mata Anda.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 195 

Server version: 5.5.31-0+wheezy1 (Debian) 

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 
Other names may be trademarks of their respective owners. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Sekarang melakukan pertanyaan pada prompt ini sangat mendidik dan menyenangkan.

Buat tecmint basis data
mysql> create database tecmint ;
Query OK, 1 row affected (0.02 sec) 

mysql>

Catatan: Ini melaporkan bahwa kueri benar, berarti database telah dibuat. Anda dapat memverifikasi database yang baru Anda buat sebagai.

mysql> show databases; 
+--------------------+
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
9 rows in set (0.00 sec) 
mysql>

Catatan: Perhatikan database Anda pada keluaran di atas.

Pilih Basis Data

Sekarang Anda perlu memilih database untuk mengerjakannya.

mysql> use tecmint;
Database changed
mysql>
Buat Tabel di MySQL

Di sini kita akan membuat tabel bernama “minttec” dengan tiga bidang sebagai:

mysql> CREATE TABLE minttec (
    -> id Int(3), 
    -> first_name Varchar (15), 
    -> email Varchar(20) 
    -> ); 
Query OK, 0 rows affected (0.08 sec) 
mysql>

Catatan: Kueri di atas menyatakan OK yang berarti tabel dibuat tanpa kesalahan apa pun. Untuk memverifikasi tabel, jalankan kueri di bawah ini.

mysql> show tables; 
+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| minttec           | 
+-------------------+ 

1 row in set (0.00 sec) 

mysql>

Segalanya berjalan baik-baik saja sampai sekarang. Ya! Anda dapat melihat kolom yang Anda buat di tabel “minttec” sebagai:

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec)

mysql>

Itu tidak lain adalah sebuah keajaiban. Pokoknya saya akan bercerita tentang jenis-jenis deklarasi dan artinya.

  1. Int adalah bilangan bulat
  2. Varchar adalah char yang memiliki panjang variabel seperti yang ditentukan. Nilai setelah Type adalah panjang bidang yang dapat menyimpan data.

Oke sekarang kita perlu menambahkan kolom 'nama_belakang' setelah kolom 'nama_depan'.

mysql> ALTER TABLE minttec ADD last_name varchar (20) AFTER first_name; 
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

Sekarang, verifikasi di tabel Anda.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+ 
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+ 

4 rows in set (0.00 sec) 

mysql>
Tambahkan Kolom di MySQL

Sekarang kita akan menambahkan kolom di sebelah kanan, katakanlah kolom 'negara' di sebelah kanan email.

mysql> ALTER TABLE minttec ADD country varchar (15) AFTER email; 
Query OK, 0 rows affected (0.16 sec) 
Records: 0  Duplicates: 0  Warnings: 0 

mysql>

Verifikasi permintaan penyisipan kolom di atas.

mysql> show columns from minttec; 

+------------+-------------+------+-----+---------+-------+ 
| Field      | Type        | Null | Key | Default | Extra | 
+------------+-------------+------+-----+---------+-------+
| id         | int(3)      | YES  |     | NULL    |       | 
| first_name | varchar(15) | YES  |     | NULL    |       | 
| last_name  | varchar(20) | YES  |     | NULL    |       | 
| email      | varchar(20) | YES  |     | NULL    |       | 
| country    | varchar(15) | YES  |     | NULL    |       | 
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec) 

mysql>
Masukkan Nilai di Bidang

Bagaimana dengan memasukkan nilai ke bidang?

mysql> INSERT INTO minttec VALUES ('1' , 'Ravi' , 'Saive' , '[email ' , 'India' );
Query OK, 1 row affected (0.02 sec) 

mysql>

Bagaimana kalau memasukkan lebih dari 1 nilai sekaligus pada tabel di atas.

mysql> INSERT INTO minttec VALUES ('2' , 'Narad' , 'Shrestha' , '[email ' , 'India' ), ('3' , 'user' , 'singh' , '[email ' , 'Aus' ), ('4' , 'tecmint' , '[dot]com' , '[email ' , 'India' );
Query OK, 3 rows affected (0.05 sec) 
Records: 3  Duplicates: 0  Warnings: 0

Verifikasi penyisipan di atas.

mysql> select * from minttec; 
+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+ 
|    1 | Ravi	    | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    3 | user       | singh     | [email       | Aus     | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+ 

4 rows in set (0.00 sec)

mysql>
Hapus Nilai di Bidang

Katakanlah entri ketiga pada keluaran di atas tidak valid dan kita perlu menghapus entri ketiga.

mysql> DELETE FROM minttec WHERE id = 3;

Query OK, 1 row affected (0.02 sec)

Verifikasi operasi di atas.

mysql> select * from minttec;

+------+------------+-----------+-------------------+---------+ 
| id   | first_name | last_name | email             | country | 
+------+------------+-----------+-------------------+---------+
|    1 | Ravi       | Saive     | [email  | India   | 
|    2 | Narad      | Shrestha  | [email      | India   | 
|    4 | tecmint    | [dot]com  | [email  | India   | 
+------+------------+-----------+-------------------+---------+
3 rows in set (0.00 sec)
Perbarui Nilai di Bidang

Id (=4) perlu diedit.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Verifikasi pertanyaan di atas.

mysql> UPDATE minttec SET id = 3 WHERE first_name = 'tecmint'; 
Query OK, 1 row affected (0.02 sec) 
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Catatan: Kueri di atas, seperti yang dilakukan, bukanlah ide yang baik. Ini akan mengubah id menjadi '4' jika nama depannya adalah 'tecmint'. Itu selalu merupakan ide yang baik untuk menggunakan lebih dari satu kolom dengan klausa Where untuk mendapatkan kesalahan minimal, seperti:

mysql> UPDATE minttec SET id = 6 WHERE first_name = 'tecmint'AND last_name = '[dot]com'; 
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>
Hapus Kolom di MySQL

Misalkan kita perlu menghapus (menghapus) kolom yang menurut kita tidak penting, ucapkan 'negara' di sini.

mysql> ALTER TABLE minttec drop country; 
Query OK, 3 rows affected (0.15 sec)
Records: 3  Duplicates: 0  Warnings: 0

mysql>

Verifikasi tabelnya.

mysql> select * from minttec; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+
3 rows in set (0.00 sec) 

mysql>
Ganti Nama Tabel di MySQL

Tidakkah menurut Anda nama tabel kami “minttec” tidak terlalu relevan. Bagaimana kalau mengubahnya menjadi tecmint_table.

mysql> RENAME TABLE minttec TO tecmint_table; 
Query OK, 0 rows affected (0.03 sec)

mysql>
Daftar semua Tabel

Lihat semua tabel di bawah database saat ini.

mysql> show tables; 

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+
1 row in set (0.00 sec) 

mysql>

Tabel telah diubah namanya. Sekarang ambil cadangan database MySQL di atas, dalam satu baris perintah tanpa alat canggih apa pun. Jalankan kode di bawah ini di terminal Anda dan bukan di prompt mysql.

mysqldump -u root -p tecmint > tecmint.sql

check the dumped file on your desktop which would have contents something like
-- MySQL dump 10.13  Distrib 5.5.31, for debian-linux-gnu (i686) --
-- Server version 5.5.31-0+wheezy1 -- 
Dump completed on 2013-09-02 12:55:37

Itu selalu merupakan ide yang baik untuk memelihara Cadangan database MySQL. Memulihkan Data MySQL yang dicadangkan juga merupakan baris kode sederhana yang perlu Anda jalankan pada prompt terminal dan bukan pada prompt mysql Anda.

Tapi, tunggu dulu kami akan menghapus database untuk memverifikasi apakah pemulihan kami sudah sempurna.

Hapus Basis Data
mysql> drop database tecmint; 
Query OK, 1 row affected (0.02 sec)

Periksa database 'tecmint' di server database Anda.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| my_database        | 
| mysql              | 
| performance_schema | 
| phpmyadmin         | 
| sisso              | 
| test               | 
+--------------------+

7 rows in set (0.00 sec) 
mysql>

Besar! Basis datanya hilang, tapi kami tidak perlu khawatir, kami punya cadangannya.

Pulihkan Basis Data

Untuk memulihkan database yang hilang, jalankan perintah berikut.

mysql -u root -p tecmint < tecmint.sql
Enter password:
ERROR 1049 (42000): Unknown database 'tecmint'

OOPS! Terjadi error, hei kami belum membuat database tecmint. Jadi buka prompt mysql Anda dan buat database 'tecmint'.

mysql> create database tecmint; 
Query OK, 1 row affected (0.00 sec) 

mysql>

Sekarang saatnya menjalankan perintah pemulihan pada prompt shell Anda (secara ketat).

mysql -u root -p tecmint < tecmint.sql 
Enter password:

Verifikasi basis data Anda.

mysql> show databases; 

+--------------------+ 
| Database           | 
+--------------------+ 
| information_schema | 
| mysql              | 
| performance_schema | 
| tecmint            | 
| test               | 
+--------------------+ 
8 rows in set (0.00 sec)

Verifikasi isi database.

mysql> show tables from tecmint;

+-------------------+ 
| Tables_in_tecmint | 
+-------------------+ 
| tecmint_table     | 
+-------------------+ 
1 row in set (0.00 sec)

mysql>

Verifikasi konten tabel Anda yang dipulihkan.

mysql> select * from tecmint_table; 

+------+------------+-----------+-------------------+ 
| id   | first_name | last_name | email             | 
+------+------------+-----------+-------------------+ 
|    1 | Ravi       | Saive     | [email  | 
|    2 | Narad      | Shrestha  | [email      | 
|    6 | tecmint    | [dot]com  | [email  | 
+------+------------+-----------+-------------------+

3 rows in set (0.00 sec)

Tentu saja ini bukan akhir, kita akan membahas konsep kunci utama, kunci asing, beberapa tabel dan kueri yang berjalan menggunakan skrip PHP sederhana di bagian artikel selanjutnya.

Jangan lupa beri tahu kami bagaimana perasaan Anda saat membaca artikel ini. Komentar Anda sangat dihargai. Tetap Sehat dan Terjaga, tetap terhubung dengan Tecmint.