SQL Хэлбэржүүлэгч

SQL-ийг хэлбэржүүлж, хүсэлтийг хэсэг бүрээр нь энгийн хэлээр уншаарай.

SQL оролт

Догол мөр
Түлхүүр үгс
query.sql
Харах
Хүсэлтийг хэлбэржүүлэх эсвэл тайлбарлахын тулд энд наана уу.

Таны SQL-ийг хөтөч дотор тань хэлбэржүүлж, шинжилдэг. BroBroGo руу юу ч илгээгдэхгүй.

Түгээмэл асуултууд

Ямар SQL диалектуудыг хэлбэржүүлж чадах вэ?

Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake болон Spark SQL. Түлхүүр үгс болон хашилтыг тухайн системийн хүлээж авах хэлбэрээр боловсруулахын тулд өөрийн өгөгдлийн санд тохирохыг нь сонгоно уу.

Энгийн хэлээр тайлбарлах үйл явц хэрхэн ажилладаг вэ?

Энэ нь хүсэлтийн бүтцийг — илэрхийллийн төрөл болон SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY зэрэг хэсэг бүрийг уншиж, тус бүр нь юу хийдэг болохыг тэмдэглэдэг. Энэ нь өгөгдлийн сангийн гүйцэтгэлийн төлөвлөгөө биш, харин хүсэлтийн ерөнхий бүтцийг тайлбарладаг тул дутуу эсвэл тухайн системд зориулсан SQL дээр ч ажиллана.

Бодит орчны (production) хүсэлтүүдийг наах нь аюулгүй юу?

Тийм ээ. Хэлбэржүүлэлт болон шинжилгээ нь бүхэлдээ таны хөтөч дээр ажилладаг — таны SQL энэ хуудаснаас гадагш илгээгдэхгүй.

SQL Кодыг Хэлбэржүүлэх Шаардлага ба Түүний Ач Холбогдол

Програм хангамж хөгжүүлэлт, өгөгдлийн шинжилгээ болон өгөгдлийн сангийн удирдлагын явцад уншихад хүндрэлтэй, эмх замбараагүй бичигдсэн SQL хүсэлтүүдтэй ажиллах шаардлага байнга гардаг. Нэг мөрөнд урт үргэлжилсэн эсвэл догол мөрний стандарт баримтлаагүй бичсэн код нь алдаа хайх (debugging) болон хамтран ажиллах явцыг удаашруулдаг. SQL кодыг зөв хэлбэржүүлж, цэгцтэй болгосноор дараах давуу талууд бий болно:

  • Хамтын ажиллагаа сайжирна: Багийн гишүүд нэг ижил стандартаар хэлбэржүүлсэн кодыг хурдан ойлгож, засварлах боломжтой болно.
  • Алдааг хурдан илрүүлнэ: Догол мөр болон түлхүүр үгсийн зөв бүтэц нь синтаксийн болон логикийн алдааг харахад хялбар болгодог.
  • Ойлгоход хялбар: Нарийн төвөгтэй, олон дэд хүсэлт (subquery) болон холболт (JOIN) ашигласан кодын бүтцийг шууд уншиж таних боломжийг олгоно.

Энэхүү хэрэгсэл нь эмх замбараагүй SQL кодыг цэгцлэхээс гадна, хүсэлтийн хэсэг бүрийг энгийн хэлээр тайлбарлан харуулдаг онцлогтой.

Оролтын Тохиргоо болон Дэмжих Диалектууд

Хэрэглэгч өөрийн хэрэгцээнд нийцүүлэн дараах тохиргоонуудыг хийж, SQL кодоо оруулах боломжтой:

  • SQL оролт: Хэлбэржүүлэх шаардлагатай SQL хүсэлтийг оруулна. Оруулах тэмдэгтийн дээд хязгаар нь 300,000 тэмдэгт байна.
  • Диалект: Өгөгдлийн сангийн системийн онцлогоос хамааран дараах диалектуудаас сонгох боломжтой:
    • Standard SQL
    • PostgreSQL
    • MySQL
    • MariaDB
    • SQL Server (T-SQL)
    • Oracle (PL/SQL)
    • SQLite
    • BigQuery
    • Snowflake
    • Spark SQL
  • Догол мөр: Кодын догол мөрийг 2 хоосон зай, 4 хоосон зай эсвэл tab-аар авах сонголттой.
  • Түлхүүр үгс: SQL-ийн үндсэн түлхүүр үгсийг ТОМ ҮСЭГ, жижиг үсэг болгож өөрчлөх эсвэл Хэвээр үлдээх (Keep) сонголтыг хийнэ.

