Vadovai

Kas yra SQL? Duomenų bazių kalba paprastai paaiškinta

SQL (Structured Query Language, tariama „es-kju-el“ arba „sikvel“) – standartinė kalba darbui su reliacinėmis duomenų bazėmis: tokiomis, kurios saugo duomenis lentelėse su eilutėmis ir stulpeliais, pavyzdžiui Postgres, MySQL, SQLite ir SQL Server. SQL naudojate, kad užduotumėte klausimus apie savo duomenis („kurie klientai šį mėnesį užsisakė?“) ir pridėtumėte, pakeistumėte ar pašalintumėte įrašus. Ji egzistuoja nuo 1970-ųjų, yra tarptautinis standartas ir veikia didelę dalį pasaulio programų.

Kodėl SQL svarbi kuriant su AI

Kai sakote AI programų kūrimo įrankiui „išsaugok užsakymus“ arba „parodyk artėjančių rezervacijų sąrašą“, kažkas turi bendrauti su duomenų baze – ir daugumoje programų tai yra SQL, parašyta tiesiogiai arba sugeneruota per ORM.

Patys rašyti SQL nebūtina, tačiau šiek tiek supratimo labai padeda:

  • Galite patikrinti savo duomenis. Trumpa užklausa greičiau atsako į klausimą „kiek registracijų gavome per šią savaitę?“, nei kurti naują ekraną.
  • Galite užsakyti geresnes ataskaitas. „Sugrupuok pajamas pagal mėnesį ir paslaugą“ – tai SQL sąvoka. Ją žinant jūsų užduotis tampa aiškesnė.
  • Galite pastebėti pavojingus pakeitimus. DELETE arba UPDATE be WHERE sąlygos paveiks kiekvieną eilutę. Tai verta pastebėti dar prieš vykdant.
  • Jūsų duomenys nėra įstrigę. SQL – bendras standartas, todėl duomenis SQL duomenų bazėje gali perkelti ir skaityti daugybė įrankių.

Kasdienė analogija

Įsivaizduokite labai tvarkingą biblioteką, kurioje bibliotekininkas kalba tik tiksliai ir paprastai.

Lentynų patys neeinate. Įduodate bibliotekininkui kortelę: „Surask visas šio autoriaus knygas, išleistas po 2010 metų, naujausios – pirmos.“ Bibliotekininkas pastatą pažįsta iki smulkmenų ir grąžina būtent tas knygas, tokia tvarka.

SQL – kalba, kuri parašyta ant tos kortelės. Jūs sakote, ko norite, o ne kaip tai rasti – duomenų bazė pati parenka greičiausią kelią.

Kaip veikia SQL: lentelės, eilutės ir stulpeliai

Reliacinė duomenų bazė saugo duomenis lentelėse. Kiekvienoje lentelėje – vieno tipo dalykai, kiekviena eilutė – vienas įrašas, o kiekvienas stulpelis – viena informacijos dalis:

customers (klientai)

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

orders (užsakymai)

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

Stulpelis customer_id sieja kiekvieną užsakymą su klientu. Būtent šis ryšys daro duomenų bazę „reliacine“.

Darbo pavyzdys: atsakymai į tikrus klausimus

1. Skaityti duomenis – „parodyk visus klientus iš Lisabonos“:

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

2. Rūšiuoti ir riboti – „penki naujausi užsakymai“:

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

3. Sujungti lenteles – „kiekvienas užsakymas su kliento vardu“:

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

4. Apibendrinti – „iš viso išleista kiekvienam klientui“:

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;

Su pavyzdiniais duomenimis ši užklausa grąžina Lena Ortiz su 67.00 ir Sam Patel su 18.50.

5. Keisti duomenis:

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;

Tai atitinka keturis pagrindinius veiksmus, kurie yra beveik kiekvienoje programoje – kurti, skaityti, atnaujinti ir trinti, žinomus kaip CRUD.

Perspėjimas: UPDATE customers SET city = 'Porto'; be WHERE sąlygos pakeis visų klientų miestą. Visada patikrinkite WHERE prieš vykdydami pakeitimą.

Pagrindinės SQL dalys

KomandaKą daro
SELECTSkaito duomenis
INSERTPrideda naujas eilutes
UPDATEKeičia esamas eilutes
DELETEPašalina eilutes
CREATE TABLE / ALTER TABLESukuria arba keičia lentelės struktūrą
WHERENufiltruoja, kurios eilutės paveikiamos
JOINSujungia susijusias lenteles
GROUP BYApibendrina eilutes į grupes su COUNT, SUM, AVG
ORDER BY / LIMITSurūšiuoja ir riboja rezultatus

SQL yra standartizuota, tačiau kiekviena duomenų bazė prideda savų papildymų, vadinamų dialektu. Postgres, MySQL ir SQLite supranta pirmiau pateiktus pavyzdžius, o tokios detalės kaip datų funkcijos šiek tiek skiriasi.

Pagrindiniai terminai

