منسّق MySQL
نسّق استعلامات ونصوص MySQL البرمجية وفق قواعد MySQL للتعرّف على المعرّفات المحاطة بعلامات اقتباس خلفية، ومحارف الهروب للشرطة المائلة العكسية في السلاسل، وتعليقات #، وكتل DELIMITER. تبدأ كل عبارة في سطر مستقل، وتُزاح أعمدة الاستعلام وشروطه، وتبقى عبارات MySQL مثل ON DUPLICATE KEY UPDATE معًا. يُبلّغ عن السلاسل والتعليقات والأقواس غير المغلقة مع تحديد السطر والعمود، مما يساعد المطورين على قراءة أكواد قواعد البيانات ومراجعتها.
الأسئلة الشائعة
ما بنية MySQL التي يفهمها المنسّق؟
يتعرّف المنسّق على المعرّفات المحاطة بعلامات اقتباس خلفية، والسلاسل المحاطة بعلامتي اقتباس مفردتين أو مزدوجتين مع محارف هروب للشرطة المائلة العكسية والاقتباسات المكررة، والقيم الحرفية السداسية والثنائية والوطنية مثل X'FF' وB'101' وN'text'، ومقدّمات مجموعة المحارف مثل _utf8mb4'text'، ومتغيرات @user. يبقى كل ما داخل القيمة الحرفية كما كُتب تمامًا.
كيف تُعالَج التعليقات؟
تظل تعليقات الهاش (#) وتعليقات الشرطة المزدوجة (--) في مواضعها. كما في MySQL، لا تبدأ الشرطة المزدوجة تعليقًا إلا إذا تبعها مسافة أو فاصل سطر، لذا يظل a--1 تعبيرًا. وتُحفظ تعليقات الإصدارات القابلة للتنفيذ كما كُتبت.
كيف يُنسّق الاستعلام؟
تبدأ العبارات الرئيسية مثل SELECT وFROM وWHERE وGROUP BY وHAVING وORDER BY وLIMIT في أسطر مستقلة، ويُزاح المحتوى أسفلها. يوضع كل عمود محدد في سطر، وتبدأ AND وOR أسطرًا جديدة، ويُخصّص سطر لكل عملية ربط.
هل يدعم المنسّق عبارات MySQL الخاصة؟
نعم. تبقى ON DUPLICATE KEY UPDATE وLOCK IN SHARE MODE وFOR UPDATE وFOR SHARE مجتمعة في عبارة واحدة بدلًا من تقسيمها على أسطر.
هل يمكنني تنسيق الإجراءات المخزنة والمشغّلات؟
نعم. تبقى أوامر DELIMITER في أسطر مستقلة، وينهي المحدِّد المخصص مثل // أو $$ العبارة، وتُزاح كتل BEGIN وEND التي تتضمن IF وWHILE وLOOP.
هل تغيّر حالة أحرف الكلمات المفتاحية؟
لا. تحتفظ الكلمات المفتاحية وأسماء الدوال والمعرّفات بحالة الأحرف التي كتبتها، لذا يبقى كل من select وSELECT كما هو. لا تتغير إلا المسافات البيضاء وفواصل الأسطر.
هل يتحقق المنسّق من صحة استعلامي؟
يتحقق المنسّق من إغلاق السلاسل والمعرّفات المقتبسة وتعليقات الكتل ومن توازن الأقواس، ويُبلغ عن المشكلات مع تحديد السطر والعمود. ولا ينفّذ الاستعلام أو يتحقق من أسماء الجداول وقواعد MySQL كاملة.
هل يمكنني تغيير المسافة البادئة؟
نعم. اختر 2 أو 4 مسافات أو علامات جدولة لكل مستوى. تبقى القوائم القصيرة الموضوعة بين قوسين في سطر واحد، بينما تبدأ القوائم الأطول والاستعلامات الفرعية كتلة مزاحة.
ما الحد الأقصى لحجم الإدخال؟
حتى 1 MB من SQL لكل طلب، وبحد أقصى 128 KB في العبارة الواحدة. تُنسّق النصوص البرمجية ذات العبارات الكثيرة عبارةً تلو الأخرى، وتُفصل بينها أسطر فارغة.
هل يُخزَّن SQL الخاص بي؟
لا. تُنسّق الاستعلامات في الذاكرة وتُعاد فورًا. لا تُحفظ مطلقًا، ولا تُسجّل إلا أحجام الطلبات.