Ուղեցույցներ

Ի՞նչ է 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

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

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-ը կամ տվյալների բազայի կոդը ձեզ համար գրում է։ Մի քիչ իմանալը օգնում է ստուգել ձեր տվյալները, խնդրել հաշվետվություններ և նկատել վտանգավոր փոփոխությունները, նախքան դրանք տեղի ունենան։

Mythex · Pricing · Կառուցեք ամեն ինչ AI-ով · Կաղապարներ կայքերի և հավելվածների համար · Mythex-ի համեմատությունները · AI-ով հավելվածների ստեղծման բառարան · Անվճար գործիքներ AI-ով հավելվածներ ստեղծելու համար · 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 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 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 简体中文 繁體中文(香港) 繁體中文(台灣)