Ի՞նչ է SQL-ը։ Տվյալների բազայի լեզուն պարզ բացատրությամբ
SQL-ը (Structured Query Language, ասվում է «S-Q-L» կամ «sequel») հարաբերական տվյալների բազաների հետ աշխատելու ստանդարտ լեզուն է․ այն տեսակը, որ տվյալները պահում է աղյուսակներում՝ տողերով և սյունակներով, ինչպիսիք են Postgres-ը, MySQL-ը, SQLite-ը և SQL Server-ը։ SQL-ով տվյալներին հարցեր եք տալիս («ո՞վ է ամրագրել այս ամիս») և գրառումներ ավելացնում, փոխում կամ հեռացնում։ Այն գոյություն ունի 1970-ականներից, միջազգային ստանդարտ է և աշխարհի ապրանքների մեծ մասը աշխատեցնում է։
Ինչու է SQL-ը կարևոր AI-ով կառուցելիս
Երբ AI հավելվածի կառուցողին ասում եք «պահիր պատվերները» կամ «ցույց տուր առաջիկա ամրագրումների ցուցակը», ինչ-որ բան պետք է խոսի տվյալների բազայի հետ․ և շատ հավելվածներում դա SQL է, կամ ուղղակիորեն գրված, կամ գեներացված ORM-ի միջոցով։
SQL-ը ինքներդ գրելու կարիք չունեք, բայց մի քիչ հասկանալը վճարում է․
- Կարող եք ստուգել ձեր սեփական տվյալները։ Կարճ հարցումը պատասխանում է «այս շաբաթ քանի՞ գրանցում ենք ունեցել» ավելի արագ, քան նոր էկրան կառուցելը։
- Կարող եք ավելի լավ հաշվետվություններ խնդրել։ «Խմբավորել եկամուտը ամսով և ծառայությամբ» SQL-ի գաղափար է։ Դա իմանալը ձեր խնդրանքը ավելի հստակ է դարձնում։
- Կարող եք նկատել վտանգավոր փոփոխությունները։
WHEREկետ չունեցողDELETEկամUPDATEազդում է յուրաքանչյուր տողի վրա։ Դա արժե բռնել, նախքան այն կատարվի։ - Ձեր տվյալները կապված չեն։ SQL-ը համօգտագործվող ստանդարտ է, ուստի SQL բազայի տվյալները կարող են տեղափոխվել և կարդացվել բազում գործիքներով։
Ամենօրյա անալոգիա
Պատկերացրեք շատ կարգավորված գրադարան՝ գրադարանավորով, որ խոսում է միայն ճշգրիտ, պարզ լեզվով։
Դուք ինքներդ դարակներով չեք քայլում։ Գրադարանավորին տալիս եք քարտ․ «Գտիր այս հեղինակի բոլոր գրքերը, որ լույս են տեսել 2010-ից հետո, նորերից սկսած»։ Գրադարանավորը լավ գիտի շենքը և բերում է հենց այդ գրքերը, այդ հերթականությամբ։
SQL-ը այն լեզուն է, որ գրված է քարտի վրա։ Դուք ասում եք ինչ եք ուզում, ոչ թե ինչպես գտնել այն․ տվյալների բազան ինքն է գտնում ամենաարագ ուղին։
Ինչպես է աշխատում SQL-ը․ աղյուսակներ, տողեր և սյունակներ
Հարաբերական տվյալների բազան տվյալները պահում է աղյուսակներում։ Յուրաքանչյուր աղյուսակ պահում է մեկ տեսակի բան, յուրաքանչյուր տող մեկ գրառում է, իսկ յուրաքանչյուր սյունակ մեկ տեղեկատվության մաս․
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 |
customer_id սյունակը կապում է յուրաքանչյուր պատվեր հաճախորդի հետ։ Հենց այդ կապն է դարձնում տվյալների բազան «հարաբերական»։
Օրինակ՝ իրական հարցերին պատասխանելը
1. Կարդալ տվյալները․ «ցույց տուր Լիսաբոնի բոլոր հաճախորդները»․
SELECT name, email
FROM customers
WHERE city = 'Lisbon';
2. Դասավորել և սահմանափակել․ «հինգ ամենանոր պատվերները»․
SELECT id, total, placed_at
FROM orders
ORDER BY placed_at DESC
LIMIT 5;
3. Միավորել աղյուսակները․ «յուրաքանչյուր պատվեր հաճախորդի անունով»․
SELECT o.id, c.name, o.total
FROM orders o
JOIN customers c ON c.id = o.customer_id;
4. Ամփոփել․ «ընդամենը ծախսած գումարը յուրաքանչյուր հաճախորդի համար»․
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;
Օրինակի տվյալներով սա վերադարձնում է Lena Ortiz՝ 67.00-ով և Sam Patel՝ 18.50-ով։
5. Փոխել տվյալները․
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;
Այս հրամանները համապատասխանում են գրեթե յուրաքանչյուր հավելվածի չորս հիմնական գործողություններին՝ create, read, update և delete, որ հայտնի է որպես CRUD։
Նախազգուշացում․ UPDATE customers SET city = 'Porto';-ը առանց WHERE կետի փոխում է բոլոր հաճախորդներին։ Միշտ ստուգեք WHERE-ը, նախքան փոփոխություն կատարելը։
SQL-ի հիմնական մասերը
| Հրաման | Ինչ է անում |
|---|---|
SELECT | Կարդում է տվյալները |
INSERT | Ավելացնում է նոր տողեր |
UPDATE | Փոխում է գոյություն ունեցող տողերը |
DELETE | Հեռացնում է տողեր |
CREATE TABLE / ALTER TABLE | Ստեղծում կամ փոխում է աղյուսակի կառուցվածքը |
WHERE | Զտում է, թե որ տողերն են ազդվելու |
JOIN | Միավորում է կապված աղյուսակները |
GROUP BY | Ամփոփում է տողերը խմբերի մեջ՝ COUNT, SUM, AVG-ով |
ORDER BY / LIMIT | Դասավորում և սահմանափակում է արդյունքները |
SQL-ը ստանդարտացված է, բայց յուրաքանչյուր տվյալների բազա ավելացնում է իր լրացումները, որ կոչվում են դիալեկտ։ Postgres-ը, MySQL-ը և SQLite-ը բոլորը հասկանում են վերևի օրինակները, մինչդեռ այնպիսի մանրամասները, ինչպիսիք են ամսաթվի ֆունկցիաները, մի փոքր տարբերվում են։
Բանալի տերմիններ
| Տերմին | Նշանակություն |
|---|---|
| Հարցում (query) | SQL հրաման, հատկապես այն, որ կարդում է տվյալները։ |
| Աղյուսակ / տող / սյունակ | Բանի տեսակ / մեկ գրառում / մեկ հատկանիշ։ |
| Primary key | Սյունակ, որ յուրահատկորեն նույնացնում է յուրաքանչյուր տող, սովորաբար՝ id։ |
| Foreign key | Սյունակ, որ ցույց է տալիս մեկ այլ աղյուսակի տողի, օրինակ՝ customer_id։ |
| Index | Որոնման կառուցվածք, որ սյունակում փնտրելն ավելի արագ է դարձնում։ |
| Schema | Բոլոր աղյուսակների և սյունակների կառուցվածքը։ |
| Transaction | Փոփոխությունների խումբ, որ միասին հաջողվում կամ ձախողվում են։ |
| SQL injection | Հարձակում, որտեղ օգտատիրոջ մուտքը գաղտնի մտցվում է հարցման մեջ։ Կանխվում է պարամետրացված հարցումներով։ |
Տարածված թյուրըմբռնումներ
- «SQL-ը տվյալների բազա է»։ SQL-ը լեզու է․ Postgres-ը, MySQL-ը և SQLite-ը այն տվյալների բազաներն են, որոնք խոսում են այդ լեզվով։
- «SQL-ը հին է, ուրեմն հնացած է»։ Այն հասուն է, ոչ թե հնացած։ Ժամանակակից տվյալների բազաները և տվյալների գործիքները դեռ օգտագործում են այն, իսկ նորերը հաճախ ավելացնում են SQL աջակցություն։
- «Միայն ծրագրավորողները կարող են օգտագործել SQL»։ Վերլուծաբանները, մարքեթոլոգները և հիմնադիրները ամեն օր օգտագործում են պարզ հարցումներ։
- «SQL-ը չի կարող մշակել ճկուն տվյալներ»։ Շատ SQL բազաներ նաև պահում են JSON։ Օրինակ՝ Postgres-ը ունի
jsonbտիպ։ Տե՛ս SQL vs NoSQL։ - «Լավ է AI-ին թույլ տալ կատարել ցանկացած SQL արտադրության մեջ»։ Կարդալը ցածր ռիսկ է, իսկ փոփոխությունները և ջնջումները կենդանի տվյալների վրա պահանջում են պահուստ և երկրորդ հայացք։ Տե՛ս ինչպես պահուստավորել ձեր հավելվածի տվյալների բազան։
Ինչ հարցնել ձեր AI կառուցողից
- «Ցույց տուր իմ տվյալների բազայի աղյուսակները և ինչ է նշանակում յուրաքանչյուր սյունակ։»
- «Գրիր միայն կարդացող հարցում․ քանի՞ նոր գրանցում է եղել օրական վերջին 30 օրում։»
- «Նախքան որևէ UPDATE կամ DELETE կատարելը, ցույց տուր հարցումը և թե քանի տող կազդվի։»
- «Ավելացրու index-ներ այն սյունակների վրա, որոնցով ամենից հաճախ ենք զտում և դասավորում։»
- «Ապահովիր, որ օգտատիրոջ մուտք օգտագործող յուրաքանչյուր հարցում պարամետրացված լինի։»
- «Փաթաթիր պատվերների և վճարումների թարմացումները transaction-ի մեջ, որ կես-հաջողված չլինեն։»
SQL-ը Mythex-ում
Երբ ձեր հավելվածին պետք է տվյալներ պահել, Mythex-ը նախագծին ավելացնում է առանձին Postgres տվյալների բազա․ խնդրեք չաթում, օրինակ՝ «պահիր սպասողական ցուցակի էլ․ հասցեները տվյալների բազայում», կամ օգտագործեք /database հրամանը (Database)։ Գործակալը ստեղծում է աղյուսակները և գրում հարցումները, և կարող եք Ask ռեժիմում խնդրել բացատրել ցանկացած հարցում պարզ լեզվով։ Տվյալների բազայի մասին ավելին կարդացեք ինչ է Postgres-ը էջում։
Հարցեր
Ի՞նչ է SQL-ը պարզ ասած
SQL-ը (Structured Query Language) հարաբերական տվյալների բազաների հետ աշխատելու ստանդարտ լեզուն է։ Այն օգտագործում եք տվյալներին հարցեր տալու համար, օրինակ՝ «այս շաբաթ որո՞նք են եղել պատվերները», և գրառումներ ավելացնելու, փոխելու կամ ջնջելու համար։
Ինչպե՞ս արտասանել SQL-ը
Երկուսն էլ՝ «S-Q-L» (տառերը առանձին արտասանելով) և «sequel»-ը, տարածված և ճիշտ են։ Լեզուն սկզբում կոչվում էր SEQUEL, և երկրորդ արտասանությունը այստեղից է։
SQL-ը ծրագրավորման լեզու է՞
SQL-ը տվյալների կառավարման համար նախատեսված հարցումների լեզու է։ Դուք նկարագրում եք, թե ինչ արդյունք եք ուզում, և տվյալների բազան ինքն է որոշում, թե ինչպես ստանալ այն։ Այն ինքնուրույն չի օգտագործվում ամբողջ հավելվածներ կառուցելու համար, բայց գրեթե յուրաքանչյուր հավելվածի մաս է կազմում, որ օգտագործում է հարաբերական տվյալների բազա։
Դժվա՞ր է SQL-ը սովորել
Հիմունքները մատչելի են․ SELECT, WHERE, ORDER BY, INSERT, UPDATE և DELETE հրամանները ծածկում են օրական կարիքների մեծ մասը և գրեթե անգլերենի պես են կարդացվում։ Join-երը, խմբավորումը և կատարողականի կարգավորումը ավելի երկար են տիրապետելու համար։
Պե՞տք է իմանալ SQL, որպեսզի AI-ով հավելված կառուցեմ
Ոչ։ AI կառուցողը SQL-ը կամ տվյալների բազայի կոդը ձեզ համար գրում է։ Մի քիչ իմանալը օգնում է ստուգել ձեր տվյալները, խնդրել հաշվետվություններ և նկատել վտանգավոր փոփոխությունները, նախքան դրանք տեղի ունենան։