Panduan Perintah MySQL: Dasar-dasar Pemula hingga Menengah, CRUD, Pengguna, Cadangan & Troubleshooting

目次

1. Pendahuluan

MySQL adalah sistem basis data relasional sumber terbuka yang banyak digunakan di antara sistem manajemen basis data (DBMS). MySQL terutama populer untuk aplikasi web dan sistem perusahaan. Pada artikel ini, kami akan menjelaskan perintah MySQL yang penting secara detail dan menyusun kontennya sehingga pengguna pemula hingga menengah dapat belajar dengan lancar.

1.1 Apa Itu MySQL?

MySQL adalah perangkat lunak yang digunakan untuk mengelola basis data relasional (RDB). Data disimpan dalam tabel, dan Anda memanipulasi data menggunakan SQL (Structured Query Language). MySQL memiliki karakteristik berikut:

  • Sumber terbuka dan gratis untuk siapa saja yang ingin menggunakannya
  • Kinerja cepat dan ringan
  • Kompatibel dengan banyak bahasa pemrograman (seperti PHP, Python, dan Java)
  • Cocok untuk mengoperasikan basis data berskala besar

1.2 Manfaat Mempelajari Perintah MySQL

Untuk menggunakan MySQL secara efisien, penting untuk memahami perintah dasar. Manfaat utama meliputi:

  • Manajemen data yang lebih efisien : Menguasai perintah SQL memungkinkan Anda mengambil, memperbarui, dan menghapus data dengan cepat
  • Otomatisasi alur kerja : Menggunakan skrip memungkinkan Anda mengotomatisasi operasi basis data
  • Penanganan kesalahan yang lebih lancar : Ketika masalah muncul, Anda dapat menyelesaikannya dengan perintah SQL yang tepat

1.3 Apa yang Akan Anda Pelajari dalam Artikel Ini

Artikel ini menjelaskan topik‑topik berikut secara detail:

  • Operasi dasar MySQL (memulai, menyambung, dan operasi basis data)
  • Menambah, mengambil, memperbarui, dan menghapus data (operasi CRUD)
  • Manajemen pengguna dan pengaturan hak istimewa
  • Perintah berguna dan pemecahan masalah

Selanjutnya, kami akan membahas setiap bagian secara berurutan. Mari kita mulai dengan operasi dasar MySQL.

2. Operasi Dasar MySQL (Ramah Pemula)

2.1 Memulai dan Menyambung ke MySQL

2.1.1 Memulai MySQL

Karena MySQL berjalan sebagai program server, Anda harus memulai server terlebih dahulu. Metode memulai berbeda tergantung pada sistem operasi.

Memulai di Linux / macOS

Di Linux dan macOS, Anda dapat memulai MySQL menggunakan perintah systemctl.

sudo systemctl start mysql

Periksa apakah MySQL sedang berjalan

sudo systemctl status mysql

Jika Anda melihat “active (running)”, MySQL berjalan dengan normal.

Memulai di Windows

Di Windows, MySQL biasanya dijalankan sebagai layanan, sehingga Anda dapat menggunakan perintah net start.

net start mysql

Atau, jika Anda menggunakan XAMPP, buka XAMPP Control Panel dan klik “Start” untuk “MySQL”.

2.1.2 Menyambung ke MySQL

Untuk menyambung ke MySQL, gunakan perintah mysql. Perintah sambungan dasar adalah sebagai berikut:

mysql -u username -p
Menyambung sebagai pengguna root

Secara default, pengguna root dikonfigurasi sebagai administrator. Anda dapat menyambung dengan perintah berikut:

mysql -u root -p

Setelah menekan Enter, Anda akan diminta memasukkan kata sandi. Jika Anda memasukkan kata sandi yang benar, Anda dapat masuk ke MySQL.

Menyambung ke host tertentu

Untuk menyambung ke server MySQL jarak jauh, gunakan opsi -h.

mysql -h hostname -u username -p

Sebagai contoh, untuk menyambung ke server MySQL di 192.168.1.100, tulis:

mysql -h 192.168.1.100 -u root -p
Menyambung dengan menentukan nomor port

Port MySQL default adalah 3306. Jika telah diubah, Anda dapat menentukan port dengan opsi -P.

mysql -h 192.168.1.100 -P 3307 -u root -p

2.2 Perintah Dasar MySQL

