MySQL
MySQL را از خط فرمان تا طراحی اسکیما بیاموزید. مبانی SQL، جوینها، ایندکسها، تراکنشها، رویههای ذخیرهشده، EXPLAIN، و عملیات.
13 درس، به ترتیب
- 120 دقیقه
MySQL چیست
خوش آمدید. اگر تا حالا با هیچ پایگاه دادهای کار نکردهاید، درست جای مناسبی آمدهاید. در این درس هیچ کوئریای برای نوشتن نداریم. فقط میخواهیم بدانیم...
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 دقیقه
ایجاد پایگاههای داده و جداول
هر کاری در درس قبل کردید فقط تماشا بود. وصل شدید، پایگاهدادههای (database) سیستمی را گشتید و داخل جدولی (table) را دید زدید که 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 دقیقه
Join ها
کاربران در یک جدول نشستهاند و سفارشهایشان در جدولی دیگر، و تنها رشتهای که یک سفارش را به کسی که آن را ثبت کرده وصل میکند، عددی در یک ستون است....
INNER JOINLEFT JOINRIGHT JOINNo FULL OUTER JOINUNION workaroundSelf-join+1 - 730 دقیقه
Aggregateها و Grouping
یک نفر میپرسد منطقهی 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 دقیقه
تراکنشها و Storage Engineها
دو دستور UPDATE بیست پوند از Ada به Bilal منتقل میکنند. اولی اجرا میشود، اتصال قطع میشود، دومی هرگز اتفاق نمیافتد و بیست پوند از هستی ساقط...
InnoDB vs MyISAMSTART TRANSACTIONCOMMITROLLBACKIsolation levelsREPEATABLE READ default+1 - 1035 دقیقه
رویههای ذخیرهشده و Trigger ها
قرار است هر سفارشی در سیستم در یک گزارش حسابرسی نوشته شود. بیشترشان نوشته میشوند. آنهایی که نه، از کنسول مدیریت آمدهاند، از ورود دادهی شبانه، و...
DELIMITERCREATE PROCEDUREIN and OUT parametersCALLCREATE TRIGGERBEFORE INSERT and AFTER UPDATE+1 - 1135 دقیقه
EXPLAIN و بهینهسازی Query
«این کوئری کند است.» این جمله را تا آخر عمر کاریتان میشنوید، و پاسخ وسوسهانگیز این است که شروع کنید به عوض کردن چیزها: اینجا یک ایندکس (index)...
EXPLAINType column (ALL, ref, range, eq_ref, const)Key and rows columnsEXPLAIN ANALYZE (MySQL 8+)Adding a missing indexSlow query log - 1225 دقیقه
mysqldump و بازیابی
کار شبانه هشت ماه است هر شب فایلی روی دیسک مینویسد و هیچکس تا حالا بازش نکرده است. آن پشتیبان نیست، فایلی امیدوارکننده است. یک پشتیبان (backup)...
MysqldumpRedirecting to .sqlRestoring with mysql client--single-transaction for InnoDB--no-data for schema only--all-databases - 1350 دقیقه
پروژه نهایی: طراحی یک Schema برای فروشگاه اینترنتی
هر درسی تا اینجا جدولی به شما داد و خواست روی آن کوئری بزنید. کار واقعی برعکس است: کسی فروشگاهی را توصیف میکند و شما باید تصمیم بگیرید جدولها...
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