Гарын авлагууд

SQL гэж юу вэ? Өгөгдлийн сангийн хэлийг энгийнээр тайлбарлая

SQL (Structured Query Language, «S-Q-L» эсвэл «sequel» гэж дуудна) бол харилцаатай өгөгдлийн сантай ажиллах стандарт хэл юм — мөр, баганатай хүснэгтэд өгөгдлөө хадгалдаг төрлийн, жишээ нь Postgres, MySQL, SQLite, SQL Server. Та SQL-ээр өгөгдлөөсөө асуулт асууна («энэ сард аль үйлчлүүлэгчид захиалсан бэ?») мөн бичлэг нэмэх, өөрчлөх, устгах боломжтой. Энэ нь 1970-аад оноос хойш байсаар ирсэн, олон улсын стандарт бөгөөд дэлхийн аппликейшнуудын асар их хувийг тэжээдэг.

AI-аар бүтээхэд SQL яагаад чухал вэ

AI аппликейшн бүтээгчээс «захиалгуудыг хадгал» эсвэл «ирэх захиалгуудын жагсаалтыг харуул» гэж хүсэх үед өгөгдлийн сантай ямар нэг зүйл холбогдох ёстой — ихэвчлэн аппликейшнд энэ нь SQL, шууд бичигдсэн эсвэл ORM-оор үүсгэгдсэн.

Та SQL-ийг өөрөө бичих шаардлагагүй, гэхдээ бага зэрэг ойлголт ашигтай:

  • Өөрийн өгөгдлөө шалгаж чадна. Богино query «энэ долоо хоногт хэдэн шинэ бүртгэл авсан бэ?» гэдэгт шинэ дэлгэц бүтээхээс хурдан хариулна.
  • Илүү сайн тайлан хүсч чадна. «Орлогыг сар болон үйлчилгээгээр бүлэглэ» гэдэг бол 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. Өгөгдөл унших — «Lisbon-д байгаа бүх үйлчлүүлэгчийг харуул»:

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;

Эдгээр нь бараг бүх аппликейшны дөрвөн үндсэн үйлдэлтэй холбогддог — үүсгэх, унших, засах, устгах, CRUD гэж нэрлэгддэг.

Анхааруулга: WHERE заалтгүй UPDATE customers SET city = 'Porto'; бүх үйлчлүүлэгчийн хотыг өөрчилнө. Өөрчлөлтийг ажиллуулахаасаа өмнө үргэлж WHERE-ийг шалга.

SQL-ийн гол хэсгүүд

КомандЮу хийдэг вэ
SELECTӨгөгдөл унших
INSERTШинэ мөр нэмэх
UPDATEБайгаа мөрийг өөрчлөх
DELETEМөр устгах
CREATE TABLE / ALTER TABLEХүснэгтийн бүтцийг үүсгэх эсвэл өөрчлөх
WHEREАль мөр нөлөөлөхийг шүүх
JOINХолбоотой хүснэгтүүдийг нэгтгэх
GROUP BYМөрүүдийг бүлэгт нэгтгэх, COUNT, SUM, AVG-тай хамт
ORDER BY / LIMITҮр дүнг эрэмбэлэх, хязгаарлах

SQL стандартчилагдсан боловч өгөгдлийн сан бүр өөрийн нэмэлтийг, dialect гэдгийг нэмдэг. Postgres, MySQL, SQLite дээрх жишээг бүгд ойлгодог, харин огнооны функц зэрэг нарийн зүйлс бага зэрэг ялгаатай байдаг.

Гол нэр томьёо

Нэр томьёоУтга
QuerySQL статемент, ялангуяа өгөгдөл уншдаг.
Хүснэгт / мөр / баганаТөрөл / нэг бичлэг / нэг шинж чанар.
Primary keyМөр бүрийг өвөрмөцөөр тодорхойлдог багана, ихэвчлэн id.
Foreign keyӨөр хүснэгтийн мөрийг заадаг багана, жишээ нь customer_id.
IndexБаганад хайлтыг мэдэгдэхүйц хурдан болгодог хайлтын бүтэц.
SchemaБүх хүснэгт, баганын бүтэц.
TransactionХамт амжилттай эсвэл бүтэлгүйтдэг өөрчлөлтүүдийн багц.
SQL injectionХэрэглэгчийн оролтыг query-д нууж оруулдаг халдлага. Parameter-тай query-ээр сэргийлдэг.