Гаралтын Үр Дүн ба Хэмжигдэхүүнүүд

Хэрэгсэл нь оруулсан SQL кодыг боловсруулж, дараах мэдээллийг шууд харуулдаг:

  • Хэлбэржүүлсэн SQL: Сонгосон диалект болон загварын дагуу цэгцэлсэн бэлэн код.
  • Мөр: Хэлбэржүүлсэн SQL кодын нийт мөрийн тоо.
  • Тэмдэгт: Хэлбэржүүлсэн SQL кодын нийт тэмдэгтийн тоо.
  • Хэмжээ: Хэлбэржүүлсэн SQL кодын файлын хэмжээ.
  • Тайлбарлах: Хүсэлтийн хэсэг бүрийг энгийн хэлээр тайлбарласан бүтэц.

SQL Илэрхийллийн Төрлүүд ба Тэдгээрийн Үүрэг

Хүсэлтийг тайлбарлах явцад илэрхийллийн төрлийг дараах байдлаар ангилж тодорхойлно:

Илэрхийллийн төрөл Тайлбар
SELECT Юуг ч өөрчлөхгүйгээр мөрүүдийг уншиж, буцаадаг хүсэлт.
INSERT Хүснэгтэд шинэ мөрүүд нэмнэ.
UPDATE Одоо байгаа мөрүүдийн утгыг өөрчилнө.
DELETE Хүснэгтээс мөрүүдийг устгана.
CREATE Хүснэгт, харагдац (view) эсвэл индекс зэрэг шинэ объектыг тодорхойлно.
ALTER Одоо байгаа объектын тодорхойлолтыг өөрчилнө.
DROP Өгөгдлийн сангаас объектыг бүрмөсөн устгана.
TRUNCATE Хүснэгтийг хоосолж, бүх мөрийг устгана.
WITH Дараагийн хүсэлтэд зориулж нэрлэсэн түр зуурын үр дүнг (CTE) үүсгэнэ.
MERGE Нэгдсэн нэг үйлдлээр мөрүүдийг нэмэх, шинэчлэх эсвэл устгах үйлдлийг хийнэ.
OTHER SQL илэрхийлэл.

SQL Хэсгүүдийн Гүйцэтгэх Үүрэг

Хүсэлтийн доторх хэсэг (clause) бүрийн гүйцэтгэх үүргийг дараах байдлаар нарийвчлан тайлбарладаг:

  • Буцаах баганууд болон илэрхийллүүд (SELECT): Хүсэлтээр сонгон авч буй өгөгдлийн баганууд.
  • Давхардсан мөрүүдийг хасаж буцаах баганууд (SELECT DISTINCT): Зөвхөн давхардаагүй өгөгдлийг шүүж авах хэсэг.
  • Өгөгдлийг унших хүснэгт (эсвэл дэд хүсэлт) (FROM): Эх сурвалж болох үндсэн хүснэгт.
  • Мөр бүрийг өөр хүснэгтийн тохирох мөрүүдтэй нэгтгэнэ (JOIN): Хүснэгтүүдийг хооронд нь холбох үйлдэл.
  • Зөвхөн энэ нөхцөлийг хангасан мөрүүдийг үлдээнэ (WHERE): Өгөгдлийг шүүх үндсэн нөхцөл.
  • Мөрүүдийг бүлэгт хувааж, бүлэг бүрийн хувьд COUNT эсвэл SUM зэрэг нэгтгэсэн утгыг тооцоолох боломжийг олгоно (GROUP BY): Өгөгдлийг бүлэглэх үйлдэл.
  • Нэгтгэсэн утгуудыг тооцоолсны дараа тэдгээр бүлгүүдийг шүүнэ (HAVING): Бүлэглэсэн үр дүнгээс дахин шүүлт хийх нөхцөл.
  • Үр дүнгийн мөрүүдийг эрэмбэлнэ (ORDER BY): Өгөгдлийг өсөх эсвэл буурах дарааллаар эрэмбэлэх.
  • Буцаах мөрийн дээд хязгаарыг тогтооно (LIMIT): Үр дүнгийн мөрийн тоог хязгаарлах.
  • Үр дүнг буцаахаас өмнө тодорхой тооны мөрийг алгасна (OFFSET): Эхний тодорхой тооны мөрийг алгасаж харуулах.
  • Эдгээр үр дүнг өөр хүслтийн үр дүнтэй нэгтгэнэ (UNION): Олон хүсэлтийн үр дүнг нэгтгэх үйлдэл.
  • Нэмж буй мөрийн утгууд (VALUES): Шинээр оруулах өгөгдлийн утга.
  • Шинэ мөрүүдийг хүлээн авах хүснэгт (INTO): Өгөгдөл нэмж буй хүснэгт.
  • Олгох шинэ баганын утгууд (SET): Шинэчлэх өгөгдлийн утгыг зааж өгөх хэсэг.
  • Мөрүүдийг нь өөрчлөх хүснэгт (UPDATE): Өөрчлөлт оруулж буй хүснэгт.
  • Мөрүүдийг устгах хүснэгт (DELETE FROM): Өгөгдөл устгах хүснэгт.
  • Доор ашиглах нэрлэсэн түр зуурын үр дүнгийн олонлогийг тодорхойлно (WITH): Түр зуурын үр дүнгийн олонлог үүсгэх.
  • Илэрхийллийг байгаагаар нь харуулсан байдал (STATEMENT): Тухайн илэрхийллийг хэвээр харуулах.

