انتقل إلى محتوى الدرس
الدرس 05
دورة MySQL

إنشاء قواعد البيانات وعرضها واختيارها في MySQLMySQL Creating and Selecting Databases

تعلّم إنشاء قواعد البيانات وعرضها واختيارها في MySQL 8 الحديث باستخدام أوامر CREATE DATABASE و IF NOT EXISTS و SHOW DATABASES و USE.
أقسام الدرس
6
الأمثلة
6
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
7
محتوى الدرس
في هذا الدرس 6تصفّح المواضيع

في خادم MySQL 8.4، تُمثّل قاعدة البيانات (Database) الحاوية المنطقية العُليا التي تجمع جميع الكائنات البرمجية المرتبطة بمشروع واحد داخل نطاق اسم مستقل ومعزول على الخادم:

  • الترادف التام بين الكلمتين: يتعامل محرك MySQL مع الكلمتين المفتاحيتين DATABASE وSCHEMA بوصفهما مترادفتين بنسبة 100% في جميع أوامر لغة تعريف البيانات.
  • عزل المشاريع والصلاحيات: يتيح إنشاء قاعدة مستقلة لكل مشروع فصل البيانات والصلاحيات بدقة تامة على نفس الخادم.
مخطط يوضح إنشاء قواعد البيانات بأمر CREATE DATABASE واستعراضها وتفعيل القاعدة النشطة بأمر USE في MySQL 8.4
SQL
-- In MySQL 8.4, DATABASE and SCHEMA are 100% synonymous
CREATE DATABASE IF NOT EXISTS closetag_store;
CREATE SCHEMA IF NOT EXISTS closetag_analytics;

يُستخدم الأمر CREATE DATABASE لإنشاء قاعدة بيانات جديدة على الخادم، ويُنصح دائماً باتباع قواعد التسمية القياسية لضمان توافق القاعدة مع جميع أنظمة التشغيل:

  • الأحرف الصغيرة مع الشرطة السفلية (snake_case): التزم بالأحرف الإنجليزية الصغيرة والأرقام والشرطة السفلية مثل closetag_academy.
  • تجنب المسافات والشرطة الوسطية: لا تستخدم المسافات أو الشرطة الوسطية في اسم القاعدة حتى لا تضطر لإحاطة الاسم بعلامات Backticks في كل استعلام.
SQL
-- Create a new database with a clean snake_case name
CREATE DATABASE closetag_academy;

-- Inspect the server-generated CREATE DATABASE definition
SHOW CREATE DATABASE closetag_academy;

عند تنفيذ أمر CREATE DATABASE لاسم قاعدة موجودة مسبقاً على الخادم، يتوقف التنفيذ فوراً ويُرجع الخادم الخطأ القاتل رقم 1007 (HY000):

  • التشغيل الآمن المتكرر (Idempotency): تمنع إضافة العبارة IF NOT EXISTS توقف ملفات التهيئة الآلية إذا كانت القاعدة موجودة بالفعل.
  • استعراض التنبيهات عبر SHOW WARNINGS;: يسجل الخادم ملاحظة غير قاتلة برقم 1007 دون المساس بالقاعدة القائمة أو بياناتها.
SQL
-- Safe idempotent creation that never aborts if present
CREATE DATABASE IF NOT EXISTS closetag_academy;

-- View the non-fatal Note 1007 logged by the server
SHOW WARNINGS;

لعرض قائمة قواعد البيانات المتاحة لحسابك على الخادم، نستخدم الأمر SHOW DATABASES; (أو المرادف SHOW SCHEMAS;):

  • قواعد النظام الأربع المدمجة: يضم كل خادم MySQL 8.4 أربع قواعد داخلية للنظام هي: mysql وinformation_schema وperformance_schema وsys.
  • الارتباط بالصلاحيات: لا يعرض الأمر إلا القواعد التي يمتلك حسابك صلاحية الوصول إليها أو رؤيتها.
SQL
-- List all databases visible to your connected session
SHOW DATABASES;

-- Synonym command that returns the exact same list
SHOW SCHEMAS;

إنشاء قاعدة البيانات لا يجعلها نشطة تلقائياً داخل جلسة الاتصال الحالية، بل يجب تحديد القاعدة التي تود العمل بداخلها صراحةً باستخدام الأمر USE database_name;:

  • فحص القاعدة النشطة (SELECT DATABASE();): تعيد هذه الدالة اسم القاعدة المختارة حالياً، أو تعيد القيمة NULL إذا لم يتم اختيار أي قاعدة بعد.
  • نطاق الجلسة: تظل القاعدة المختارة هي الافتراضية طوال جلسة الاتصال الحالية أو حتى تنفذ أمر USE لقاعدة أخرى.
SQL
-- Check active database before selection (returns NULL)
SELECT DATABASE();

-- Switch session context to closetag_store and verify
USE closetag_store;
SELECT DATABASE(), SCHEMA();

يلخص الجدول المرجعي التالي أوامر ودوال إنشاء قواعد البيانات واستعراضها وتفعيلها في MySQL 8.4:

الأمر / الدالة البرمجيةالوظيفة الأساسيةالسلوك عند التكرار أو عدم الوجود
CREATE DATABASE db;إنشاء قاعدة بيانات جديدةيتوقف بخطأ ERROR 1007 إذا كانت موجودة مسبقاً
CREATE DATABASE IF NOT EXISTS db;إنشاء آمن قابل للتكرار دون توقفيكمل التنفيذ ويسجل ملاحظة غير قاتلة Note 1007
SHOW DATABASES;عرض قائمة قواعد البيانات المتاحةيعرض قواعد النظام والقواعد المصرح للمستخدم برؤيتها
SHOW CREATE DATABASE db;عرض جملة الإنشاء والترميز الافتراضييرجع خطأ ERROR 1049 إذا كانت القاعدة غير موجودة
USE db;تعيين القاعدة النشطة للجلسة الحاليةيربط الاستعلامات التالية بهذه القاعدة حتى تغييرها
SELECT DATABASE();استعلام اسم القاعدة النشطة حالياًيرجع القيمة NULL قبل اختيار أي قاعدة
SQL
-- Complete workflow: create safely, select, and verify
CREATE DATABASE IF NOT EXISTS closetag_store;
USE closetag_store;
SELECT DATABASE(), VERSION();
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

تعرفت في هذا الدرس على الترادف التام بين DATABASE وSCHEMA في MySQL، وكيفية إنشاء قواعد البيانات بأمان عبر CREATE DATABASE IF NOT EXISTS، واستعراض القواعد بأمر SHOW DATABASES، وتفعيل القاعدة النشطة بأمر USE والدالة SELECT DATABASE().

الخطوة التالية والدرس القادم

انتقل الآن إلى الدرس السادس «ترميز الأحرف والمقارنات النصية UTF8MB4 في MySQL» لإتقان إعدادات الترميز لدعم اللغة العربية والرموز العالمية.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Creating Databases إنشاء القواعد
تعلّم إنشاء قواعد البيانات وعرضها واختيارها في MySQL 8 الحديث باستخدام أوامر CREATE DATABASE و IF NOT EXISTS و SHOW DATABASES و USE.
للمراجعة
02 Database vs Schema in MySQL مفهوم قاعدة البيانات والمخطط
المفهوم الهندسي والتطبيق العملي المباشر لقسم مفهوم قاعدة البيانات والمخطط في MySQL 8.4.
للمراجعة
03 CREATE DATABASE Statement إنشاء القاعدة بأمر CREATE
المفهوم الهندسي والتطبيق العملي المباشر لقسم إنشاء القاعدة بأمر CREATE في MySQL 8.4.
للمراجعة
04 IF NOT EXISTS Safety Clause شرط الوقاية IF NOT EXISTS
المفهوم الهندسي والتطبيق العملي المباشر لقسم شرط الوقاية IF NOT EXISTS في MySQL 8.4.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 DDL DDL
Data Definition Language
لغة تعريف البيانات التي تضم أوامر إنشاء وهيكلة قواعد البيانات مثل CREATE DATABASE.
للمراجعة
02 CI/CD CI/CD
Continuous Integration / Continuous Deployment
أنابيب التكامل والنشر المستمر التي تعتمد على أوامر الإنشاء الآمنة المتكررة دون توقف.
للمراجعة
03 NULL NULL
Null Marker (No Active Value)
علامة عدم وجود قيمة التي تعيدها الدالة SELECT DATABASE() قبل اختيار أي قاعدة نشطة.
للمراجعة
04 RDBMS RDBMS
Relational Database Management System
نظام إدارة قواعد البيانات العلائقية الذي يعزل قواعد المشاريع المتعددة على نفس الخادم.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. نفّذ أمثلة SQL المشروحة في قسم مفهوم قاعدة البيانات والمخطط على خادم MySQL 8 المحلي وتحقق من النتيجة.

  2. بدّل بين الحالات الثلاث في المحاكي التفاعلي ضمن قسم إنشاء القاعدة بأمر CREATE وقارن مخرجات خادم MySQL.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

7أسئلة 3أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي7 أسئلة تنتظرك
01

في خادم MySQL 8.4، يُعد الأمران CREATE SCHEMA و CREATE DATABASE مترادفين تماماً في الوظيفة والنتيجة.

صواب؛ يتعامل محرك MySQL مع كلمتي SCHEMA و DATABASE بوصفهما مترادفتين تماماً.

02

ما أسلوب التسمية القياسي الموصى به لقواعد بيانات MySQL لتجنب مشاكل حساسية الأحرف بين Linux و Windows؟

الأحرف الإنجليزية الصغيرة مع الشرطة السفلية (lowercase snake_case) تضمن عمل القاعدة على جميع الأنظمة دون أخطاء.

03

ماذا يحدث عند تنفيذ CREATE DATABASE IF NOT EXISTS closetag_store; إذا كانت القاعدة موجودة مسبقاً؟

يتجاوز الخادم الإنشاء بأمان دون إيقاف السكربت ويسجل ملاحظة غير قاتلة (Note 1007) تُعرض بأمر SHOW WARNINGS.

04

أي من قواعد البيانات التالية تُعد من قواعد النظام المدمجة افتراضياً في خادم MySQL 8.4؟ (اختر كل ما ينطبق)

تضم قواعد النظام المدمجة كلاً من mysql و information_schema و performance_schema و sys.

05

أي أمر في لغة SQL يفعّل قاعدة البيانات closetag_store لتكون هي القاعدة النشطة للجلسة الحالية؟

يعيّن الأمر USE closetag_store; قاعدة البيانات المحددة كقاعدة افتراضية للجلسة الحالية.

06

ماذا تُرجع الدالة SELECT DATABASE(); فور الاتصال بخادم MySQL وقبل تنفيذ أي أمر USE؟

تُرجع الدالة SELECT DATABASE() القيمة NULL عندما لا تكون هناك أي قاعدة بيانات مختارة بعد.

07

أي جملة SQL تعرض نص أمر الإنشاء الكامل والترميز الافتراضي المخصص لقاعدة البيانات closetag_store؟

يعرض الأمر SHOW CREATE DATABASE closetag_store; جملة الإنشاء الكاملة مع إعدادات الترميز والمقارنة.