Түгээмэл буруу ойлголт

  • «SQL бол өгөгдлийн сан.» SQL бол хэл; Postgres, MySQL, SQLite бол түүнээр ярьдаг өгөгдлийн сангууд.
  • «SQL хуучирсан, тэгэхээр хуучрасан.» Энэ нь төлөвшсөн, хуучирсан биш. Орчин үеийн өгөгдлийн сан болон өгөгдлийн хэрэгсэл үүнийг ашигладаг бөгөөд шинэ зарим нь SQL дэмжлэгээ нэмдэг.
  • «Зөвхөн программистууд SQL ашиглана.» Аналистууд, маркетерууд, founder-ууд энгийн query-г өдөр бүр ашигладаг.
  • «SQL уян хатан өгөгдлийг барьж чадахгүй.» Олон SQL өгөгдлийн сан JSON-ыг ч хадгалдаг. Жишээ нь Postgres-д jsonb төрөл байдаг. SQL болон NoSQL-ыг үзнэ үү.
  • «AI-д production дээр дурын SQL ажиллуулахыг зөвшөөрөх нь зүгээр.» Уншихад эрсдэл бага; амьд өгөгдөл дээрх өөрчлөлт, устгалд нөөц хуулбар, дахин шалгалт хэрэгтэй. Аппликейшний өгөгдлийн сангаа хэрхэн нөөцлөх вэ-ыг үзнэ үү.

AI бүтээгчээсээ юу асуух вэ

  • «Өгөгдлийн санд байгаа хүснэгтүүд болон багана бүрийн утгыг харуул.»
  • «Зөвхөн унших query бич: сүүлийн 30 хоногт өдөр бүр хэдэн шинэ бүртгэл авсан бэ?»
  • «Ямар ч UPDATE эсвэл DELETE ажиллуулахаасаа өмнө query-г болон хэдэн мөрөнд нөлөөлөхийг харуул.»
  • «Бид хамгийн их шүүдэг, эрэмбэлдэг баганууд дээр index нэм.»
  • «Хэрэглэгчийн оролт ашигладаг query бүр parameter-тэй байхыг хангаарай.»
  • «Захиалга ба төлбөрийн шинэчлэлтийг transaction-д оруулж, хагас бүтэлгүйтэхгүй байлга.»

Mythex дээр SQL

Аппликейшнд өгөгдөл хадгалах шаардлагатай үед Mythex төсөлд зориулсан Postgres өгөгдлийн сан нэмдэг — чатаар асуу, жишээ нь «waitlist-ийн имэйлүүдийг өгөгдлийн санд хадгал», эсвэл /database командыг ашигла (Өгөгдлийн сан). Агент хүснэгт үүсгэж, query бичдэг, мөн Ask горимд аль ч query-г энгийн англиар тайлбарлуулж болно. Өгөгдлийн сангийн талаар илүү мэдэхийг хүсвэл Postgres гэж юу вэ-ыг уншина уу.

Асуултууд

SQL энгийнээр юу вэ?

SQL (Structured Query Language) бол харилцаатай өгөгдлийн сантай ажиллах стандарт хэл юм. Та үүгээр өгөгдлөөсөө асуулт асууж, жишээ нь «энэ долоо хоногт ямар захиалга өгсөн бэ», мөн бичлэг нэмэх, өөрчлөх, устгах боломжтой.

SQL-ийг яаж дуудах вэ?

«S-Q-L» (үсгээр нь хэлэх) болон «sequel» хоёулаа түгээмэл бөгөөд зөв. Хэл анх SEQUEL гэж нэрлэгдэж байсан тул хоёр дахь дуудлага тэндээс гаралтай.

SQL програмчлалын хэл үү?

SQL бол өгөгдлийг удирдахад зориулагдсан query хэл юм. Та ямар үр дүн хүсэж байгаагаа тодорхойлдог, харин өгөгдлийн сан хэрхэн хүрэхийг өөрөө олдог. Энэ нь ганцаараа бүхэл аппликейшн бүтээхэд ашиглагддаггүй ч харилцаатай өгөгдлийн сан ашигладаг бараг бүх аппликейшны нэг хэсэг юм.

SQL сурахад хэцүү юу?

Үндсэн зүйлс нь хүрч болохуйц: SELECT, WHERE, ORDER BY, INSERT, UPDATE, DELETE нь өдөр тутмын ихэнх хэрэгцээг хангаж, бараг англи хэл шиг уншигддаг. Join, бүлэглэлт, гүйцэтгэлийг сайжруулах нь илүү удаан эзэмшинэ.

AI-аар аппликейшн бүтээхэд SQL мэдэх шаардлагатай юу?

Үгүй. 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 简体中文 繁體中文(香港) 繁體中文(台灣)