Ano ang SQL? Ang Database Language, Ipinaliwanag nang Simple
Ang SQL (Structured Query Language, binibigkas na "S-Q-L" o "sequel") ang standard na wika para sa pagtatrabaho sa relational database — ang uri na nag-iimbak ng data sa mga table ng row at column, gaya ng Postgres, MySQL, SQLite, at SQL Server. Ginagamit mo ang SQL para magtanong tungkol sa data mo ("sinong customer ang nag-book ngayong buwan?") at para magdagdag, magbago, o mag-alis ng mga record. Umiiral ito mula pa noong 1970s, international standard ito, at pinapatakbo nito ang malaking bahagi ng mga app sa mundo.
Bakit mahalaga ang SQL kapag gumagawa ka gamit ang AI
Kapag hiniling mo sa AI app builder na "i-save ang mga order" o "magpakita ng listahan ng paparating na booking", may kailangang makipag-usap sa database — at sa karamihan ng app, iyon ay SQL, isinulat nang direkta o ginawa ng isang ORM.
Hindi mo kailangang sumulat ng SQL mismo, pero malaking tulong ang kaunting pag-unawa:
- Maaari mong suriin ang sarili mong data. Ang maikling query ay sumasagot sa "ilan ang bagong sign-up ngayong linggo?" nang mas mabilis kaysa paggawa ng bagong screen.
- Maaari kang humingi ng mas magagandang report. Ang "i-group ang kita bawat buwan at serbisyo" ay ideya ng SQL. Ang pag-alam nito ay nagpapalinaw sa hiling mo.
- Maaari mong mapansin ang mapanganib na pagbabago. Ang
DELETEoUPDATEna walangWHEREclause ay makakaapekto sa bawat row. Sulit itong mahuli bago tumakbo. - Hindi nakakulong ang data mo. Pamantayang shared ang SQL, kaya maaaring ilipat at basahin ng maraming tool ang data sa SQL database.
Pang-araw-araw na paghahalintulad
Isipin ang isang napaka-organisadong library na may librarian na nagsasalita lamang ng tumpak at simpleng wika.
Hindi mo mismong hinahanap ang mga estante. Iaabot mo sa librarian ang isang card: "Hanapin ang lahat ng libro ng may-akdang ito, nalathala pagkatapos ng 2010, pinakabago muna." Alam ng librarian ang gusali sa loob-labas at babalik na dala ang eksaktong mga librong iyon, sa pagkakasunod-sunod na iyon.
Ang SQL ang wika sa card. Sinasabi mo kung ano ang gusto mo, hindi kung paano hanapin ito — ang database na ang bahalang alamin ang pinakamabilis na ruta.
Paano gumagana ang SQL: table, row, at column
Nag-iimbak ang relational database ng data sa table. Bawat table ay may isang uri ng bagay, bawat row ay isang record, at bawat column ay isang piraso ng impormasyon:
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 |
Iniuugnay ng column na customer_id ang bawat order sa isang customer. Ang ugnayang iyon ang nagpapa-"relational" sa database.
Halimbawang gawa: pagsagot sa totoong tanong
1. Magbasa ng data — "ipakita ang lahat ng customer sa Lisbon":
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. Mag-ayos at maglimita — "ang limang pinakabagong order":
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Pagsamahin ang mga table — "bawat order kasama ang pangalan ng customer":
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Pagbuod — "kabuuang nagastos bawat customer":
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;
Sa halimbawang data, ibinabalik nito si Lena Ortiz na may 67.00 at si Sam Patel na may 18.50.
5. Magbago ng 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;
Naka-map ang mga ito sa apat na pangunahing aksyon ng halos bawat app — create, read, update, at delete, na kilala bilang CRUD.
Isang babala: ang UPDATE customers SET city = 'Porto'; nang walang WHERE clause ay babago sa bawat customer. Laging tingnan muna ang WHERE bago patakbuhin ang anumang pagbabago.
Ang mga pangunahing bahagi ng SQL
| Command | Ano ang ginagawa nito |
|---|---|
SELECT | Magbasa ng data |
INSERT | Magdagdag ng bagong row |
UPDATE | Magbago ng umiiral na row |
DELETE | Mag-alis ng row |
CREATE TABLE / ALTER TABLE | Gumawa o magbago ng istruktura ng table |
WHERE | Salain kung aling mga row ang maaapektuhan |
JOIN | Pagsamahin ang magkakaugnay na table |
GROUP BY | Buurin ang mga row sa mga grupo, gamit ang COUNT, SUM, AVG |
ORDER BY / LIMIT | Ayusin at limitahan ang mga resulta |
Standardized ang SQL, pero may kanya-kanyang dagdag ang bawat database, na tinatawag na dialect. Naiintindihan ng Postgres, MySQL, at SQLite ang mga halimbawa sa itaas, habang medyo nagkakaiba ang mga detalye gaya ng date functions.
Mga pangunahing termino
| Termino | Ibig sabihin |
|---|---|
| Query | Isang SQL statement, lalo na ang nagbabasa ng data. |
| Table / row / column | Uri ng bagay / isang record / isang katangian. |
| Primary key | Ang column na natatanging tumutukoy sa bawat row, kadalasang id. |
| Foreign key | Column na tumuturo sa row sa ibang table, gaya ng customer_id. |
| Index | Istrukturang panghanap na nagpapabilis nang malaki sa paghahanap sa isang column. |
| Schema | Istruktura ng lahat ng table at column. |
| Transaction | Pangkat ng mga pagbabago na sabay na nagtatagumpay o nabibigo. |
| SQL injection | Atakeng nagsisingit ng user input sa query. Napipigilan ng parameterized queries. |
Mga karaniwang maling akala
- "Ang SQL ay database." Wika ang SQL; ang Postgres, MySQL, at SQLite ang mga database na nagsasalita nito.
- "Luma ang SQL kaya hindi na ito updated." Hinog na ito, hindi lipas na. Ginagamit pa rin ito ng mga modernong database at data tool, at madalas nagdaragdag ng suporta sa SQL ang mga bagong database.
- "Mga developer lamang ang puwedeng gumamit ng SQL." Gumagamit ng simpleng query araw-araw ang mga analyst, marketer, at founder.
- "Hindi kayang hawakan ng SQL ang flexible na data." Marami ring SQL database ang nag-iimbak ng JSON. Halimbawa, ang Postgres ay may
jsonbna type. Tingnan ang SQL vs NoSQL. - "Ayos lang na hayaan ang AI na magpatakbo ng anumang SQL sa production." Mababa ang panganib ng mga pagbasa; ang mga pagbabago at pagbubura sa live na data ay nangangailangan ng backup at pangalawang pagsusuri. Tingnan ang paano i-back up ang database ng app mo.
Ano ang hihingin sa AI builder mo
- "Ipakita sa akin ang mga table sa database ko at ang ibig sabihin ng bawat column."
- "Sumulat ng read-only na query: ilan ang bagong sign-up bawat araw sa nakaraang 30 araw?"
- "Bago magpatakbo ng anumang UPDATE o DELETE, ipakita sa akin ang query at kung ilang row ang maaapektuhan nito."
- "Magdagdag ng index sa mga column na pinakamadalas nating sinasala at inaayos."
- "Siguraduhing ang bawat query na gumagamit ng user input ay parameterized."
- "Ilagay sa transaction ang mga update ng order at bayad para hindi sila makalahati ang tagumpay."
SQL sa Mythex
Kapag kailangan ng app mo na mag-imbak ng data, nagdadagdag ang Mythex ng nakalaang Postgres database sa project — humingi sa chat, halimbawa "mag-save ng waitlist emails sa database", o gamitin ang /database command (Database). Ginagawa ng agent ang mga table at isinusulat ang mga query, at maaari mo itong tanungin sa Ask mode na ipaliwanag ang anumang query sa simpleng Ingles. Para sa mas maraming impormasyon tungkol sa mismong database, basahin ang ano ang Postgres.
Mga tanong
Ano ang SQL sa simpleng salita?
Ang SQL (Structured Query Language) ang standard na wika para sa pagtatrabaho sa relational database. Ginagamit mo ito para magtanong tungkol sa data mo, gaya ng 'anong mga order ang nailagay ngayong linggo', at para magdagdag, magbago, o magburá ng mga record.
Paano bigkasin ang SQL?
Pareho ang tama at karaniwan ang 'S-Q-L' (binabaybay ang mga letra) at 'sequel'. Ang wika ay orihinal na tinawag na SEQUEL, kaya nanggaling dito ang ikalawang bigkas.
Programming language ba ang SQL?
Query language ang SQL na dinisenyo para pamahalaan ang data. Inilalarawan mo kung anong resulta ang gusto mo at ang database na ang bahalang alamin kung paano ito makukuha. Hindi ito ginagamit para bumuo ng buong app nang mag-isa, pero bahagi ito ng halos bawat app na gumagamit ng relational database.
Mahirap bang matutunan ang SQL?
Madaling lapitan ang mga pangunahing kaalaman: ang SELECT, WHERE, ORDER BY, INSERT, UPDATE, at DELETE ang sumasaklaw sa karamihan ng pang-araw-araw na pangangailangan, at halos parang Ingles ang basa nito. Mas matagal matutunan ang joins, grouping, at performance tuning.
Kailangan ko bang malaman ang SQL para makagawa ng app gamit ang AI?
Hindi. Isinusulat ng AI builder ang SQL o database code para sa iyo. Nakakatulong ang kaunting kaalaman para masuri mo ang data mo, makahiling ng mga report, at mapansin ang mga mapanganib na pagbabago bago pa ito mangyari.