Juhendid

Mis on SQL? Andmebaasi keel lihtsalt selgitatuna

SQL (Structured Query Language, hääldatakse „S-Q-L” või „sequel”) on standardne keel relatsiooniliste andmebaasidega töötamiseks – selliste, mis hoiavad andmeid ridade ja veergudega tabelites, nagu Postgres, MySQL, SQLite ja SQL Server. SQL-iga küsid oma andmetelt küsimusi („kes klientidest broneeris sel kuul?”) ning lisad, muudad või eemaldad kirjeid. See on olnud kasutusel alates 1970. aastatest, on rahvusvaheline standard ja toetab suurt osa maailma rakendustest.

Miks SQL on oluline, kui ehitad AI-ga

Kui palud AI rakenduste ehitajalt „salvesta tellimused” või „näita tulevaste broneeringute nimekirja”, peab miski andmebaasiga rääkima – enamikus rakendustes on see SQL, kas kirjutatult otse või genereeritult ORM-i kaudu.

SQL-i ise kirjutama ei pea, kuid natuke arusaamist tasub:

  • Oma andmeid saad kontrollida. Lühike päring vastab küsimusele „mitu registreerimist saime sel nädalal?” kiiremini kui uue ekraani ehitamine.
  • Paremaid aruandeid saad küsida. „Grupeeri käive kuu ja teenuse järgi” on SQL-i mõte. Selle tundmine teeb sinu päringu selgemaks.
  • Ohtlikke muudatusi märkad. DELETE või UPDATE ilma WHERE klauslita mõjutab iga rida. See tuleb enne käivitamist kinni püüda.
  • Su andmed ei ole lukus. SQL on jagatud standard, seega saab SQL-andmebaasi andmeid lugeda ja liigutada paljud tööriistad.

Igapäevane analoogia

Mõtle väga heakorrastatud raamatukogule, kus töötab raamatukoguhoidja, kes räägib ainult täpset ja lihtsat keelt.

Sa ei käi riiulite vahel ise. Annad raamatukoguhoidjale kaardi: „Leia kõik selle autori raamatud, mis on ilmunud pärast 2010, uuemad enne.” Raamatukoguhoidja tunneb hoonet sisse-välja ja tuleb tagasi täpselt nende raamatute ja sellises järjekorras.

SQL on keel kaardil. Sa ütled, mida tahad, mitte kuidas seda leida – andmebaas leiab ise kiireima tee.

Kuidas SQL töötab: tabelid, read ja veerud

Relatsiooniline andmebaas hoiab andmeid tabelites. Iga tabel hoiab ühte liiki asju, iga rida on üks kirje ja iga veerg on üks infotükk:

customers (kliendid)

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

orders (tellimused)

idcustomer_idtotalplaced_at
101142.002026-09-20
102218.502026-09-22
103125.002026-09-27

Veerg customer_id seob iga tellimuse kliendiga. See seos teebki andmebaasi „relatsiooniliseks”.

Näide: päris küsimustele vastamine

1. Andmete lugemine – „näita kõiki kliente Lissabonis”:

SELECT name, email
FROM customers
WHERE city = 'Lissabon';

2. Sortimine ja piiramine – „viis viimast tellimust”:

SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;

3. Tabelite ühendamine – „iga tellimus koos kliendi nimega”:

SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;

4. Kokkuvõte – „kogu kulutus kliendi kohta”:

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;

Näidisandmetega tagastab see Lena Ortiz 67.00 ja Sam Patel 18.50.

5. Andmete muutmine:

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;

Need vastavad peaaegu iga rakenduse nelja põhitegevusele – loomine, lugemine, uuendamine ja kustutamine, tuntud kui CRUD.

Hoiatus: UPDATE customers SET city = 'Porto'; ilma WHERE klauslita muudab iga kliendi. Kontrolli alati WHERE-i enne muudatuse käivitamist.

SQL-i põhiosad

KäskMida see teeb
SELECTLoeb andmeid
INSERTLisab uusi ridu
UPDATEMuudab olemasolevaid ridu
DELETEEemaldab ridu
CREATE TABLE / ALTER TABLELoob või muudab tabeli struktuuri
WHEREFiltreerib, millised read mõjutatakse
JOINÜhendab seotud tabeleid
GROUP BYKokkuvõtab read gruppidesse koos COUNT, SUM, AVG-iga
ORDER BY / LIMITSorteerib ja piirab tulemusi

SQL on standardiseeritud, kuid iga andmebaas lisab omad lisandid, mida nimetatakse dialektiks. Postgres, MySQL ja SQLite mõistavad ülaltoodud näiteid, kuid sellised üksikasjad nagu kuupäevafunktsioonid erinevad veidi.

Põhimõisted

