KATA KUNCI MySQL (keywords)
Catatan:
Daftar kata kunci (keywords) MySQL dibawah ini dkhususkan untuk keperluan Analisa atau Manajemen Database secara umum. Untuk itu daftar kata kunci berikut mungkin tidak cukup lengkap bagi kalian yang mau belajar soal penggunaan SQL dalam pembuatan database dengan bahasa pemrograman seperti PHP dalam pembuatan website atau semacamnya.
Sebagian dari Kata Kunci (keywords) dibawah ini hanya berlaku untuk database dalam MySQL (dan mungkin tidak berlaku dalam database lainnya seperti PostgreSQL atau Oracle).
🔤 Data Manipulation Language (DML)
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
SELECT
Query
Reserved
Pilih kolom mana saja yang mau kamu intip
FROM
Query
Reserved
Kasih tahu dari tabel mana datanya diambil
WHERE
Query
Reserved
Kasih filter atau syarat tertentu dari tabel yang mau ditampilkan
AS
Query
Reserved
Kasih nama alias/samaran biar kolomnya lebih enak dibaca
DISTINCT
Query (SQL standard)
Reserved
Buang data yang duplikat, ambil yang unik saja.
DISTINCTROW
Query (MySQL only)
Reserved
Buang data yang duplikat, ambil yang unik saja. Mirip dengan DISTINCT, tapi ini khusus ada di MySQL.
LIMIT
Query
Reserved
Batasi jumlah baris data yang mau ditampilkan.
OFFSET
Query
Non-Reserved
Loncat atau lewati beberapa baris data sebelum mulai menampilkan hasil.
UNION
Query
Reserved
Gabungkan hasil dua query jadi satu daftar ke bawah.
INTERSECT
Query
Reserved
Ambil data yang ada di kedua tabel.
EXCEPT
Query
Reserved
Ambil data di tabel A yang tidak ada di tabel B.
INSERT
Modification
Reserved
Masukkan data baru ke dalam tabel.
UPDATE
Modification
Reserved
Edit atau perbarui data yang sudah ada.
DELETE
Modification
Reserved
Hapus data dari tabel.
REPLACE
Modification
Non-Reserved
Kalau data sudah ada ditimpa, kalau belum ada dimasukkan baru.
VALUES
Modification (SQL standard)
Reserved
Isi data yang mau dimasukkan saat INSERT.
VALUE
Modification (MySQL only)
Non-Reserved
Isi data yang mau dimasukkan saat INSERT, biasanya untuk satu baris saja.
LOW_PRIORITY
Modification
Reserved
Atur antrean eksekusi supaya ditaruh paling belakang.
HIGH_PRIORITY
Modification
Reserved
Atur antrean eksekusi supaya didahulukan.
IGNORE
Modification
Reserved
Kalau ada error saat proses, lanjut ke data berikutnya.
LOAD
Load
Reserved
Perintah untuk impor data dari file luar ke tabel.
DATA
Load
Reserved
Dipakai bersama LOAD untuk impor data dari file luar ke tabel.
INFILE
Load
Reserved
Impor data dari file luar yang ada di server yang sama dengan MySQL.
LOCAL
Load
Reserved
Impor data dari file luar yang ada di komputer lokal.
🧩 Data Definition Language (DDL)
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
CREATE
Database
Reserved
Bikin database atau tabel baru dari nol
DROP
Database
Reserved
Hapus database atau tabel selamanya (hati-hati dengan perintah ini!)
ALTER
Database
Reserved
Ubah struktur tabel yang sudah jadi (misal: nambah kolom)
DATABASE
Database
Reserved
Database tunggal yang akan di edit atau dimanipulasi
DATABASES
Database
Reserved
Melihat semua database yang ada di dalam server
SCHEMA
Database
Reserved
Nama lain dari Database. Fungsinya sama persis dengan DATABASE
SCHEMAS
Database
Reserved
Nama lain dari Databases. Fungsinya sama persis dengan DATABASES
TABLE
Table
Reserved
Membuat, mengubah, menghapus, atau mengosongkan struktur tabel
TABLES
Table
Reserved
Melihat daftar tabel yang ada di dalam database
TEMPORARY
Table
Reserved
Tabel sementara yang bakal hilang kalau koneksi putus
TRUNCATE
Table
Not-Reserved
Kosongkan semua isi tabel tapi strukturnya tetap ada
RENAME
Table
Not-Reserved
Ganti nama tabel atau kolom
ENGINE
Table
Not-Reserved
Pilih "mesin" penyimpanan (biasanya InnoDB)
INDEX
Index/Key
Reserved
Memberikan Indeks ke dalam tabel agar memudahkan dan mempercepat pencarian
KEY
Index/Key
Reserved
Keyword yang fungsinya sama persis seperti INDEX
KEYS
Index/Key
Reserved
Melihat daftar indeks yang sudah ada di dalam suatu tabel
PRIMARY
Index/Key
Reserved
Kunci utama, data di kolom ini nggak boleh ada yang sama
UNIQUE
Index/Key
Reserved
Memastikan isi kolom nggak ada yang kembar
CONSTRAINT
Index/Key
Reserved
Aturan main atau batasan untuk isi kolom
FOREIGN
Index/Key
Reserved
Kolom yang punya kunci tamu - Foreign Key (data yang isinya mirip dengan tabel lain), buat hubungin satu tabel dengan tabel lain
REFERENCES
Index/Key
Reserved
Nunjuk ke tabel mana kunci tamu (Foreign Key) itu berasal
FULLTEXT
Index/Key
Reserved
Fitur cari kata di dalam teks panjang dengan lebih pintar
SPATIAL
Index/Key
Reserved
Buat simpan data koordinat atau peta
ADD
Columns
Reserved
Tambah kolom baru ke tabel yang sudah ada
COLUMN
Columns
Reserved
Merujuk ke kolom dalam tabel
MODIFY
Columns
Non-Reserved
Mengubah tipe data atau sifat kolom (seperti ukurannya atau status NULL-nya), tapi tidak ingin mengganti namanya
CHANGE
Columns
Reserved
Ganti nama kolom sekaligus tipe datanya
FIRST
Columns
Non-Reserved
Atur posisi kolom mau ditaruh di paling depan atau setelah kolom mana
DEFAULT
Columns
Reserved
Kasih nilai otomatis kalau user nggak ngisi datanya
AUTO_INCREMENT
Columns
Non-Reserved
Biar angka ID nambah sendiri otomatis (+1, +2, dst)
COMMENT
Columns
Non-Reserved
Kasih catatan atau penjelasan singkat buat kolom/tabel
🔀 Operator
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
AND
Logic
Reserved
Mengevaluasi pernyataan logika yang artinya "DAN". Harus semua pernyataan benar baru hasilnya "TRUE" (Benar)
OR
Logic
Reserved
Mengevaluasi pernyataan logika yang artinya "ATAU". Cukup salah satu atau dua pernyataan benar agar hasilnya "TRUE" (Benar)
NOT
Logic
Reserved
Mengevaluasi pernyataan logika yang artinya "BUKAN". Hasilnya menjadi "TRUE" jika pernyataan berbanding terbalik.
XOR
Logic
Reserved
Mengevaluasi pernyataan logika yang artinya "ATAU". Hanya boleh salah satu pernyataan benar agar hasilnya "TRUE" (Benar)
BETWEEN
Logic
Reserved
Mengevaluasi pernyataan logika yang artinya "DIANTARA". Hasil pernyataannya "TRUE" (Benar) jika berada diantara rentang angka atau tanggal
IS
Logic
Reserved
Mengevaluasi keberadaan data seperti NULL atau tidak
LIKE
Logic
Reserved
Mencari kemiripan teks (menggunakan "%" sebagai wildcard nya
REGEXP
Logic
Reserved
Cari data pakai pola yang lebih kompleks (Regular Expression)
RLIKE
Logic
Reserved
Mirip dengan LIKE, namun bisa mencarai pola yang lebih kompleks seperti REGEXP
🔃 Sort / Group
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
ORDER
Sort
Reserved
Urutin data (dari yang terkecil atau terbaru)
GROUP
Group
Reserved
Kelompokkan data yang sama (misal: hitung jumlah per kategori)
BY
Sort/Group
Reserved
Digunakan bersama dengan ORDER atau GROUP
ASC
Sort/Group
Reserved
Urutin dari bawah ke atas (A-Z)
DESC
Sort/Group
Reserved
Urutin dari atas ke bawah (Z-A)
HAVING
Sort
Reserved
Seperti WHERE, tapi khusus buat hasil yang sudah di-GROUP BY
WITH
Group
Reserved
Memungkinkan kamu membuat "tabel sementara" yang hanya hidup selama query itu berjalan (Common Table Expression)
ROLLUP
Group
Not-Reserved
Membuat subtotal dan total keseluruhan secara otomatis
CUBE
Group
Not-Reserved
Belum bisa digunakan di MySQL hingga versi MySQL 8.4
🔗 Joins
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
JOIN
Lookup
Reserved
Gabungin dua tabel atau lebih (seperti Lookup untuk pencarian data dari tabel yang berbeda tapi punya kata kunci yang mirip)
INNER
Lookup
Reserved
Digunakan bersama JOIN, untuk mencari data yang hanya muncul di kedua tabel
OUTER
Lookup
Reserved
Digunakan bersama JOIN, untuk mencari data yang semuanya ada di kedua tabel yang digabungkan
LEFT
Lookup
Reserved
Digunakan bersama JOIN, untuk mencari data yang ada di tabel pertama (sebelah kiri), apabila data tidak ditemukan hasilnya "Null"
RIGHT
Lookup
Reserved
Digunakan bersama JOIN, untuk mencari data yang ada di tabel kedua (sebelah kanan), apabila data tidak ditemukan hasilnya "Null"
CROSS
Lookup
Reserved
Membuat semua kemungkinan kombinasi dari dua tabel tanpa melihat apakah mereka punya hubungan atau tidak
ON
Lookup
Reserved
Dijalankan bersama JOIN dan menjadi syarat kolom mana yang jadi jembatan buat gabungin tabel
USING
Lookup
Reserved
Mirip dengan ON. Dijalankan bersama JOIN dan menjadi syarat kolom mana yang jadi jembatan buat gabungin tabel tapi tanpa perlu menyebutkannya untuk semua tabel jika namanya sama
STRAIGHT_JOIN
Lookup
Reserved
Paksa MySQL gabungin tabel sesuai urutan yang kita tulis
NATURAL
Lookup
Reserved
Gabungin tabel secara otomatis berdasarkan nama kolom yang sama
🔣 Data Types
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
TINYINT
Numeric
Non-Reserved
Bisa menyimpan angka dari -128 sampai 127. Kalau positif saja dari 0 sampai dengan 255
SMALLINT
Numeric
Non-Reserved
Bisa menyimpan angka dari -32.768 sampai 32.767. Kalau positif saja dari 0 sampai dengan 65.535
MEDIUMINT
Numeric
Non-Reserved
Bisa menyimpan angka dari -8.388.608 sampai 8.388.607. Kalau positif saja dari 0 sampai 16.777.215
INT
Numeric
Reserved
Menyimpan bilangan bulat dari -2.147.483.648 sampai 2.147.483.647. Kalau positif saja dari 0 sampai 4.294.967.295
INTEGER
Numeric
Reserved
Sama persis dengan INT
BIGINT
Numeric
Reserved
Menyimpan bilangan bulat dari -9.223.372.036.854.775.808 sampai 9.223.372.036.854.775.807. Kalau positif saja dari 0 sampai 18.446.744.073.709.551.615
FLOAT
Numeric
Reserved
Menyimpan data angka dengan desimal. Menggunakan 4 Byte. Akurat sampai sekitar 7 digit di belakang koma
DOUBLE
Numeric
Reserved
Menyimpan data angka dengan desimal. Menggunakan 8 Byte. Akurat sampai sekitar 15 digit di belakang koma
DECIMAL
Numeric
Reserved
Sama persis dengan DEC
DEC
Numeric
Reserved
Menyimpan angka desimal sebagai nilai pasti. Beda dengan Float atau Double yang bisa jadi angka estimasi pembulatan terdekat
NUMERIC
Numeric
Non-Reserved
Sama persis dengan DEC. (digunakan di berbagai jenis database seperti PostgreSQL, Oracle dan lainnya)
BIT
Numeric
Non-Reserved
Menyimpan data dalam bentuk biner (0 dan 1)
CHAR
String
Reserved
Teks pendek atau panjang yang ukurannya tetap
VARCHAR
String
Reserved
Teks pendek atau panjang yang ukurannya bisa berubah
BINARY
String
Reserved
Menyimpan data biner dengan panjang yang tetap
VARBINARY
String
Reserved
Menyimpan data biner dengan panjang yang fleksibel sesuai isi datanya
TINYTEXT
String
Non-Reserved
Menyimpan data teks dengan batas maksimal 255 karakter (atau tepatnya 255 byte)
TEXT
String
Non-Reserved
Menyimpan data teks dengan batas maksimal 65.535 karakter
MEDIUMTEXT
String
Non-Reserved
Menyimpan data teks dengan batas maksimal 16.777.215 karakter
LONGTEXT
String
Non-Reserved
Menyimpan data teks dengan batas maksimal 4.294.967.295 karakter
ENUM
String
Non-Reserved
Singkatan dari Enumeration digunakan untuk kolom yang isinya sudah pasti dan pilihannya terbatas (seperti Data Validation)
SET
String
Non-Reserved
1) Mengubah isi data yang sudah ada di tabel
2) Mengatur konfigurasi database atau menyimpan nilai sementara di memori
3) Menentukan tipe data (Data Type) secara sekaligus
2) Mengatur konfigurasi database atau menyimpan nilai sementara di memori
3) Menentukan tipe data (Data Type) secara sekaligus
DATE
Date/Time
Non-Reserved
1) Tipe Data tanggal
2) Mengambil bagian tanggal dari informasi Tanggal (Date) dan Waktu (Time) yang biasanya tergabung dalam satu field
2) Mengambil bagian tanggal dari informasi Tanggal (Date) dan Waktu (Time) yang biasanya tergabung dalam satu field
DATETIME
Date/Time
Non-Reserved
Tipe data yang menyimpan kombinasi tanggal dan waktu sekaligus
TIMESTAMP
Date/Time
Non-Reserved
Mengubah waktu lokalmu menjadi UTC (waktu standar dunia) sebelum disimpan
TIME
Date/Time
Non-Reserved
1) Tipe Data waktu
2) Mengambil bagian waktu dari informasi Tanggal (Date) dan Waktu (Time) yang biasanya tergabung dalam satu field
2) Mengambil bagian waktu dari informasi Tanggal (Date) dan Waktu (Time) yang biasanya tergabung dalam satu field
YEAR
Date/Time
Non-Reserved
Tipe Data untuk Tahun (4 digit)
BLOB
Special
Reserved
Menyimpan data teks dalam bentuk biner dengan batas maksimal 65.535 karakter
JSON
Special
Non-Reserved
Simpan data dalam format teks JSON
GEOMETRY
Special
Non-Reserved
Tipe data generik yang bisa menyimpan jenis bentuk geografis apa pun
POINT
Special
Non-Reserved
tipe data yang hanya bisa menyimpan satu titik koordinat tunggal (X dan Y)
LINESTRING
Special
Non-Reserved
Tipe data yang menyimpan sekumpulan titik (POINT) yang terhubung secara berurutan sehingga membentuk sebuah garis
POLYGON
Special
Non-Reserved
tipe data yang menyimpan sekumpulan titik yang membentuk sebuah bidang tertutup. Titik terakhir harus kembali ke titik pertama
🔐 Admin & Security
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
GRANT
Permission
Reserved
Kasih izin akses untuk user tertentu ke database
REVOKE
Permission
Reserved
Cabut izin akses untuk user tertentu ke database
PRIVILEGES
Permission
Non-Reserved
Hak-hak khusus yang boleh dilakukan user tertentu
USER
Permission
Non-Reserved
Identitas buat login ke database
IDENTIFIED
Permission
Non-Reserved
Menetapkan atau mengubah password seorang user
PASSWORD
Permission
Non-Reserved
Password untuk Identitas buat login ke database (cara lama untuk mengenkripsi teks password secara manual)
SHOW
Maintenance
Reserved
Melihat struktur dan informasi metadata dari database itu sendiri
DESCRIBE
Maintenance
Reserved
Melihat "detail spesifikasi" dari satu tabel tertentu
EXPLAIN
Maintenance
Reserved
Melihat rencana kerja (Execution Plan) MySQL sebelum menjalankan sebuah query
USE
Maintenance
Reserved
Pilih database mana yang mau kamu pakai sekarang
FLUSH
Maintenance
Non-Reserved
Refresh atau bersihkan cache sistem
ANALYZE
Maintenance
Reserved
Memperbarui statistik tabel setelah biasanya kamu melakukan perubahan besar
CHECK
Maintenance
Reserved
Memastikan data yang masuk ke database harus memenuhi syarat tertentu, kalau tidak sesuai, MySQL akan menolak data tersebut
OPTIMIZE
Maintenance
Reserved
Menyusun ulang baris-baris data agar berurutan secara fisik (misal setelah banyak baris dihapus). Bisa juga membangun ulang indeks agar pencarian kembali cepat
REPAIR
Maintenance
Non-Reserved
Mencoba menyusun ulang indeks yang rusak dan menyelamatkan data yang masih bisa dibaca
STATUS
System
Non-Reserved
1) Mengecek kesehatan server secara keseluruhan
2) Melihat detail tabel
2) Melihat detail tabel
VARIABLES
System
Non-Reserved
Memberi tahu kita bagaimana server dikonfigurasi (aturan)
PROCESSLIST
System
Non-Reserved
Mengintip siapa saja yang sedang melakukan apa di dalam database kamu saat ini
KILL
System
Reserved
Paksa matiin proses atau koneksi yang lagi jalan
GLOBAL
System
Non-Reserved
Memberi tahu MySQL bahwa perubahan atau perintah yang kamu berikan berlaku untuk seluruh server dan semua user, bukan hanya untuk koneksi kamu saat ini.
SESSION
System
Non-Reserved
Mengubah konfigurasi MySQL yang hanya berlaku bagi koneksi kamu saat ini.
🎛️ Control Flow
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
BEGIN
Blocks
Non-Reserved
Tanda awal dari sekumpulan perintah
END
Blocks
Non-Reserved
Tanda akhir dari sekumpulan perintah
DECLARE
Blocks
Reserved
Membuat variabel baru
CALL
Blocks
Reserved
Panggil prosedur yang sudah disimpan
IF
Logic
Reserved
Logika kondisi di dalam Stored Procedure, Function, atau Trigger. Kamu tidak bisa menggunakan ini di dalam query SELECT biasa
THEN
Logic
Reserved
Penentu kondisi hasil dari hasil atas logika di WHEN atau IF jika benar
ELSE
Logic
Reserved
Penentu kondisi hasil dari hasil atas logika di WHEN atau IF jika SALAH
ELSEIF
Logic
Reserved
Penentu kondisi hasil dari hasil atas logika di WHEN atau IF jika SALAH dan ada Kondisi lainnya
CASE
Logic
Reserved
Mengelompokan data dari suatu kolom atau lebih ke dalam beberapa kategori
WHEN
Logic
Reserved
Menentukan Logika dalam penentuan kondisi keyword CASE
LOOP
Loop
Reserved
Digunakan bersama WHILE ketika kamu ingin menjalankan perintah yang sama berulang kali sampai sebuah kondisi terpenuhi
WHILE
Loop
Reserved
Digunakan bersama LOOP ketika kamu ingin menjalankan perintah yang sama berulang kali sampai sebuah kondisi terpenuhi
REPEAT
Loop
Reserved
Pengulangan kondisi sampai proses yang ditentukan oleh UNTIL selesai
LEAVE
Loop
Reserved
LOOP tidak memiliki kondisi berhenti otomatis, kamu wajib menggunakan LEAVE agar tidak terjadi infinite loop (perulangan selamanya yang bisa membuat server crash)
ITERATE
Loop
Reserved
Skip perintah di bawahnya dan langsung lanjut ke putaran berikutnya.
UNTIL
Loop
Non-Reserved
Menentukan jumlah kondisi yang perlu diulang oleh REPEAT
CONTINUE
Handler
Reserved
Sama dengan ITERATE
EXIT
Handler
Reserved
Sama dengan LEAVE
CONDITION
Handler
Reserved
Memberi "nama" atau "alias" pada suatu kode kesalahan (error code). Tujuannya agar kode kamu lebih mudah dibaca daripada harus menghafal angka-angka error yang rumit.
HANDLER
Handler
Non-Reserved
Penentu apa yang harus dilakukan kalau terjadi ERROR
TRIGGER
Event
Reserved
Menciptakan efek domino otomatis di dalam database atas kondisi sesuatu yg terjadi dalam database
EVENT
Event
Non-Reserved
Menjalankan perintah SQL secara otomatis pada waktu tertentu (sekali saja) atau secara berkala (berulang-ulang)
BEFORE
Event
Reserved
Modifier waktu yang digunakan secara khusus pada TRIGGER sebelum melakukan hal berikutnya
AFTER
Event
Non-Reserved
1) Atur posisi kolom mau ditaruh di paling depan atau setelah kolom mana
2) Digunakan untuk menentukan perintah yang akan dijalankan berikutnya
2) Digunakan untuk menentukan perintah yang akan dijalankan berikutnya
FOR
Event
Reserved
Fungsinya adalah sebagai penanda cakupan aksi. Berpasangan dengan EACH
EACH
Event
Reserved
Fungsinya adalah sebagai penanda cakupan aksi. Berpasangan dengan FOR
ROW
Event
Reserved
Variabel penampung satu baris data
🛠️ Built-in Functions / Values
Kembali Ke Menu
↑ TOP
Kata Kunci
Kategori
Kondisi Kata
Penjelasan Singkat
NULL
Null/Boolean
Reserved
Menunjukan sesuatu field atau nilai itu kosong (tidak ada isinya sama sekali)
TRUE
Null/Boolean
Reserved
Hasil perbandingan atau kondisi tertentu yang nilainya Benar (sesuai yang diinginkan)
FALSE
Null/Boolean
Reserved
Hasil perbandingan atau kondisi tertentu yang nilainya Salah (tidak sesuai yang diinginkan)
UNKNOWN
Null/Boolean
Non-Reserved
Hasil perbandingan atau kondisi tertentu yang tidak punya nilai / NULL
CURRENT_DATE
Date/Time Constant
Reserved
Memanggil tanggal dari sistem saat dieksekusinya perintah MySQL
CURRENT_TIME
Date/Time Constant
Reserved
Memanggil waktu dari sistem saat dieksekusinya perintah MySQL
CURRENT_TIMESTAMP
Date/Time Constant
Reserved
Memanggil tanggal dan waktu dari sistem saat dieksekusinya perintah MySQL
UTC_DATE
Date/Time Constant
Reserved
Mengambil tanggal berdasarkan waktu standar dunia (Coordinated Universal Time)
UTC_TIME
Date/Time Constant
Reserved
Mengambil waktu berdasarkan waktu standar dunia (Coordinated Universal Time)
UTC_TIMESTAMP
Date/Time Constant
Reserved
Mengambil tanggal dan waktu berdasarkan waktu standar dunia (Coordinated Universal Time)
CURRENT_USER
User Info
Reserved
Mengetahui akun MySQL mana yang sedang digunakan untuk menjalankan perintah saat ini