منسّخ SQL
التنسيقنسّخ SQL عبر لهجات عديدة (MySQL، PostgreSQL، T-SQL والمزيد) باستخدام sql-formatter، أو صغّره.
في هذه الصفحة
ما هو منسِّق SQL؟#
يحوّل منسِّق SQL استعلامًا كُتب للمحرّك — كثيرًا ما يكون محشورًا في سطر واحد، أو مَسحوبًا من سجلّ بإزاحة عشوائية — إلى استعلام كُتب للإنسان. تذهب الكلمات المفتاحية إلى سطورها الخاصة، وتتصفّف الأعمدة، وتتقدّم الاستعلامات الفرعية مستوىً واحدًا، ويتوقّف بند WHERE بخمسة شروط AND عن أن يكون جدارًا من النصّ. والعملية العكسية، التصغير، تطوي كلّ تلك المسافات إلى سطر واحد حين يحتاج استعلام للسفر عبر ملفّ إعداد أو معامل واجهة برمجية.
ما يجعل تنسيق SQL متعبًا أنّ كلّ قاعدة بيانات لها لهجتها الخاصة. فاستعلام Postgres بـ RETURNING، واستعلام MySQL بمعرِّفات بين علامات اقتباس عكسية، واستعلام SQL Server بـ TOP (n)، واستعلام BigQuery بقيم البنية والمصفوفات، كلّها تبدو مختلفة، ومنسِّق يتظاهر بأنّ هناك SQL كونيًّا واحدًا سيُخطئ في الحالات الحدّية بشكلٍ خفيّ. وتتعامل هذه الصفحة مع ذلك باستخدام sql-formatter مع اختيار اللهجة الصريح: SQL القياسي، وMySQL، وMariaDB، وPostgreSQL، وSQLite، وT-SQL، وPL/SQL، وBigQuery، وRedshift، وSnowflake، وDB2، وTrino. فتختار اللهجة التي تتحدّثها قاعدتك فعلًا، ويُحلَّل الاستعلام وفقًا لذلك.
كيفية الاستخدام#
- الصق استعلامك في لوحة SQL على اليسار، أو انقر مثال لتحميل مثال قصير.
- اختر لهجة من شريط الأدوات — لهجة قاعدة بياناتك. والافتراضي
sqlنكهة عامة آمنة؛ بدِّل إلىpostgresqlأوmysqlأوtsqlوغيرها حين يستخدم الاستعلام صياغة خاصّة باللهجة. - اختر المسافة البادئة: 2، أو 4، أو علامة جدولة. المسافات الأربع شائعة لـ SQL لأنها تُبقي قوائم الأعمدة الطويلة مقروءة.
- انقر فعلًا:
- تنسيق — إعادة إزاحة، وكسر الاستعلام على أسطر منطقية، وكتابة الكلمات المفتاحية بأحرف كبيرة افتراضيًّا، فتبرز
SELECTوFROMوWHEREعن المعرِّفات. - ضغط — تجريد تعليقات
--السطرية وتعليقات/* */الكتلية، ثمّ طيّ كلّ سلسلة مسافات إلى مسافة مفردة. وتصير الأسطر الجديدة مسافات، وهو آمن لـ SQL لأنّ العبارات تنتهي بفاصلة منقوطة، لا بسطر جديد.
- تنسيق — إعادة إزاحة، وكسر الاستعلام على أسطر منطقية، وكتابة الكلمات المفتاحية بأحرف كبيرة افتراضيًّا، فتبرز
- اقرأ النتيجة في لوحة الإخراج. واستخدم نسخ لأخذها؛ ومسح تُعيد اللوحتين.
الميزات الرئيسية#
- اثنتا عشرة لهجة. MySQL، وMariaDB، وPostgreSQL، وSQLite، وT-SQL، وPL/SQL، وBigQuery، وRedshift، وSnowflake، وDB2، وTrino، إضافةً إلى SQL القياسي العام. تتغيّر قواعد المنسِّق لتطابق، فتُوضَع الكلمات المفتاحية الخاصّة باللهجة بشكل صحيح.
- حالة الكلمات المفتاحية. يكتب التنسيق الكلمات المفتاحية بأحرف كبيرة افتراضيًّا (فيصير
selectهوSELECT) ويترك معرِّفاتك سليمة. هذا تجميلي بحت ولا يُغيّر ما يفعله الاستعلام أبدًا. - تصغير آمن. تنطوي المسافات إلى مسافات مفردة؛ وSQL يُنهى بالفاصلة المنقوطة، فدمج الأسطر لا يَصهر عبارتين كما في اللغات الحسّاسة للأسطر.
- تجريد التعليقات عند التصغير. تُزال تعليقات
--و/* */معًا عند التصغير، فتبقى الحمولة مُحكمة. - لوحتان، جاهز للنسخ، بالكامل من جهة العميل. يجري المنسِّق في متصفحك؛ ولا يُرسل الاستعلام إلى أيّ مكان.
مثال عملي#
استعلام تقارير مُفرَغ على سطر واحد، مع تعليق، ووصلة، وGROUP BY:
المدخل:
select u.id,u.name,count(o.id) as orders from users u join orders o on o.user_id=u.id where u.status='active' and o.created_at >= '2026-01-01' group by u.id,u.name order by orders desc
اختر postgresql بوصفها اللهجة، ثمّ انقر تنسيق بـ 2 مسافة:
SELECT
u.id,
u.name,
count(o.id) AS orders
FROM
users u
JOIN orders o ON o.user_id = u.id
WHERE
u.status = 'active'
AND o.created_at >= '2026-01-01'
GROUP BY
u.id,
u.name
ORDER BY
orders DESC
لكلّ بند سطره الخاصّ الآن، وشرط الوصلة ظاهر، وبندا WHERE مفصولان فتعرف بنظرة أنّ مرشّح التاريخ >= لا >. وذهبت حالة الكلمات المفتاحية إلى الأحرف الكبيرة بينما بقيت أسماء الأعمدة كما كُتبت تمامًا. انقر ضغط على المدخل نفسه فتحصل على الصيغة أحادية السطر، جاهزة للّصق في إعداد أو معامل ?query=:
select u.id,u.name,count(o.id) as orders from users u join orders o on o.user_id=u.id where u.status='active' and o.created_at >= '2026-01-01' group by u.id,u.name order by orders desc
الأسئلة الشائعة#
أيّ لهجة يجب أن أختار؟#
طابِق قاعدة بياناتك. وإن لم تكن متأكدًا، فـ sql العام نقطة بداية معقولة وتُعالج البنود الشائعة بصورة صحيحة. وبدِّل إلى اللهجة المحدّدة حين يستخدم الاستعلام صياغة لا يتوقّعها النحو العام — RETURNING (Postgres)، ومعرِّفات الاقتباس العكسي (MySQL)، وTOP (n) (T-SQL)، أو قيم البنية/المصفوفة (BigQuery). واختيار اللهجة الخاطئة يُنسِّق عادةً لكنه قد يُسيء وضع كلمة مفتاحية غريبة.
لماذا يكتب التنسيق الكلمات المفتاحية بأحرف كبيرة لا أسماء أعمدتي؟#
لأنّ كتابة الكلمات المفتاحية بأحرف كبيرة اتفاقية قراءة لا تُغيّر المعنى أبدًا — فـ SELECT وselect متطابقان على المحرّك — بينما قد تكون معرِّفاتك حسّاسة للحالة (Postgres يطوي المعرِّفات بلا اقتباس إلى أحرف صغيرة؛ وMySQL حسّاس للحالة على بعض المنصّات). وترك المعرِّفات سليمة هو الافتراضي الآمن. وإن فضّلت كلمات مفتاحية بأحرف صغيرة، فنسِّق الاستعلام ثمّ قم بجولة يدوية.
هل يحافظ التصغير على النصوص البرمجية متعدّدة العبارات؟#
يَطوي كلّ سلسلة مسافات إلى مسافة مفردة، بما في ذلك الأسطر الجديدة، لكنه يُبقي الفواصل المنقوطة حيث كانت تمامًا. فـ SELECT 1; SELECT 2; تبقى عبارتين مفصولتين بـ ;. ومع ذلك، فبالنصّ البرمجي ترحيل طويل بعدد عبارات كثيرة، تكون الصيغة المُصغَّرة أحادية السطر صعبة القراءة وصعبة التنقيح — فالتصغير يناسب استعلامًا مفردًا أو دفعة قصيرة.
هل استعلامي مرفوع إلى أيّ مكان؟#
لا. المنسِّق مُدمَج في الصفحة ويجري محليًّا في متصفحك. لا شيء عن SQL خاصّك — لا أسماء الجداول، ولا القيم الحرفية — يغادر التبويب.