MõisteTähendus
PäringSQL-lause, eriti see, mis loeb andmeid.
Tabel / rida / veergAsja liik / üks kirje / üks omadus.
PrimaarvõtiVeerg, mis identifitseerib iga rea unikaalselt, tavaliselt id.
VõõrvõtiVeerg, mis viitab reale teises tabelis, näiteks customer_id.
IndeksOtsingustruktuur, mis muudab veeru otsimise palju kiiremaks.
SkeemKõigi tabelite ja veergude struktuur.
Tehing (transaction)Muudatuste rühm, mis õnnestub või ebaõnnestub koos.
SQL-i süstimine (injection)Rünnak, kus kasutaja sisend lisatakse päringusse varjatult. Vältimiseks kasutatakse parameetrilisi päringuid.

Levinud arusaamatused

  • „SQL on andmebaas.” SQL on keel; Postgres, MySQL ja SQLite on andmebaasid, mis seda keelt räägivad.
  • „SQL on vana, seega aegunud.” See on küps, mitte kasutusest kadunud. Kaasaegsed andmebaasid ja andmetööriistad kasutavad seda endiselt ning uuemad lisavad sageli SQL-i toe.
  • „Ainult arendajad saavad SQL-i kasutada.” Analüütikud, turundajad ja asutajad kasutavad lihtsaid päringuid igapäevaselt.
  • „SQL ei suuda paindlikke andmeid hoida.” Paljud SQL-andmebaasid hoiavad ka JSON-i. Postgresil on näiteks jsonb tüüp. Vt SQL vs NoSQL.
  • „AI-l võib lubada käivitada mis tahes SQL-i tootmisandmetel.” Lugemised on madala riskiga; muudatused ja kustutamised elavatel andmetel väärivad varundust ja teist pilku. Vt kuidas varundada oma rakenduse andmebaasi.

Mida küsida oma AI ehitajalt

  • „Näita mulle minu andmebaasi tabeleid ja mida iga veerg tähendab.”
  • „Kirjuta ainult lugemisele mõeldud päring: mitu uut registreerimist päevas viimase 30 päeva jooksul?”
  • „Enne mis tahes UPDATE’i või DELETE’i käivitamist näita mulle päringut ja seda, mitu rida see mõjutab.”
  • „Lisa indeksid veergudele, mida filtreerime ja sorteerime kõige sagedamini.”
  • „Veendu, et iga päring, mis kasutab kasutaja sisendit, on parameetriline.”
  • „Mähi tellimuste ja maksete uuendused tehingusse, et need ei saaks pooleldi õnnestuda.”

SQL Mythexis

Kui su rakendus peab andmeid salvestama, lisab Mythex projektile pühendatud Postgres-andmebaasi – küsi vestluses, näiteks „salvesta ootenimekirja e-kirjad andmebaasi”, või kasuta käsku /database (Andmebaas). Agent loob tabelid ja kirjutab päringud ning Ask-režiimis saad paluda mis tahes päringu selgitamist lihtsas keeles. Andmebaasi endast loe lähemalt: mis on Postgres.

Küsimused

Mis on SQL lihtsas keeles?

SQL (Structured Query Language) on standardne keel relatsiooniliste andmebaasidega töötamiseks. Seda kasutad, et oma andmetelt küsimusi esitada, näiteks „millised tellimused tehti sel nädalal”, ning lisada, muuta või kustutada kirjeid.

Kuidas SQL-i hääldatakse?

Nii „S-Q-L” (tähed eraldi) kui ka „sequel” on levinud ja õiged. Keel kandis algselt nime SEQUEL, sellest tuleb teine hääldus.

Kas SQL on programmeerimiskeel?

SQL on päringukeel, mis on mõeldud andmete haldamiseks. Kirjeldad, millist tulemust soovid, ja andmebaas leiab ise, kuidas selle saada. Seda ei kasutata iseseisvalt terviklike rakenduste ehitamiseks, kuid see on osa peaaegu igast rakendusest, mis kasutab relatsioonilist andmebaasi.

Kas SQL on raske õppida?

Põhitõed on ligipääsetavad: SELECT, WHERE, ORDER BY, INSERT, UPDATE ja DELETE katavad enamiku igapäevastest vajadustest ning loevad peaaegu nagu inglise keel. Ühendamine, grupeerimine ja jõudluse häälestamine nõuavad kauem aega.

Kas pean SQL-i teadma, et AI-ga rakendust ehitada?

Ei pea. AI-ehitaja kirjutab SQL-i või andmebaasikoodi sinu eest. Natukesest arusaamisest on kasu, et oma andmeid kontrollida, aruandeid küsida ja riskantseid muudatusi enne nende toimumist märgata.

Mythex · Pricing · Ehita kõike AI-ga · Veebilehtede ja rakenduste mallid · Mythex võrdluses · Tehisintellektiga rakenduste ehitamise sõnastik · Tasuta tööriistad tehisintellektiga rakenduste ehitamiseks · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ 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 简体中文 繁體中文(香港) 繁體中文(台灣)