في هذا الدرس 6تصفّح المواضيع
في قواعد البيانات العلائقية، يُخزَّن كل كيان برمجي داخل جدول مهيكل يتألف من أعمدة مسماة ذات أنواع بيانات صريحة. يسجّل أمر لغة تعريف البيانات CREATE TABLE table_name (col1 TYPE, col2 TYPE, ...) المخطط الهندسي للجدول داخل قاموس البيانات المعاملاتي في MySQL 8، ويخصّص ملف التخزين الفعلي الخاص به على القرص.
-- Create a structured table with explicit column data types
CREATE TABLE products (
product_id INT UNSIGNED,
sku CHAR(10),
title VARCHAR(150),
unit_price DECIMAL(10, 2),
created_at DATETIME
);
يؤدي تنفيذ أمر CREATE TABLE المباشر لجدول موجود مسبقاً في قاعدة البيانات النشطة إلى توقف التنفيذ فوراً وظهور الخطأ رقم 1050. أما إضافة شرط الحماية CREATE TABLE IF NOT EXISTS فتوجّه محرك MySQL إلى تخطي الإنشاء بأمان والاكتفاء بإصدار تنبيه تشخيصي قابل للفحص عبر SHOW WARNINGS دون إيقاف سكربت الترحيل.
-- Safeguard deployment scripts with IF NOT EXISTS
CREATE TABLE IF NOT EXISTS audit_events (
event_id BIGINT UNSIGNED,
event_name VARCHAR(80),
payload JSON,
logged_at TIMESTAMP(3)
);
SHOW WARNINGS;
بعد قوس الإغلاق الخاص بقائمة الأعمدة، يمكنك التصريح بخيارات الجدول الهندسية مثل محرك التخزين ENGINE=InnoDB، ونظام ترميز الحروف CHARACTER SET utf8mb4، وقواعد المقارنة COLLATE utf8mb4_0900_ai_ci، ووصف توثيقي عبر COMMENT. يضمن تحديد هذه الخيارات صراحةً تطابق سلوك الجدول عبر بيئات التطوير والاختبار والإنتاج.
-- Specify storage engine, UTF8MB4 charset, and table comment
CREATE TABLE IF NOT EXISTS lessons_catalog (
lesson_id SMALLINT UNSIGNED,
slug VARCHAR(90),
title_ar VARCHAR(160)
) ENGINE=InnoDB
CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci
COMMENT='Course lessons catalog';
بعد إنشاء الجداول، يستخدم مهندسو قواعد البيانات أوامر الفحص للتحقق من البيانات الوصفية للهيكل. يعرض الأمر SHOW FULL TABLES قائمة بجميع الجداول داخل قاعدة البيانات النشطة مع بيان نوع كل منها. ولفحص أسماء الأعمدة وأنواع بياناتها، نستخدم الأمر DESCRIBE table_name أو اختصاره DESC أو مرادفه SHOW COLUMNS FROM table_name.
-- List database tables and inspect detailed column metadata
SHOW FULL TABLES;
DESCRIBE products;
SHOW FULL COLUMNS FROM lessons_catalog;
بينما يلخّص الأمر DESCRIBE الأعمدة في جدول عرض مبسط، يعيد الأمر SHOW CREATE TABLE table_name بناء جملة CREATE TABLE الكاملة والمطبّعة كما يحتفظ بها محرك MySQL 8 داخلياً، شاملةً الترميز النهائي ومحرك التخزين. كما يمكنك الاستعلام من information_schema.TABLES لقراءة البيانات الهندسية برمجياً.
-- Reconstruct full DDL and inspect table status metadata
SHOW CREATE TABLE lessons_catalog;
SHOW TABLE STATUS;
| أمر SQL | التصنيف | المخرجات / الأثر الفعلي | حالة الاستخدام الهندسي المثلى |
|---|---|---|---|
CREATE TABLE tbl (...) | إنشاء DDL | ينشئ جدولاً أساسياً جديداً في قاموس البيانات وملف .ibd | بناء الجداول الأولية وتحديد أنواع أعمدتها |
CREATE TABLE IF NOT EXISTS | إنشاء آمن | ينشئ الجدول أو يصدر تنبيهاً إذا كان الاسم موجوداً مسبقاً | سكربتات التأسيس والتهيئة القابلة للتكرار بأمان |
SHOW FULL TABLES | فحص قاعدة البيانات | يعرض أسماء الجداول ونوع كل جدول (BASE TABLE) | جرد كافة الجداول الموجودة في قاعدة البيانات النشطة |
DESCRIBE tbl / DESC tbl | فحص الأعمدة | ملخص جدولي لأسماء الحقول وأنواع بياناتها | التحقق السريع من أنواع الأعمدة عبر الطرفية |
SHOW FULL COLUMNS FROM tbl | فحص موسّع | يضيف قواعد المقارنة والصلاحيات والتعليقات لكل عمود | تدقيق ترميز الحروف وقواعد المقارنة على مستوى العمود |
SHOW CREATE TABLE tbl | فحص المخطط الكامل | جملة SQL الكاملة والمطبّعة لإنشاء الجدول | استخراج الكود المصدري الدقيق للجدول وخيارات المحرك |
ملخص الدرس: تعلّمنا في هذا الدرس كيفية إنشاء الجداول في MySQL 8 باستخدام CREATE TABLE وشرط الحماية IF NOT EXISTS مع ضبط خيارات محرك InnoDB وترميز utf8mb4، وكيفية فحص بنية الجداول عبر أوامر SHOW FULL TABLES وDESCRIBE وSHOW FULL COLUMNS وSHOW CREATE TABLE.
الخطوة التالية والدرس القادم: في الدرس القادم سنتعلّم كيفية تطوير وتعديل هيكل الجداول القائمة وإدارة الأعمدة باستخدام أوامر ALTER TABLE.
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
تعلّمنا في هذا الدرس كيفية إنشاء الجداول في MySQL 8 باستخدام CREATE TABLE وشرط الحماية IF NOT EXISTS مع ضبط خيارات محرك InnoDB وترميز utf8mb4، وكيفية فحص بنية الجداول عبر أوامر SHOW FULL TABLES وDESCRIBE وSHOW FULL COLUMNS وSHOW CREATE TABLE. الخطوة التالية: في الدرس القادم سنتعلّم كيفية تطوير وتعديل هيكل الجداول القائمة وإدارة الأعمدة باستخدام أوامر ALTER TABLE.
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Creating Tables إنشاء الجداول
- تعلّم إنشاء الجداول واستعراض بنيتها الهندسية في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
- للمراجعة
- 02 CREATE TABLE DDL Syntax صياغة إنشاء الجداول الهندسية
- المفهوم الهندسي الأساسي لقسم صياغة إنشاء الجداول الهندسية في قواعد بيانات MySQL 8 الحديثة.
- للمراجعة
- 03 IF NOT EXISTS Safety Guard شرط الحماية IF NOT EXISTS
- الصياغة القياسية وقواعد التنفيذ العملي لقسم شرط الحماية IF NOT EXISTS.
- للمراجعة
- 04 InnoDB and UTF8MB4 Options خيارات محرك InnoDB والترميز
- آلية التخزين وأفضل ممارسات محرك InnoDB الخاصة بقسم خيارات محرك InnoDB والترميز.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات2
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 DDL DDL
- Data Definition Language
- مجموعة أوامر SQL المخصصة لتعريف وإدارة هياكل وكائنات قاعدة البيانات مثل إنشاء الجداول وتعديلها.
- للمراجعة
- 02 IBD IBD
- InnoDB File-Per-Table Tablespace (.ibd)
- ملف مساحة التخزين المستقل الذي ينشئه محرك InnoDB على القرص لحفظ بيانات وفهارس كل جدول في MySQL 8.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
افتح عميل MySQL 8 المحلي ونفّذ استعلام SQL المشروح في قسم صياغة إنشاء الجداول الهندسية للتحقق من النتائج.
-
بدّل بين الحالات الثلاث في المحاكي التفاعلي ضمن قسم شرط الحماية IF NOT EXISTS وقارن مخرجات MySQL 8.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.
لمحة عن التحدي4 أسئلة تنتظرك +
أي عبارة تمنع أمر CREATE TABLE من إطلاق الخطأ 1050 عندما يكون اسم الجدول موجوداً مسبقاً؟
اختر شرط الحماية القياسي عند إنشاء الجداول.
ما هو محرك التخزين المعاملاتي الافتراضي للجداول المنشأة حديثاً في MySQL 8؟
حدّد محرك التخزين الافتراضي الآمن ضد الأعطال في MySQL 8.
أي أمر في SQL يعرض قواعد المقارنة والصلاحيات والتعليقات لكل عمود بالإضافة إلى نوع البيانات؟
اختر أمر الفحص الموسّع لتفاصيل الأعمدة.
أي أمر يُرجع نص جملة الإنشاء CREATE TABLE الكاملة والمطبّعة كما يحفظها محرك MySQL؟
حدّد الأمر المسؤول عن استخراج الكود المصدري لهيكل الجدول.