آشنایی با تفاوت های MySQL و MySQLi

مقدمه

سلام به همه پی وی لرنی های عزیز!
MySQL و MySQLi هر دو سیستم مدیریت مدیریت پایگاه داده Database Management Systems هستند.
یک DBMS رابطه ای را بر اساس نهادهایی که نمایانگر روابط دنیای واقعی هستند، مدل سازی می کند.
داده ها در قالب جدولی ذخیره شده و از طریق عادی سازی و محدودیت ها به داده های دیگر ارتباط پیدا می کنند.
در این مقاله قصد آشنایی با تفاوت های MySQL و MySQLi را داریم.

آشنایی با تفاوت های MySQL و MySQLi

بیایید قبل از آشنایی با تفاوت های MySQL و MySQLi با هر یک از این دو به صورت مختصر آشنا شویم.

MySQL چیست؟

MySQL به طور گسترده در بسیاری از برنامه های صنعتی کوچک و بزرگ مورد استفاده قرار می گیرد و قادر به کار با حجم زیادی از داده ها است.
MySQL از زبان استاندارد کوئری (SQL) پشتیبانی می کند و یک سیستم مدیریت پایگاه داده رابطه ای منبع باز است.
این سیستم مدیریت پایگاه داده جزء پرکاربردترین سیستم مدیریت پایگاه داده است و بعضی از اپلیکیشن های سنگین وزن همچون فیسبوک، توییتر، یوتیوب و غیره از آن استفاده می کنند.

MySQLi چیست؟

MySQLi یک درایور پایگاه داده رابطه ای برای ارائه واسط در پایگاه داده های MySQL است.
حرف i در MySQLi مخفف improved است.
MySQLi بیشتر در زبان نویسی PHP استفاده می شود و رویکرد شی گرا دارد.

مقایسه کلی

در جدول زیر می توانید تفاوت های MySQL و MySQLi را به صورت کلی مشاهده نمایید.

مبانی مقایسه بین MySQL و MySQLiMySQLMySQLi
DBMS
MySQL یک سیستم مدیریت پایگاه داده ارتباطی تمام عیار است.MySQLi افزونه ای برای رابط ارائه شده توسط MySQL است و از پایگاه داده MySQL در معماری اساسی استفاده می کند.
پارادایم برنامه نویسی
Procedural ( رویه ای ) –
MySQL یک روش Procedural برای کوئری پایگاه داده است.
Dual دوگانه (رویه ای و شی گرا) –

MySQL یک رویکرد دوگانه دارد و برای کاربرانی که از رابط MySQL در حال مهاجرت هستند یک رویکرد رویه ای قبال پشتیبانی دارد.

علاوه بر آن شما مجاز به استفاده از رویکرد شی گرا هستید.

با این حال ، تفاوت عملکرد قابل توجهی بین هر دو روش وجود ندارد.
شما می توانید رابطی را که با آن راحت تر هستید انتخاب کنید.

 

رابط
Command Line Interface ( رابط خط فرمان ) –
MySQL با رابط خط فرمان ارائه می شود که شبیه به یک کنسول DOS است.
دستورالعمل SQL به عنوان دستور داده می شود و نتایج به صورت جداول در خود کنسول نمایش داده می شود.
Graphical / Programmatic Interface ( رابط گرافیکی / برنامه نویسی ) –
MySQLi دارای یک رابط گرافیکی با پایگاه داده های زیر MySQL است که با کلیک دکمه آن می توانید دستورات خاصی را ارائه دهید و نتایج در صفحه نتایج جداگانه نمایش داده می شوند.
همچنین یک رابط برنامه نویسی وجود دارد که می توانید دستورات اعمال شده API های در معرض را کدگذاری کنید.
زبان های مورد استفاده
C و ++C
MySQL به زبان های C و ++C کدگذاری شده است.
PHP
MySQLi  به زبان PHP نوشته شده است و در درجه اول فقط با زبان نویسی PHP استفاده می شود.
تزریق SQL
مستعد حمله از طریق تزریق SQL –
MySQL مستعد حمله از طریق تزریق SQL است و یک هکر می تواند کوئری malicious را درقسمتهای ورودی کاربر تزریق کرده، که در سرور اجرا می شود و امنیت سیستم را پایین می آورد.
از SQL Injection جلوگیری می کند –
MySQLi دارای مکانیسم های پیشگیری برای حملات SQL Injection است.
هنگامی که یک کوئری SQL از طریق فیلد ورودی کاربر ارسال شود، MySQLi خطایی را برمی گرداند و کوئری را انجام نمی دهد.
پشتبانی از تراکنش ها
تراکنش های ACID –
موتور MySQL یعنی MyISAM به طور کامل از تراکنش های ACID پشتیبانی می نماید.
پشتیبانی از API برای تراکنش ها –
MySQLi پشتیبانی API را برای تراکنش های اساسی MySQL فراهم می کند.
این در واقع به این معنی است که می توان تراکنش را در MySQLi از طریق تماس های API کنترل کرد.
Statement
MySQL اجازه ارسال چندین statements را به سرور می دهد که زمان round-trip از سمت کلاینت به سرور ذخیره شود.MySQLi از چندین statements در پایگاه داده زیر MySQL پشتیبانی می کند.
این پشتیبانی از طریق متود multi_query از شی اتصال MySQL ارائه می شود.
تاریخ عرضه
MySQL در ۲۳ مه ۱۹۹۵ عرضه شد.MySQLi در بسته های متفاوت در سال های ۲۰۰۴ تا ۲۰۰۵ عرضه گردید.

کلام آخر

در این مقاله به آشنایی با تفاوت های MySQL و MySQLi پرداختیم.
MySQLi قطعاً نسخه بهبود یافته MySQL است.
اما انتخاب یکی از آن به تکنولوژی شما بستگی دارد.
PHP از MySQLi پشتیبانی خوبی دارد ، اما در مورد سایر زبانها خیر.
اگر برنامه شما بخشی از(LAMP (Linux ، Apache ، MySQL ، Perl / Python / PHP است، بهتر است از MySQL استفاده کنید.
این امر به این دلیل است که MySQL برای موضوعاتی که ناشی از معماری LAMP است، از پشتیبانی جامع بسیار خوبی برخوردار است.

امیدوارم این مقاله برای شما مفید بوده باشد.
با پی وی لرن همراه باشید.

به اشتراک بگذارید