Apa Itu SQL? Bahasa Pangkalan Data Dijelaskan Ringkas
SQL (Structured Query Language, disebut “S-Q-L” atau “sequel”) ialah bahasa piawai untuk bekerja dengan pangkalan data hubungan — jenis yang menyimpan data dalam jadual baris dan lajur, seperti Postgres, MySQL, SQLite dan SQL Server. Anda menggunakan SQL untuk bertanya soalan tentang data anda (“pelanggan mana yang membuat tempahan bulan ini?”) dan untuk menambah, menukar atau membuang rekod. Ia telah wujud sejak 1970-an, merupakan piawai antarabangsa, dan menggerakkan sebahagian besar app di seluruh dunia.
Mengapa SQL penting apabila membina dengan AI
Apabila anda meminta pembina app AI untuk “simpan pesanan” atau “tunjukkan senarai tempahan akan datang”, sesuatu perlu berkomunikasi dengan pangkalan data — dan dalam kebanyakan app, itu ialah SQL, sama ada ditulis secara terus atau dijana oleh ORM.
Anda tidak perlu menulis SQL sendiri, tetapi sedikit pemahaman memberi pulangan:
- Anda boleh menyemak data anda sendiri. Pertanyaan pendek menjawab “berapa ramai pendaftar yang kita dapat minggu ini?” lebih pantas daripada membina skrin baharu.
- Anda boleh meminta laporan yang lebih baik. “Kumpulkan hasil mengikut bulan dan perkhidmatan” ialah idea SQL. Mengetahuinya menjadikan permintaan anda lebih jelas.
- Anda boleh mengesan perubahan berbahaya. Satu
DELETEatauUPDATEtanpa klausaWHEREmenjejaskan setiap baris. Itu patut ditangkap sebelum ia dijalankan. - Data anda tidak terkunci. SQL ialah piawai yang dikongsi, jadi data dalam pangkalan data SQL boleh dipindahkan dan dibaca oleh banyak alat.
Analogi harian
Bayangkan sebuah perpustakaan yang sangat teratur dengan seorang pustakawan yang hanya bertutur dalam bahasa yang tepat dan ringkas.
Anda tidak mencari di rak sendiri. Anda menyerahkan kad kepada pustakawan: “Cari semua buku oleh pengarang ini, diterbitkan selepas 2010, yang terbaru dahulu.” Pustakawan itu mengenali bangunan dengan sangat baik dan kembali dengan buku-buku tepat itu, dalam susunan itu.
SQL ialah bahasa pada kad itu. Anda menyatakan apa yang anda mahu, bukan bagaimana untuk mencarinya — pangkalan data sendiri menentukan laluan terpantas.
Cara SQL berfungsi: jadual, baris dan lajur
Pangkalan data hubungan menyimpan data dalam jadual. Setiap jadual memegang satu jenis perkara, setiap baris ialah satu rekod dan setiap lajur ialah satu maklumat:
customers
| id | name | city | |
|---|---|---|---|
| 1 | Lena Ortiz | lena@example.com | Lisbon |
| 2 | Sam Patel | sam@example.com | Leeds |
orders
| id | customer_id | total | placed_at |
|---|---|---|---|
| 101 | 1 | 42.00 | 2026-09-20 |
| 102 | 2 | 18.50 | 2026-09-22 |
| 103 | 1 | 25.00 | 2026-09-27 |
Lajur customer_id menghubungkan setiap pesanan kepada seorang pelanggan. Pautan itulah yang menjadikan pangkalan data itu “hubungan”.
Contoh kerja: menjawab soalan sebenar
1. Baca data — “tunjukkan semua pelanggan di Lisbon”:
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. Susun dan hadkan — “lima pesanan terkini”:
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Gabungkan jadual — “setiap pesanan dengan nama pelanggan”:
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Ringkaskan — “jumlah perbelanjaan setiap pelanggan”:
SELECT c.name, SUM(o.total) AS total_spent
FROM customers c
JOIN orders o ON o.customer_id = c.id
GROUP BY c.name
ORDER BY total_spent DESC;
Dengan data contoh, ini memulangkan Lena Ortiz dengan 67.00 dan Sam Patel dengan 18.50.
5. Tukar data:
INSERT INTO customers (name, email, city)
VALUES ('Ana Silva', 'ana@example.com', 'Porto');
UPDATE customers SET city = 'Porto' WHERE id = 1;
DELETE FROM orders WHERE id = 102;
Ini sepadan dengan empat tindakan asas hampir setiap app — cipta, baca, kemas kini dan padam, yang dikenali sebagai CRUD.
Satu amaran: UPDATE customers SET city = 'Porto'; tanpa klausa WHERE menukar setiap pelanggan. Sentiasa semak WHERE sebelum menjalankan perubahan.
Bahagian utama SQL
| Arahan | Apa yang dilakukannya |
|---|---|
SELECT | Baca data |
INSERT | Tambah baris baharu |
UPDATE | Tukar baris sedia ada |
DELETE | Buang baris |
CREATE TABLE / ALTER TABLE | Cipta atau tukar struktur jadual |
WHERE | Tapis baris mana yang terjejas |
JOIN | Gabungkan jadual yang berkaitan |
GROUP BY | Ringkaskan baris kepada kumpulan, dengan COUNT, SUM, AVG |
ORDER BY / LIMIT | Susun dan hadkan hasil |
SQL adalah piawai, tetapi setiap pangkalan data menambah ciri tersendiri, dipanggil dialek. Postgres, MySQL dan SQLite semuanya memahami contoh di atas, manakala butiran seperti fungsi tarikh sedikit berbeza.
Istilah utama
| Istilah | Maksud |
|---|---|
| Pertanyaan (query) | Penyataan SQL, terutamanya yang membaca data. |
| Jadual / baris / lajur | Satu jenis perkara / satu rekod / satu atribut. |
| Kunci utama (primary key) | Lajur yang mengenal pasti setiap baris secara unik, selalunya id. |
| Kunci asing (foreign key) | Lajur yang menunjuk kepada baris dalam jadual lain, seperti customer_id. |
| Indeks | Struktur carian yang menjadikan pencarian dalam lajur jauh lebih pantas. |
| Skema | Struktur semua jadual dan lajur. |
| Transaksi | Kumpulan perubahan yang berjaya atau gagal bersama. |
| Suntikan SQL (SQL injection) | Serangan di mana input pengguna diselitkan ke dalam pertanyaan. Dicegah dengan pertanyaan berparameter. |
Salah faham yang biasa
- “SQL ialah pangkalan data.” SQL ialah bahasanya; Postgres, MySQL dan SQLite ialah pangkalan data yang menggunakannya.
- “SQL sudah lama, jadi ia ketinggalan zaman.” Ia matang, bukan usang. Pangkalan data moden dan alat data masih menggunakannya, dan yang lebih baharu selalunya menambah sokongan SQL.
- “Hanya pembangun boleh guna SQL.” Penganalisis, pemasar dan pengasas menggunakan pertanyaan mudah setiap hari.
- “SQL tidak boleh mengendalikan data yang fleksibel.” Banyak pangkalan data SQL juga menyimpan JSON. Postgres, contohnya, mempunyai jenis
jsonb. Lihat SQL vs NoSQL. - “Membenarkan AI menjalankan mana-mana SQL pada produksi tidak mengapa.” Bacaan berisiko rendah; perubahan dan pemadaman pada data langsung memerlukan sandaran dan semakan kedua. Lihat cara membuat sandaran pangkalan data app anda.
Apa yang perlu diminta daripada pembina AI anda
- “Tunjukkan saya jadual dalam pangkalan data saya dan maksud setiap lajur.”
- “Tulis pertanyaan baca sahaja: berapa ramai pendaftar baharu setiap hari dalam 30 hari lepas?”
- “Sebelum menjalankan sebarang UPDATE atau DELETE, tunjukkan pertanyaannya dan berapa banyak baris yang akan terjejas.”
- “Tambah indeks pada lajur yang paling kerap kita tapis dan susun.”
- “Pastikan setiap pertanyaan yang menggunakan input pengguna adalah berparameter.”
- “Bungkus kemas kini pesanan dan pembayaran dalam satu transaksi supaya ia tidak boleh separuh berjaya.”
SQL dalam Mythex
Apabila app anda perlu menyimpan data, Mythex menambah pangkalan data Postgres khusus kepada projek — minta dalam chat, contohnya “simpan e-mel senarai menunggu ke pangkalan data”, atau gunakan arahan /database (Database). Ejen mencipta jadual dan menulis pertanyaan, dan anda boleh memintanya dalam mod Ask untuk menerangkan mana-mana pertanyaan dalam bahasa mudah. Untuk maklumat lanjut tentang pangkalan data itu sendiri, baca apa itu Postgres.
Soalan lazim
Apa itu SQL dalam istilah mudah?
SQL (Structured Query Language) ialah bahasa piawai untuk bekerja dengan pangkalan data hubungan. Anda menggunakannya untuk bertanya soalan tentang data anda, seperti ‘pesanan mana yang dibuat minggu ini’, dan untuk menambah, menukar atau memadam rekod.
Bagaimana sebutan SQL?
Kedua-dua ‘S-Q-L’ (mengeja huruf) dan ‘sequel’ adalah biasa dan betul. Bahasa ini asalnya dinamakan SEQUEL, dan dari situlah sebutan kedua datang.
Adakah SQL bahasa pengaturcaraan?
SQL ialah bahasa pertanyaan yang direka untuk menguruskan data. Anda menerangkan hasil yang anda mahu dan pangkalan data menentukan cara untuk mendapatkannya. Ia tidak digunakan untuk membina keseluruhan app dengan sendirinya, tetapi ia menjadi sebahagian daripada hampir setiap app yang menggunakan pangkalan data hubungan.
Adakah SQL sukar dipelajari?
Asasnya mudah didekati: SELECT, WHERE, ORDER BY, INSERT, UPDATE dan DELETE meliputi kebanyakan keperluan harian dan hampir seperti dibaca dalam bahasa Inggeris. Join, pengumpulan dan penalaan prestasi memerlukan masa lebih lama untuk dikuasai.
Perlukah saya tahu SQL untuk membina app dengan AI?
Tidak. Pembina AI menulis kod SQL atau pangkalan data untuk anda. Mengetahui sedikit membantu anda menyemak data anda, meminta laporan dan mengesan perubahan berisiko sebelum ia berlaku.