MySQL
تعلم MySQL من واجهة سطر الأوامر إلى تصميم المخططات. أساسيات SQL، والربط بين الجداول، والفهارس، والمعاملات، والإجراءات المخزنة، وأمر EXPLAIN، والعمليات.
13 درسًا، بالترتيب
- 120 دقيقة
ما هو MySQL
MySQL هو أحد أكثر قواعد البيانات العلائقية انتشاراً على مستوى العالم. إن سبق لك تسجيل الدخول إلى موقع ووردبريس (WordPress)، أو تصفح منتدى، أو استخدام...
Relational databaseHistory and Oracle ownershipMariaDB forkMySQL vs Postgres trade-offsInnoDB default engine - 225 دقيقة
واجهة سطر أوامر MySQL والأوامر الأولى
كان الدرس السابق كلاماً كله: ما هو MySQL، ومن أين جاء، ولماذا وُجد. ولا شيء من ذلك يمكّنك فعلياً من سؤال الخادم عن أي شيء. وخادم قواعد بيانات لا...
Mysql clientConnecting with -u and -pSHOW DATABASESUSESHOW TABLESDESCRIBE+2 - 330 دقيقة
إنشاء قواعد البيانات والجداول
كل ما فعلته في الدرس السابق كان النظر. اتصلت، وتصفّحت قواعد بيانات النظام، واختلست النظر داخل جدول بناه لك MySQL سلفًا. طريقة جيدة لتألف العميل،...
CREATE DATABASECharacter sets and collationCREATE TABLEPRIMARY KEYAUTO_INCREMENTNOT NULL+3 - 430 دقيقة
أنواع البيانات
عد بنظرك إلى جدول products في الدرس السابق وستلاحظ أن لكل عمود نوعًا: INT وVARCHAR(120) وDECIMAL(10, 2). لم تكن تلك زينة. النوع الذي تختاره لعمود...
INT and BIGINTDECIMAL vs FLOATVARCHAR vs TEXTBOOLEAN as TINYINTDATE vs DATETIME vs TIMESTAMPENUM+1 - 530 دقيقة
SELECT و WHERE
في جدولك عشرة آلاف منتج، وتحتاج الستة التي نفدت من المخزون في فئة الإلكترونيات. كل ما ستفعله بقاعدة بيانات يوما ما هو صورة من تلك الجملة: هذه الصفوف،...
SELECT columnsWHEREAND and ORBETWEENINLIKE with % and _+3 - 635 دقيقة
الـ Joins
مستخدموك يعيشون في جدول وطلباتهم تعيش في جدول آخر، والخيط الوحيد الذي يصل الطلب بمن أصدره رقم في عمود. وهذا الفصل مقصود: يعني أن اسم المستخدم مكتوب...
INNER JOINLEFT JOINRIGHT JOINNo FULL OUTER JOINUNION workaroundSelf-join+1 - 730 دقيقة
التجميعات والتقسيم إلى مجموعات
يسألك أحدهم كيف كان أداء منطقة EU في الربع الماضي. هو لا يريد أربعة آلاف صف، يريد رقمًا واحدًا، وإن جلبت الصفوف الأربعة آلاف كلّها إلى كود التطبيق...
COUNTSUMAVGMIN and MAXGROUP BYHAVING+2 - 830 دقيقة
الفهارس
كانت نقطة تسجيل الدخول تعمل بلا مشكلة مع مئتي مستخدم تجريبي. وفي بيئة الإنتاج، مع أربعة ملايين، صار WHERE email = '[email protected]' يستغرق ثماني...
B-tree indexCREATE INDEXMulti-column index left-prefix ruleUNIQUE indexFULLTEXT indexIndexes hurt write performance - 935 دقيقة
المعاملات ومحركات التخزين
جملتا UPDATE تنقلان عشرين جنيها من Ada إلى Bilal. تُنفَّذ الأولى، ثم ينقطع الاتصال، ولا تحدث الثانية أبدا، وعشرون جنيها لم تعد موجودة. لم يكن في أي...
InnoDB vs MyISAMSTART TRANSACTIONCOMMITROLLBACKIsolation levelsREPEATABLE READ default+1 - 1035 دقيقة
الإجراءات المخزنة والمشغلات
المفترض أن يُكتب كل طلب في النظام إلى سجل التدقيق. ومعظمها يُكتب فعلاً. أما التي لم تُكتب فجاءت من لوحة الإدارة، ومن الاستيراد الليلي، ومن سكريبت...
DELIMITERCREATE PROCEDUREIN and OUT parametersCALLCREATE TRIGGERBEFORE INSERT and AFTER UPDATE+1 - 1135 دقيقة
EXPLAIN وضبط الاستعلامات
"هذا الاستعلام بطيء." ستسمع هذه الجملة ما بقيت في هذه المهنة، والردّ المغري أن تبدأ بتغيير الأشياء: أضف فهرسًا هنا، أعد كتابة الوصل، ربما السبب ORDER...
EXPLAINType column (ALL, ref, range, eq_ref, const)Key and rows columnsEXPLAIN ANALYZE (MySQL 8+)Adding a missing indexSlow query log - 1225 دقيقة
mysqldump والاستعادة
المهمة الليلية تكتب ملفًا على القرص منذ ثمانية أشهر ولم يفتحه أحد قط. هذه ليست نسخة احتياطية، بل ملف مبني على الأمل. النسخة الاحتياطية لا تصير نسخة...
MysqldumpRedirecting to .sqlRestoring with mysql client--single-transaction for InnoDB--no-data for schema only--all-databases - 1350 دقيقة
مشروع التخرج: تصميم مخطط متجر إلكتروني
كل درس حتى الآن سلّمك جدولا وطلب منك الاستعلام عنه. والعمل الحقيقي يسير في الاتجاه المعاكس: يصف لك أحدهم متجرا، وعليك أن تقرر ما هي الجداول، وأي...
Foreign keysON DELETE behaviorIndexes on lookup columnsTransactional order creationEXPLAIN on a real query
تعلّم MySQL بلغتك
كل درس واختبار ورد من المدرس يظهر بلغتك. المدرس الذكي يرد بنفس اللغة التي تكتب بها.
Roles that use MySQL
See how hiring teams interview engineers on MySQL, in production-like environments.
Database Administrator (DBA)
Hire DBAs in real workspaces with PostgreSQL or MySQL, real replication lag, real slow queries and real backups to restore. Live or take-home.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interview