Setelah Anda terhubung ke MySQL, coba jalankan beberapa perintah dasar.

2.2.1 Memeriksa versi MySQL

Untuk memeriksa versi MySQL yang sedang Anda gunakan, jalankan perintah berikut:

SELECT VERSION();

2.2.2 Memeriksa basis data saat ini

Untuk memeriksa basis data mana yang sedang dipilih, jalankan:

SELECT DATABASE();

Jika tidak ada basis data yang dipilih, akan mengembalikan NULL.

2.2.3 Daftar basis data yang tersedia

Untuk menampilkan basis data yang ada di MySQL, gunakan:

SHOW DATABASES;

2.3 Kesalahan Umum dan Solusinya

2.3.1 Kesalahan “Access denied”

Contoh kesalahan:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Cara memperbaiki:
  1. Verifikasi bahwa kata sandi benar
  2. Periksa dan atur ulang hak istimewa root
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_PASSWORD';
    FLUSH PRIVILEGES;
    

2.3.2 “Tidak dapat terhubung ke server MySQL pada ‘localhost’” error

Contoh error:

ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061)
Cara memperbaiki:
  1. Periksa apakah MySQL sedang berjalan ( systemctl status mysql )
  2. Mulai ulang MySQL
    sudo systemctl restart mysql
    

2.4 Ringkasan

Pada bagian ini, kami menjelaskan cara memulai MySQL dan terhubung ke sana.

3. Operasi Basis Data

Di MySQL, Anda membuat basis data untuk mengelola data, dan kemudian mengatur informasi dengan menempatkan tabel di dalamnya. Pada bagian ini, kami akan menjelaskan operasi dasar seperti membuat, memilih, menampilkan, dan menghapus basis data secara detail.

3.1 Membuat Basis Data

Untuk membuat basis data di MySQL, gunakan perintah CREATE DATABASE.

3.1.1 Membuat basis data dasar

Jika Anda menjalankan perintah SQL berikut, Anda dapat membuat basis data baru bernama my_database.

CREATE DATABASE my_database;
Pesan ketika pembuatan berhasil
Query OK, 1 row affected (0.01 sec)

3.1.2 Saat Anda mencoba membuat basis data yang sudah ada

Jika basis data sudah ada, Anda akan melihat error seperti berikut:

ERROR 1007 (HY000): Can't create database 'my_database'; database exists

Untuk mencegah error ini, berguna menambahkan opsi IF NOT EXISTS.

CREATE DATABASE IF NOT EXISTS my_database;

Saat Anda menjalankan perintah ini, basis data hanya akan dibuat jika belum ada.

3.2 Menampilkan Basis Data

Untuk memeriksa basis data apa saja yang ada di server MySQL saat ini, gunakan perintah SHOW DATABASES.

SHOW DATABASES;

Contoh output:

+--------------------+
| Database          |
+--------------------+
| information_schema |
| my_database       |
| mysql             |
| performance_schema |
| sys               |
+--------------------+

Catatan: Basis data sistem seperti mysql dan information_schema diperlukan untuk administrasi MySQL.

3.3 Memilih Basis Data

Di MySQL, Anda harus memilih basis data yang ingin digunakan. Untuk menentukan basis data, jalankan perintah USE.

USE my_database;
Pesan ketika berhasil
Database changed

Untuk memastikan basis data mana yang sedang dipilih, gunakan perintah berikut:

SELECT DATABASE();

Contoh output:

+------------+
| DATABASE() |
+------------+
| my_database |
+------------+

3.4 Menghapus Basis Data

Untuk menghapus basis data yang tidak lagi Anda perlukan, gunakan perintah DROP DATABASE.

DROP DATABASE my_database;

3.4.1 Catatan penting sebelum penghapusan

  • Hati-hati: menghapus basis data akan menghilangkan semua data!
  • Untuk menghindari kesalahan tidak sengaja, Anda juga dapat menambahkan IF EXISTS.
    DROP DATABASE IF EXISTS my_database;
    

Perintah ini selesai tanpa error bahkan jika my_database tidak ada.

3.5 Error Umum dan Solusinya

3.5.1 Error “Access denied for user”

Contoh error:

ERROR 1044 (42000): Access denied for user 'user_name'@'localhost' to database 'my_database'
Cara memperbaiki
  • Berikan hak istimewa menggunakan perintah GRANT
    GRANT ALL PRIVILEGES ON my_database.* TO 'user_name'@'localhost';
    FLUSH PRIVILEGES;
    

