أساسيات الاستعلام
أساسيات كتابة وتنفيذ وإدارة استعلامات SQL باستخدام محرر الاستعلام القوي في HarborDB.
مرحباً بك في عالم استعلامات SQL في HarborDB! سيعلمك هذا الدليل أساسيات كتابة وتنفيذ وإدارة استعلامات SQL باستخدام محرر الاستعلام القوي في HarborDB.
مقدمة إلى SQL في HarborDB
محرر الاستعلام في HarborDB مصمم لجعل كتابة وتنفيذ استعلامات SQL بديهية وفعالة. سواء كنت تسترد البيانات أو تحدث السجلات أو تنشئ كائنات قاعدة البيانات، يوفر HarborDB سير عمل مبسطاً بميزات مثل تمييز بناء الجملة والإكمال التلقائي والنتائج في الوقت الفعلي.
الميزات الرئيسية لمحرر الاستعلام
- تمييز بناء الجملة: الكلمات الرئيسية للـ SQL والدوال والقيم الثابتة ملونة لسهولة القراءة
- الإكمال التلقائي: أسماء الجداول وأسماء الأعمدة والكلمات الرئيسية للـ SQL مقترحة أثناء الكتابة
- علامات تبويب متعددة: اعمل مع عدة استعلامات في وقت واحد في علامات تبويب منفصلة
- لوحة النتائج: عرض نتائج الاستعلام مباشرة أسفل المحرر
- خيارات التصدير: تصدير النتائج إلى CSV أو JSON بنقرة واحدة
- سجل الاستعلامات: الوصول إلى الاستعلامات التي تم تنفيذها مؤخراً
- الإشارات المرجعية: احفظ الاستعلامات المستخدمة بشكل متكرر للوصول السريع
كتابة أول استعلام لك
عبارة SELECT الأساسية
أكثر استعلام SQL أساسي يسترد البيانات من جدول:
SELECT * FROM users;
هذا الاستعلام:
- SELECT *: يعيد جميع الأعمدة من الجدول
- FROM users: يحدد الجدول للاستعلام
- ;: ينهي العبارة (اختياري في HarborDB)
تحديد أعمدة محددة
لاسترداد أعمدة محددة فقط:
SELECT first_name, last_name, email FROM users;
تحديد النتائج
عند العمل مع جداول كبيرة، من الممارسات الجيدة تحديد النتائج:
SELECT * FROM orders LIMIT 10;
واجهة محرر الاستعلام
المكونات الرئيسية
- منطقة المحرر: اكتب استعلامات SQL الخاصة بك هنا
- شريط الأدوات: عناصر التحكم في التنفيذ والإلغاء والتنسيق والتصدير
- لوحة النتائج: تعرض نتائج الاستعلام ومعلومات التنفيذ
- شريط الحالة: يظهر معلومات الاتصال وعدد الصفوف ووقت التنفيذ
اختصارات لوحة المفاتيح
| الاختصار | الإجراء |
| -------------- | -------------------- |
| ⌘ + R | تنفيذ الاستعلام |
| ⌘ + . | إلغاء الاستعلام |
| ⌘ + T | علامة تبويب استعلام جديدة |
| ⌘ + W | إغلاق علامة التبويب الحالية |
| ⌘ + S | حفظ الاستعلام |
| ⌘ + F | البحث في الاستعلام |
| ⌘ + / | تبديل التعليق |
| Tab | مسافة بادرة للتحديد |
| Shift + Tab | إزالة المسافة البادرة للتحديد |
تنفيذ الاستعلامات
التنفيذ خطوة بخطوة
- اكتب استعلامك في المحرر
- انقر على زر التشغيل (▶) أو اضغط
⌘ + R - اعرض النتائج في لوحة النتائج
- تحقق من معلومات التنفيذ في شريط الحالة
تنفيذ جزء من الاستعلام
يمكنك تنفيذ جزء فقط من الاستعلام:
- حدد النص الذي تريد تنفيذه
- انقر بزر الماوس الأيمن واختر "تنفيذ التحديد"
- أو استخدم اختصار لوحة المفاتيح
⌘ + Shift + R
نتائج التنفيذ
بعد تشغيل استعلام، سترى:
- شبكة النتائج: البيانات معروضة في جدول قابل للفرز والتصفية
- عدد الصفوف: إجمالي عدد الصفوف المعادة
- وقت التنفيذ: المدة التي استغرقها الاستعلام للتنفيذ
- الرسائل: أي رسائل من PostgreSQL (خاصة لاستعلامات DML)
تصفية البيانات باستخدام WHERE
بند WHERE الأساسي
SELECT * FROM products WHERE price > 100;
شروط متعددة
SELECT * FROM orders
WHERE status = 'shipped'
AND order_date >= '2024-01-01';
مطابقة الأنماط باستخدام LIKE
SELECT * FROM customers
WHERE email LIKE '%@gmail.com';
SELECT * FROM products
WHERE name LIKE 'Pro%';
قيم NULL
-- البحث عن صفوف حيث البريد الإلكتروني هو NULL
SELECT * FROM users WHERE email IS NULL;
-- البحث عن صفوف حيث البريد الإلكتروني ليس NULL
SELECT * FROM users WHERE email IS NOT NULL;
ترتيب النتائج باستخدام ORDER BY
ترتيب تصاعدي (افتراضي)
SELECT * FROM products ORDER BY price;
ترتيب تنازلي
SELECT * FROM products ORDER BY price DESC;
أعمدة ترتيب متعددة
SELECT * FROM employees
ORDER BY department, last_name, first_name;
العمل مع النتائج
عرض النتائج
- التمرير: التنقل عبر النتائج باستخدام الماوس أو لوحة المفاتيح
- الفرز: انقر على عناوين الأعمدة للفرز تصاعدياً/تنازلياً
- التصفية: انقر بزر الماوس الأيمن على عناوين الأعمدة لتصفية القيم
- تغيير الحجم: اسحب حدود الأعمدة لضبط العرض
- إعادة الترتيب: اسحب عناوين الأعمدة لإعادة ترتيب الأعمدة
عمليات الخلية
- نسخ الخلية: انقر نقراً مزدوجاً على خلية أو اضغط
⌘ + C - تحرير الخلية: انقر نقراً مزدوجاً وقم بالتحرير (للتغييرات المحلية فقط)
- عرض المحتوى الكامل: مرّر فوق الخلايا المقطوعة لرؤية التلميح
تصدير النتائج
- انقر على زر التصدير في شريط الأدوات
- اختر التنسيق: CSV أو JSON
- حدد الوجهة: احفظ في ملف أو انسخ إلى الحافظة
- قم بتكوين الخيارات: المحددات والتشفير والعناوين
حفظ وتنظيم الاستعلامات
حفظ الاستعلامات
- انقر على حفظ (
⌘ + S) أو أيقونة الحفظ - اختر الموقع: ملف محلي أو مكتبة HarborDB
- أضف البيانات الوصفية: الاسم والوصف والعلامات
مكتبة الاستعلامات
نظم الاستعلامات المحفوظة في مجلدات:
- المفضلة: ضع نجمة على الاستعلامات المستخدمة بشكل متكرر
- الأخيرة: تتبع الاستعلامات المستخدمة مؤخراً تلقائياً
- العلامات: صنف الاستعلامات بعلامات مخصصة
قوالب الاستعلامات
أنشئ قوالب قابلة لإعادة الاستخدام للاستعلامات الشائعة:
-- قالب: البحث عن المستخدمين غير النشطين
SELECT user_id, email, last_login
FROM users
WHERE last_login < CURRENT_DATE - INTERVAL '90 days'
AND active = true;
أنماط استعلام شائعة
عد السجلات
SELECT COUNT(*) FROM users;
SELECT COUNT(DISTINCT country) FROM customers;
تجميع البيانات
SELECT
category,
COUNT(*) as product_count,
AVG(price) as avg_price,
MIN(price) as min_price,
MAX(price) as max_price
FROM products
GROUP BY category;
استعلامات التاريخ/الوقت
-- طلبات اليوم
SELECT * FROM orders WHERE order_date = CURRENT_DATE;
-- آخر 7 أيام
SELECT * FROM logs
WHERE log_date >= CURRENT_DATE - INTERVAL '7 days';
-- حسب الشهر
SELECT
EXTRACT(MONTH FROM order_date) as month,
COUNT(*) as order_count
FROM orders
GROUP BY EXTRACT(MONTH FROM order_date)
ORDER BY month;
ربط الجداول
SELECT
o.order_id,
o.order_date,
c.first_name,
c.last_name,
c.email
FROM orders o
JOIN customers c ON o.customer_id = c.customer_id
WHERE o.status = 'completed';
أفضل الممارسات
1. ابدأ بـ SELECT *
عند استكشاف جدول جديد، استخدم SELECT * لرؤية جميع الأعمدة، ثم حدد أعمدة محددة.
2. استخدم LIMIT
استخدم LIMIT دائماً عند الاستعلام عن جداول غير مألوفة لتجنب النتائج الساحقة.
3. قم بتنسيق استعلاماتك
استخدم تنسيقاً متسقاً لسهولة القراءة:
- الكلمات الرئيسية بأحرف كبيرة
- مسافة بادرة للاستعلامات المعقدة
- فواصل أسطر للبنود الطويلة
4. علّق على كودك
أضف تعليقات للاستعلامات المعقدة:
-- حساب الإيرادات الشهرية حسب فئة المنتج
-- باستثناء الطلبات المردودة والحسابات الاختبارية
SELECT
DATE_TRUNC('month', order_date) as month,
category,
SUM(amount) as total_revenue
FROM orders
WHERE status != 'refunded'
AND customer_id NOT IN (SELECT customer_id FROM test_accounts)
GROUP BY DATE_TRUNC('month', order_date), category
ORDER BY month DESC, total_revenue DESC;
5. اختبر باستخدام WHERE 1=0
لرؤية هيكل الأعمدة دون جلب البيانات:
SELECT * FROM large_table WHERE 1=0;
استكشاف أخطاء المشكلات الشائعة وإصلاحها
"العلاقة غير موجودة"
- تحقق من تهجئة اسم الجدول وحساسية الأحرف
- تحقق من أنك متصل بقاعدة البيانات الصحيحة
- تأكد من أن لديك الأذونات المناسبة
"العمود غير موجود"
- تحقق من أسماء الأعمدة في بند SELECT
- تحقق من الأخطاء المطبعية
- استخدم
SELECT *لرؤية جميع الأعمدة المتاحة أولاً
استعلامات بطيئة
- أضف
LIMITلاختبار الأداء - تحقق من الفهارس المفقودة
- استخدم
EXPLAINلتحليل خطة الاستعلام - ضع في اعتبارك عوامل الأداء من جانب الخادم
أخطاء الاتصال
- تحقق من أن الاتصال نشط
- تحقق من اتصال الشبكة
- تأكد من أن خادم PostgreSQL قيد التشغيل
الخطوات التالية
الآن بعد أن فهمت أساسيات الاستعلام:
- تدرب مع جداول قاعدة البيانات الخاصة بك
- استكشف دليل تقنيات الاستعلام المتقدمة
- تعلّم عن تصدير البيانات
- جرب تقنيات تحسين الأداء
مرجع سريع
بنود SQL الأساسية
SELECT- اختيار الأعمدة المراد إرجاعهاFROM- تحديد الجدول للاستعلامWHERE- تصفية الصفوفORDER BY- ترتيب النتائجLIMIT- تحديد عدد الصفوفGROUP BY- تجميع البياناتHAVING- تصفية البيانات المجمعة
دوال شائعة
COUNT()- عد الصفوفSUM()- جمع القيمAVG()- متوسط القيمMIN()/MAX()- إيجاد القيم القصوىCOALESCE()- التعامل مع قيم NULLCONCAT()- دمج السلاسل النصيةEXTRACT()- الحصول على أجزاء التاريخ
هل كان هذا مفيدًا؟
ساعدنا في تحسين هذا التوثيق من خلال تقديم ملاحظات.