Panduan

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 DELETE atau UPDATE tanpa klausa WHERE menjejaskan 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

idnameemailcity
1Lena Ortizlena@example.comLisbon
2Sam Patelsam@example.comLeeds

orders

idcustomer_idtotalplaced_at
101142.002026-09-20
102218.502026-09-22
103125.002026-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

ArahanApa yang dilakukannya
SELECTBaca data
INSERTTambah baris baharu
UPDATETukar baris sedia ada
DELETEBuang baris
CREATE TABLE / ALTER TABLECipta atau tukar struktur jadual
WHERETapis baris mana yang terjejas
JOINGabungkan jadual yang berkaitan
GROUP BYRingkaskan baris kepada kumpulan, dengan COUNT, SUM, AVG
ORDER BY / LIMITSusun 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

IstilahMaksud
Pertanyaan (query)Penyataan SQL, terutamanya yang membaca data.
Jadual / baris / lajurSatu 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.
IndeksStruktur carian yang menjadikan pencarian dalam lajur jauh lebih pantas.
SkemaStruktur semua jadual dan lajur.
TransaksiKumpulan 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.

Mythex · Pricing · Bina apa sahaja dengan AI · Templat laman web dan aplikasi · Mythex dibandingkan · Glosari pembinaan aplikasi AI · Alat percuma untuk membina aplikasi dengan AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)