TerminasReikšmė
Query (užklausa)SQL sakinys, dažniausiai skaitantis duomenis.
Lentelė / eilutė / stulpelisVieno tipo dalykai / vienas įrašas / vienas atributas.
Pirminis raktas (primary key)Stulpelis, unikaliai identifikuojantis kiekvieną eilutę, dažniausiai id.
Išorinis raktas (foreign key)Stulpelis, nurodantis į eilutę kitoje lentelėje, pavyzdžiui customer_id.
IndeksasPaieškos struktūra, leidžianti ieškoti stulpelyje gerokai greičiau.
SchemaVisų lentelių ir stulpelių struktūra.
TransakcijaPakeitimų grupė, kuri arba įvyksta visa, arba neįvyksta visa.
SQL injekcijaAtaka, kai vartotojo įvestis įslaptinama į užklausą. Apsaugoma parametrizuotomis užklausomis.

Dažnos klaidingos nuomonės

  • „SQL yra duomenų bazė.“ SQL – kalba; Postgres, MySQL ir SQLite – duomenų bazės, kurios ja kalba.
  • „SQL sena, vadinasi, pasenusi.“ Ji brandi, o ne pasenusi. Šiuolaikinės duomenų bazės ir duomenų įrankiai vis dar ją naudoja, o naujesni dažnai prideda SQL palaikymą.
  • „SQL gali naudoti tik programuotojai.“ Analitikai, rinkodaros specialistai ir įkūrėjai kasdien naudoja paprastas užklausas.
  • „SQL netinka lankstiems duomenims.“ Daugelis SQL duomenų bazių saugo ir JSON. Pavyzdžiui, Postgres turi jsonb tipą. Žr. SQL ir NoSQL.
  • „Leisti AI vykdyti bet kokią SQL gamybinėje aplinkoje – normalu.“ Skaitymas yra mažai rizikingas; pakeitimai ir trynimai tikruose duomenyse reikalauja atsarginės kopijos ir antro patikrinimo. Žr. kaip sukurti programos duomenų bazės atsarginę kopiją.

Ką paklausti savo AI kūrimo įrankio

  • „Parodyk duomenų bazės lenteles ir ką reiškia kiekvienas stulpelis.“
  • „Parašyk tik skaitymo užklausą: kiek naujų registracijų per dieną buvo per paskutines 30 dienų?“
  • „Prieš vykdydamas bet kokį UPDATE ar DELETE, parodyk užklausą ir kiek eilučių ji paveiks.“
  • „Pridėk indeksus stulpeliams, pagal kuriuos dažniausiai filtruojame ir rūšiuojame.“
  • „Įsitikink, kad kiekviena užklausa, naudojanti vartotojo įvestį, yra parametrizuota.“
  • „Įdėk užsakymų ir mokėjimų atnaujinimus į transakciją, kad jie negalėtų įvykti tik iš dalies.“

SQL Mythex

Kai jūsų programai reikia saugoti duomenis, Mythex projektui prideda atskirą Postgres duomenų bazę – pokalbyje paprašykite, pavyzdžiui, „išsaugok laiškų sąrašo el. paštus duomenų bazėje“, arba naudokite komandą /database (Database). Agentas sukuria lenteles ir rašo užklausas, o Ask režime galite paprašyti paaiškinti bet kurią užklausą paprasta kalba. Daugiau apie pačią duomenų bazę – skaitykite kas yra Postgres.

Klausimai

Kas yra SQL paprastais žodžiais?

SQL (Structured Query Language, struktūrizuota užklausų kalba) – standartinė kalba darbui su reliacinėmis duomenų bazėmis. Ja užduodate klausimus apie savo duomenis, pavyzdžiui „kurie užsakymai buvo pateikti šią savaitę“, ir pridedate, keičiate ar šalinate įrašus.

Kaip tariamas SQL?

Tinka ir „es-kju-el“ (raidžių tarimas), ir „sikvel“. Kalba iš pradžių buvo vadinama SEQUEL, todėl ir atsirado antrasis tarimas.

Ar SQL yra programavimo kalba?

SQL – tai užklausų kalba, skirta duomenims valdyti. Jūs aprašote, kokio rezultato norite, o duomenų bazė pati nusprendžia, kaip jį gauti. Savarankiškai visų programų kurti ja nepavyks, tačiau ji yra beveik kiekvienoje programoje, naudojančioje reliacinę duomenų bazę.

Ar SQL sunku išmokti?

Pagrindai nesudėtingi: SELECT, WHERE, ORDER BY, INSERT, UPDATE ir DELETE padengia daugumą kasdienių poreikių ir beveik skaitosi kaip anglų kalba. Jungimai (JOIN), grupavimas ir našumo derinimas užtrunka ilgiau.

Ar reikia mokėti SQL, kad sukurčiau programą su AI?

Ne. AI kūrimo įrankis rašo SQL arba duomenų bazės kodą už jus. Šiek tiek žinių padeda patikrinti savo duomenis, prašyti ataskaitų ir pastebėti rizikingus pakeitimus, kol jie dar neįvyko.

Mythex · Pricing · Kurkite bet ką su dirbtiniu intelektu · Svetainių ir programėlių šablonai · Mythex palyginimas · Programėlių kūrimo su dirbtiniu intelektu žodynėlis · Nemokami programėlių kūrimo su dirbtiniu intelektu įrankiai · 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 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 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 简体中文 繁體中文(香港) 繁體中文(台灣)