3.5.2 Error “Can’t drop database”

Contoh error:

ERROR 1010 (HY000): Error dropping database (can't rmdir './my_database', errno: 39)
Cara memperbaiki
  • Mulai ulang MySQL
    sudo systemctl restart mysql
    
  • Hapus semua tabel dalam my_database terlebih dahulu, kemudian jalankan DROP DATABASE .

3.6 Ringkasan

Pada bagian ini, Anda belajar cara membuat, memilih, menampilkan, dan menghapus basis data.

4. Operasi Tabel

After creating a database, you need to create tables inside it to organize data. A table is like a grid for storing data, consisting of columns and rows (records).

In this section, we will explain basic operations such as creating, checking, listing, and deleting tables in detail.

4.1 Creating a Table

To create a table, use the CREATE TABLE command. If you run the following SQL, it creates a table named users.

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4.1.1 Explanation of each element when creating a table

  • id INT AUTO_INCREMENT PRIMARY KEY
  • Kolom id adalah integer (INT), secara otomatis bertambah (AUTO_INCREMENT), dan ditetapkan sebagai kunci utama (PRIMARY KEY).
  • name VARCHAR(50) NOT NULL
  • Kolom name adalah string (VARCHAR) hingga 50 karakter dan wajib karena NOT NULL.
  • email VARCHAR(100) UNIQUE NOT NULL
  • Kolom email adalah string hingga 100 karakter, dan constraint UNIQUE mencegah alamat email duplikat.
  • created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  • Kolom created_at secara otomatis mengatur tanggal/waktu saat ini sebagai nilai default.
Message when successful
Query OK, 0 rows affected (0.02 sec)

4.2 Checking Table Structure

To check the structure of a table you created, use DESC or SHOW COLUMNS.

DESC users;

Or

SHOW COLUMNS FROM users;

Example output:

+------------+--------------+------+-----+-------------------+----------------+
| Field      | Type         | Null | Key | Default           | Extra          |
+------------+--------------+------+-----+-------------------+----------------+
| id         | int(11)      | NO   | PRI | NULL              | auto_increment |
| name       | varchar(50)  | NO   |     | NULL              |                |
| email      | varchar(100) | NO   | UNI | NULL              |                |
| created_at | timestamp    | YES  |     | CURRENT_TIMESTAMP |                |
+------------+--------------+------+-----+-------------------+----------------+

4.3 Listing Tables

To list the tables that exist in the current database, run the SHOW TABLES command.

SHOW TABLES;

Example output:

+------------------+
| Tables_in_mydb   |
+------------------+
| users            |
| products         |
| orders           |
+------------------+

4.4 Deleting a Table

To delete a table you no longer need, use the DROP TABLE command.

DROP TABLE users;

4.4.1 Important notes when deleting a table

  • Be careful: deleting a table permanently removes the data!
  • Untuk menghindari kesalahan saat menghapus, tambahkan IF EXISTS.
    DROP TABLE IF EXISTS users;
    
Message when successful
Query OK, 0 rows affected (0.01 sec)

4.5 Resetting Table Data (Delete All Rows)

If you want to keep the table structure but delete only the data inside, use TRUNCATE TABLE.

TRUNCATE TABLE users;
Difference from DROP TABLE
  • DROP TABLE menghapus tabel itu sendiri.
  • TRUNCATE TABLE menghapus hanya data dan mempertahankan struktur tabel.

4.6 Common Errors and Fixes

4.6.1 “Table already exists” error

Example error:

ERROR 1050 (42S01): Table 'users' already exists
How to fix
  • Check existing tables
    SHOW TABLES;
    
  • Create the table with IF NOT EXISTS
    CREATE TABLE IF NOT EXISTS users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(50) NOT NULL,
        email VARCHAR(100) UNIQUE NOT NULL,
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );
    

4.6.2 “Unknown table” error

Example error:

ERROR 1051 (42S02): Unknown table 'users'
How to fix
  • Periksa apakah tabel ada menggunakan SHOW TABLES;
  • Jika tidak ada, tambahkan IF EXISTS
    DROP TABLE IF EXISTS users;
    

4.7 Ringkasan

Pada bagian ini, kami membahas operasi dasar tabel MySQL: membuat, memeriksa, dan menghapus tabel.