MySQL formázó
Formázza a MySQL lekérdezéseket és szkripteket a MySQL szabályai szerint, kezelve a fordított aposztróffal idézőjelezett azonosítókat, a karakterláncokban lévő fordított perjeles escape-eket, a # megjegyzéseket és a DELIMITER blokkokat. Minden záradék külön sorba kerül, az oszlopok és feltételek behúzást kapnak, az olyan MySQL záradékok pedig, mint az ON DUPLICATE KEY UPDATE, együtt maradnak. A le nem zárt karakterláncokat, megjegyzéseket és zárójeleket sor- és oszlopszámmal jelzi, így a fejlesztők könnyebben olvashatják és tekinthetik át az adatbáziskódot.
Gyakran ismételt kérdések
Milyen MySQL szintaxist ismer a formázó?
Felismeri a fordított aposztróffal idézőjelezett azonosítókat, az egyszeres és dupla idézőjelek közötti, fordított perjeles escape-eket és megkettőzött idézőjeleket tartalmazó karakterláncokat, a hexadecimális, bit- és nemzeti karakterkészletű literálokat, például X'FF', B'101' és N'text', a karakterkészlet-bevezetőket, például _utf8mb4'text', valamint a @user változókat. A literálokon belüli tartalom pontosan úgy marad, ahogy le van írva.
Hogyan kezeli a megjegyzéseket?
A hash megjegyzések (#) és a dupla kötőjeles megjegyzések (--) a helyükön maradnak. Ahogy a MySQL esetében is, a dupla kötőjel csak akkor kezd megjegyzést, ha szóköz vagy sortörés követi, ezért az a--1 kifejezés marad. A végrehajtható verziómegjegyzések változatlanul maradnak.
Hogyan rendezi el a lekérdezést?
A fő záradékok, például a SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY és LIMIT, külön sorba kerülnek, tartalmuk pedig behúzást kap. A kiválasztott oszlopok külön sorba kerülnek, az AND és OR új sorban kezdődik, a JOIN műveletek pedig szintén külön sort kapnak.
Támogatja a MySQL-specifikus záradékokat?
Igen. Az ON DUPLICATE KEY UPDATE, LOCK IN SHARE MODE, FOR UPDATE és FOR SHARE egyetlen záradékként, együtt maradnak, nem tördelődnek több sorba.
Formázhatok tárolt eljárásokat és triggereket?
Igen. A DELIMITER parancsok külön sorban maradnak, az egyéni elválasztó, például a // vagy a $$ zárja le az utasítást, a BEGIN és END blokkok pedig az IF, WHILE és LOOP részekkel együtt behúzást kapnak.
Megváltoztatja a kulcsszavak kis- és nagybetűit?
Nem. A kulcsszavak, függvénynevek és azonosítók megőrzik az általad használt kis- és nagybetűzést, így a select és a SELECT is változatlan marad. Csak a szóközök és a sortörések változnak.
Ellenőrzi a formázó, hogy érvényes-e a lekérdezésem?
Ellenőrzi, hogy a karakterláncok, az idézőjelek közé tett azonosítók és a blokkmegjegyzések le vannak-e zárva, valamint hogy a zárójelek kiegyensúlyozottak-e, a problémákat pedig sor- és oszlopszámmal jelzi. Nem futtatja le a lekérdezést, és nem ellenőrzi a táblaneveket vagy a teljes MySQL nyelvtant.
Módosíthatom a behúzást?
Igen. Minden szinthez választhat 2 vagy 4 szóközt, illetve tabulátort. A rövid, zárójelek közötti listák egy sorban maradnak, a hosszabb listák és allekérdezések viszont behúzott blokkba kerülnek.
Mekkora lehet a bemenet?
Kérésenként legfeljebb 1 MB SQL, egyetlen utasítás mérete pedig legfeljebb 128 KB lehet. A sok utasítást tartalmazó szkriptek utasításonként formázódnak, az utasításokat pedig üres sorok választják el.
Tárolódik a SQL?
Nem. A lekérdezések formázása memóriában történik, majd azonnal visszaküldjük őket. Soha nem mentjük el őket, csak a kérések méretét naplózzuk.