Ажиллах дүрэм, хязгаарлалт болон нууцлал

Энэхүү хэрэгсэл нь хэрэглэгчийн оруулсан өгөгдлийг боловсруулахдаа дараах дүрмийг баримталдаг:

  • Хэмжээний хязгаарлалт: Хэрэв оруулсан SQL код 300,000 тэмдэгтээс хэтэрвэл "Энэ хүсэлт боловсруулахад хэтэрхий том байна. Жижиг хүсэлт оруулна уу." гэсэн алдааны мэдэгдэл гарна.
  • Синтаксийн алдаа: Оруулсан SQL кодод бичлэгийн алдаа байвал "Энэ SQL-ийг хэлбэржүүлж чадсангүй — синтаксыг шалгана уу." гэсэн мэдэгдэл харагдана. Алдаа гарах үед өмнөх гаралтын үр дүн устахгүй хэвээр үлдэнэ.
  • Цэвэрлэх үйлдэл: "Цэвэрлэх" товчийг дарахад оролт болон гаралтын талбарууд хоосорч, алдааны мэдээллүүд далдлагдан, "Цэвэрлэсэн." гэсэн төлөв харагдана.
  • Тайлбарлах хязгаар: Хэрэв оруулсан кодод 25-аас олон илэрхийлэл байвал зөвхөн эхний 25 илэрхийллийг тайлбарлаж, араас нь "Зөвхөн эхний 25-ыг харуулав." гэсэн тэмдэглэлийг харуулна.
  • Хөтчийн санах ой: Хэрэгсэл нь хэрэглэгчийн ноорог болон харанхуй/гэгээтэй горимын тохиргоог хөтчийн дотоод санах ойд (local storage) хадгалдаг.
  • Өгөгдлийн нууцлал: Таны SQL-ийг хөтөч дотор тань хэлбэржүүлж, шинжилдэг. BroBroGo руу юу ч илгээгдэхгүй. Таны оруулсан код болон хүсэлтүүд энэ хуудаснаас гадагш шилжихгүй тул өгөгдлийн нууцлал бүрэн хадгалагдана.

Түгээмэл Асуулт Хариулт

Ямар SQL диалектуудыг хэлбэржүүлж чадах вэ?
Standard SQL, PostgreSQL, MySQL, MariaDB, SQL Server (T-SQL), Oracle (PL/SQL), SQLite, BigQuery, Snowflake болон Spark SQL. Түлхүүр үгс болон хашилтыг тухайн системийн хүлээж авах хэлбэрээр боловсруулахын тулд өөрийн өгөгдлийн санд тохирохыг нь сонгоно уу.

Энгийн хэлээр тайлбарлах үйл явц хэрхэн ажилладаг вэ?
Энэ нь хүсэлтийн бүтцийг — илэрхийллийн төрөл болон SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY зэрэг хэсэг бүрийг уншиж, тус бүр нь юу хийдэг болохг тэмдэглэдэг. Энэ нь өгөгдлийн сангийн гүйцэтгэлийн төлөвлөгөө биш, харин хүсэлтийн ерөнхий бүтцийг тайлбарладаг тул дутуу эсвэл тухайн системд зориулсан SQL дээр ч ажиллана.

Бодит орчны (production) хүсэлтүүдийг наах нь аюулгүй юу?
Тийм ээ. Хэлбэржүүлэлт болон шинжилгээ нь бүхэлдээ таны хөтөч дээр ажилладаг — таны SQL энэ хуудаснаас гадагш илгээгдэхгүй.