Vodiči

Šta je SQL? Jezik za baze podataka jednostavno objašnjen

SQL (Structured Query Language, izgovara se „S-Q-L“ ili „sikvel“) je standardni jezik za rad s relacionim bazama podataka, onim koje čuvaju podatke u tabelama s redovima i kolonama, poput Postgresa, MySQL-a, SQLite-a i SQL Servera. SQL koristite da postavljate pitanja o podacima („koji kupci su rezervisali ovaj mjesec?“) i da dodajete, mijenjate ili uklanjate zapise. Postoji od sedamdesetih godina, međunarodni je standard i pokreće veliki dio svjetskih aplikacija.

Zašto je SQL važan kad pravite uz AI

Kad od AI alata za izradu aplikacija zatražite da „sačuva narudžbe“ ili „prikaže listu predstojećih rezervacija“, nešto mora razgovarati s bazom podataka, a u većini aplikacija to je SQL, napisan direktno ili generisan preko ORM-a.

Ne morate sami pisati SQL, ali malo razumijevanja se isplati:

  • Možete provjeriti sopstvene podatke. Kratak upit odgovara na pitanje „koliko je novih registracija ove sedmice?“ brže nego da pravite novi ekran.
  • Možete tražiti bolje izvještaje. „Grupiši prihod po mjesecu i usluzi“ je SQL ideja. Kad je znate, zahtjev postaje jasniji.
  • Možete uočiti opasne izmjene. DELETE ili UPDATE bez WHERE klauzule utiče na svaki red. To vrijedi uhvatiti prije nego se izvrši.
  • Vaši podaci nisu zaključani. SQL je zajednički standard, pa podatke u SQL bazi mogu čitati i pomjerati mnogi alati.

Analogija iz svakodnevnog života

Zamislite jako dobro organizovanu biblioteku s bibliotekarem koji govori samo precizan, jednostavan jezik.

Ne idete sami po policama. Predate bibliotekarki karticu: „Nađi sve knjige ovog autora, objavljene nakon 2010, najnovije prve.“ Bibliotekarka poznaje zgradu do detalja i vraća upravo te knjige, tim redoslijedom.

SQL je jezik na toj kartici. Vi kažete šta želite, a ne kako to naći — baza sama odredi najbrži put.

Kako SQL radi: tabele, redovi i kolone

Relaciona baza podataka čuva podatke u tabelama. Svaka tabela drži jednu vrstu stvari, svaki red je jedan zapis, a svaka kolona je jedan podatak:

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

Kolona customer_id povezuje svaku narudžbu s kupcem. Upravo ta veza čini bazu „relacionom“.

Radni primjer: odgovaranje na stvarna pitanja

1. Čitanje podataka — „pokaži sve kupce iz Lisabona“:

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

2. Sortiranje i ograničavanje — „pet najnovijih narudžbi“:

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

3. Spajanje tabela — „svaka narudžba s imenom kupca“:

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

4. Sažimanje — „ukupno potrošeno po kupcu“:

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 primjerom podataka, ovo vraća Lenu Ortiz s 67.00 i Sama Patela s 18.50.

5. Mijenjanje podataka:

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;

Ovo se preslikava na četiri osnovne radnje skoro svake aplikacije — kreiranje, čitanje, izmjena i brisanje, poznate kao CRUD.

Upozorenje: UPDATE customers SET city = 'Porto'; bez WHERE klauzule mijenja svakog kupca. Uvijek provjerite WHERE prije pokretanja izmjene.

Glavni dijelovi SQL-a

KomandaŠta radi
SELECTČita podatke
INSERTDodaje nove redove
UPDATEMijenja postojeće redove
DELETEUklanja redove
CREATE TABLE / ALTER TABLEKreira ili mijenja strukturu tabele
WHEREFiltrira koji redovi su pogođeni
JOINSpaja povezane tabele
GROUP BYSažima redove u grupe, uz COUNT, SUM, AVG
ORDER BY / LIMITSortira i ograničava rezultate

SQL je standardizovan, ali svaka baza dodaje svoje posebnosti, što se zove dijalekt. Postgres, MySQL i SQLite razumiju gornje primjere, dok se detalji poput funkcija za datume malo razlikuju.

Ključni pojmovi

PojamZnačenje
Upit (query)SQL izraz, posebno onaj koji čita podatke.
Tabela / red / kolonaVrsta stvari / jedan zapis / jedan atribut.
Primarni ključKolona koja jedinstveno određuje svaki red, obično id.
Strani ključKolona koja pokazuje na red u drugoj tabeli, poput customer_id.
IndeksStruktura za pretragu koja znatno ubrzava pretragu kolone.
ŠemaStruktura svih tabela i kolona.
TransakcijaGrupa izmjena koje ili uspiju ili propadnu zajedno.
SQL injectionNapad u kojem se korisnički unos ubacuje u upit. Sprječava se parametrizovanim upitima.

Česte zablude

  • „SQL je baza podataka.“ SQL je jezik; Postgres, MySQL i SQLite su baze koje ga govore.
  • „SQL je star, pa je zastario.“ Zreo je, nije zastario. Savremene baze i alati za podatke i dalje ga koriste, a noviji sistemi često dodaju podršku za SQL.
  • „Samo programeri mogu koristiti SQL.“ Analitičari, marketinški stručnjaci i osnivači svakodnevno koriste jednostavne upite.
  • „SQL ne može podnijeti fleksibilne podatke.“ Mnoge SQL baze također čuvaju JSON. Postgres, na primjer, ima jsonb tip. Pogledajte SQL vs NoSQL.
  • „Dozvoliti AI-ju da pokreće bilo koji SQL na produkciji je u redu.“ Čitanja su malorizična; izmjene i brisanja na živim podacima zaslužuju rezervnu kopiju i drugu provjeru. Pogledajte kako napraviti rezervnu kopiju baze aplikacije.

Šta tražiti od vašeg AI alata

  • „Pokaži mi tabele u mojoj bazi i šta znači svaka kolona.“
  • „Napiši upit samo za čitanje: koliko je novih registracija po danu u posljednjih 30 dana?“
  • „Prije pokretanja bilo kojeg UPDATE-a ili DELETE-a, pokaži mi upit i koliko redova će uticati.“
  • „Dodaj indekse na kolone po kojima najčešće filtriramo i sortiramo.“
  • „Pobrini se da je svaki upit koji koristi korisnički unos parametrizovan.“
  • „Zamotaj ažuriranja narudžbi i plaćanja u transakciju da ne mogu polovično uspjeti.“

SQL u Mythexu

Kad vaša aplikacija treba da čuva podatke, Mythex dodaje projektu namjensku Postgres bazu — zatražite u chatu, na primjer „sačuvaj e-mailove s liste čekanja u bazu“, ili koristite komandu /database (Baza podataka). Agent kreira tabele i piše upite, a u Ask režimu možete ga zamoliti da objasni bilo koji upit običnim jezikom. Za više o samoj bazi pročitajte šta je Postgres.

Pitanja

Šta je SQL jednostavno rečeno?

SQL (Structured Query Language, strukturirani jezik upita) je standardni jezik za rad s relacionim bazama podataka. Koristite ga da postavljate pitanja o podacima, na primjer „koje su narudžbe napravljene ove sedmice“, i da dodajete, mijenjate ili brišete zapise.

Kako se izgovara SQL?

I „S-Q-L“ (izgovor slova po slovo) i „sikvel“ su uobičajeni i ispravni. Jezik se prvobitno zvao SEQUEL, odatle dolazi drugi izgovor.

Da li je SQL programski jezik?

SQL je jezik za upite, namijenjen upravljanju podacima. Opisujete koji rezultat želite, a baza sama odredi kako da ga dobije. Sam po sebi ne služi za pravljenje cijelih aplikacija, ali je dio gotovo svake aplikacije koja koristi relacionu bazu.

Da li je SQL težak za učenje?

Osnove su pristupačne: SELECT, WHERE, ORDER BY, INSERT, UPDATE i DELETE pokrivaju većinu svakodnevnih potreba i čitaju se gotovo kao engleski. Spajanja (join), grupisanje i podešavanje performansi zahtijevaju više vremena.

Da li trebam znati SQL da bih napravio aplikaciju uz AI?

Ne. AI alat piše SQL ili kod za bazu umjesto vas. Ako znate malo, lakše ćete provjeriti svoje podatke, tražiti izvještaje i uočiti rizične izmjene prije nego se dogode.

Mythex · Pricing · Izradite bilo šta uz AI · Šabloni za web stranice i aplikacije · Mythex u poređenju · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা 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 Македонски മലയാളം Монгол मराठी 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 简体中文 繁體中文(香港) 繁體中文(台灣)