MySql چیست
یک شرکت سوئدی به نام MySQL AB در ابتدا MySQL را در سال ۱۹۹۴ توسعه داد. شرکت فنی آمریکایی Sun Microsystems پس از خرید MySQL AB در سال ۲۰۰۸، مالکیت کامل را به دست آورد. غول فناوری اوراکل ایالات متحده، در سال ۲۰۱۰ خود Sun Microsystems را به دست آورد و MySQL از آن سال به بعد، متعلق به اوراکل بود.
همانطور که در بالا اشاره شد، mysql می تواند به عنوان جایگزین SQL Server یا مایکروسافت اکسس استفاده شود. در این صورت باید این پایگاه های داده را به یکدیگر تبدیل کنید. برای راهنمایی بیشتر پیشنهاد می کنیم مقاله “تبدیل پایگاه داده های MySQL، SQL Server، Oracle، Microsoft Access به یکدیگر” را مطالعه بفرمایید.
با توجه به تعریف کلی، MySQL در واقع یک سیستم مدیریت پایگاه دادهای است که به صورت رابطهای منبع باز (RDBMS) با یک مدل کلاینت – سرور خدمات دهی میکند. RDBMS نرم افزاری یا خدماتی است که برای ایجاد و مدیریت بانکهای اطلاعاتی بر اساس مدل رابطهای استفاده میشود. اگر نرم افزار از مدل دادههای رابطهای پشتیبانی نمیکند، فقط آن را DBMS مینامند. اکنون، بیایید دقیقتر هر اصطلاح را بررسی کنیم:
بانک اطلاعاتی (Database)
بانک اطلاعاتی به بیان ساده مجموعهای از داده های ساختار یافته است. برای درک بانک اطلاعاتی به گرفتن سلفی فکر کنید: یک دکمه را فشار میدهید و از خود تصویر میگیرید. عکس شما داده است و گالری تلفن شما پایگاه داده است. بانک اطلاعاتی مکانی است که در آن، دادهها ذخیره و سازماندهی میشوند. دادههای ذخیره شده به صورت تعدادی جدول، سازماندهی میشوند. هر جدول به نحوی به دیگر جداول، مربوط میشود.به شما پیشنهاد می شود برای کسب اطلاعات در حوزه structured data چیست مقاله ما را مطالعه نمایید.
MySQL
پیشنهاد ایران هاست برای وب سایت های لینوکس، استفاده از سرورهای ابری با سرعت و Uptime بالاست.
همین امروز سفارش دهید
متن باز (Open source)0 MySQL متن باز یا Open Source است. این مورد بدان معنی است که شما میتوانید بدون آنکه هزینهای به شخص یا سازمانی پرداخت نمایید، از آن استفاده کنید. هرکسی میتواند نرم افزار MYSQL را در پلتفرم خود نصب کند. همچنین میتوانید کد ساختاری آن را آموخته و سفارشی سازی کنید تا بتوانید نیازهای خود را، بهتر برآورده نمایید. با این حال، GPL (مجوز عمومی GNU) بسته به شرایط تعیین میکند چه کارهایی را مجاز هستید که انجام دهید. در صورت نیاز به مالکیت انعطاف پذیرتر و پشتیبانی پیشرفته، نسخه دارای مجوز تجاری در دسترس است.
مدل کلاینت – سرور
کامپیوتر هایی که نرم افزار RDBMS را نصب و راه اندازی میکنند، کلاینت نامیده میشوند. هر زمان که نیازمند دسترسی به دادهها باشند، به سرور RDBMS متصل میشوند. این قسمت “سرور” است.
MySQL یکی از گزینههای مختلف نرم افزار RDBMS است. RDBMS و MySQL به دلیل محبوبیت MySQL اغلب تصور میشوند که یکسان نیستند. برای نامگذاری چند برنامه وب بزرگ مانند Facebook ، Twitter ، YouTube ، Google و Yahoo! همه از MySQL برای اهداف ذخیره سازی داده استفاده میکنند. اگرچه در ابتدا برای استفاده محدود ایجاد شده است، اما اکنون با بسیاری از سیستم عاملهای مهم رایانهای مانند Linux ، macOS ، Microsoft Windows و Ubuntu سازگار است.
به شما پیشنهاد می کنیم مقاله ما را برای کسب اطلاعات در حوزه Database server چیست مطالعه نمایید.
اگر تاکنون با نامهای دیگری که SQL در آنها وجود دارد مانند PostgreSQL و Microsoft SQL Server روبرو شدهاید، آنها به احتمال زیاد پایگاه دادههایی هستند که از syntax SQL نیز، استفاده میکنند. نرم افزار RDBMS اغلب به زبانهای برنامه نویسی دیگر نوشته شده است، اما همیشه از SQL به عنوان زبان اصلی آن برای تعامل با بانک اطلاعاتی استفاده میشود. MySQL خود به زبان C و C ++ نوشته شده است. به کشورهای آمریکای جنوبی فکر کنید، همه آنها از لحاظ جغرافیایی متفاوت هستند و تاریخهای مختلفی دارند، اما همه آنها در درجه اول به زبان اسپانیایی صحبت میکنند.
تد کاد (Ted Codd)، دانشمند علوم کامپیوتر، SQL را در اوایل دهه ۱۹۷۰ با یک مدل رابطه مبتنی بر IBM توسعه داد. در سال ۱۹۷۴ بیشتر مورد استفاده قرار گرفت و سریعاً جایگزین زبانهای قدیمی ISAM و VISAM شد.
کاربرد MySQL
SQL به سرور میگوید چه کاری با دادهها انجام دهد. شبیه به رمز ورود یا کد WordPress شما است. شما برای دستیابی به داشبورد مدیریت، آن را وارد مرورگر میکنید. در این حالت، دستورات SQL میتوانند سرور را به انجام برخی عملیات کنترل کنند:
پرس و جو دادهها (Data query): درخواست اطلاعات خاص از پایگاه داده موجود.
دستکاری دادهها (Data manipulation): اضافه کردن، حذف، تغییر، مرتب سازی و سایر عملیات برای تغییر دادهها، مقادیر یا تصاویر.
هویت داده (Data identity): تعریف انواع داده، به عنوان مثال تغییر دادههای عددی به اعداد صحیح را میتوان نامبرد.
کنترل دسترسی به دادهها (Data access control): ارائه تکنیکهای امنیتی برای محافظت از دادهها، این شامل تصمیم گیری در مورد اینکه چه کسی میتواند اطلاعات موجود در پایگاه داده را مشاهده یا استفاده کند، میشود
کاربرد MySQL:
دیتابیس سرور MySQL جزو یکی از محبوبترین دیتابیس سرورهای دنیا محسوب میشود و برندهای بزرگی همانند Facebook و Google از آن بهره بردهاند. همچنین مجموعهی بزرگ و مهم Wikipedia (مالک وب سایت Wikipedia) نیز برای زیر ساخت پایگاه دادهی خود از این دیتابیس سرور، استفادهمیکند.
میزان سختی:
یادگیری MySQL بسیار آسان است چرا که بسیاری از امکانات پیشرفته را پشتیبانی نمیکند و استفاده از آن برای Database های س��ده و معمولی، پیشنهاد میشود.
MariaDB یک شاخه (Fork) از MySQL MariaDB یک شاخه توسعه یافته در انجمنهای برنامه نویسی از سیستم مدیریت پایگاه داده رابطه ای MySQL است که قصد دارد تحت GNU GPL آزاد بماند.
به دلیل نگرانی در مورد خریداری MySQL توسط اوراکل اصلی MySQL ایجاد شد. MariaDB در نظر دارد سازگاری بالایی با MySQL داشته باشد و از قابلیت جایگزینی MySQL برخوردار باشد و این مهم از طریق مطابقت دقیق با API ها و دستورات MySQL به دست آمدهاست. برخی اختلافات و ناسازگاریهای مستند بین نسخههای MySQL و MariaDB وجود دارد، به عنوان مثال برخی از ابزارهای تعامل با MySQL مانند MySQL Workbench کاملاً با MariaDB سازگار نیستند.
ساختار MySQL
Mysql یک نوع دیتابیس است که داده را به شکل جدول ذخیره می نماید. به هر سطر جدول یک رکورد و هر ستون فیلد نام دارد. هر دیتابیسی مجموعه ای از چندین جدول می باشد که هر کدام دارای نام بوده و معمولا این نام متناسب با نوع داده های ذخیره شده در جدول می باشد.
یک نمونه جدول به شکل زیر است :
LastName
FirstName
Address
City
Hansen
Ola
Timoteivn 10
Sandnes
Svendson
Tove
Borgvn 23
Sandnes
Pettersen
Kari
Storgt 20
Stavanger
Queries : کوئری در واقع پرس و جوی یک درخواست یا سوال است. توسط Mysql می توانید یک پرس و جو را از دیتابیس برای اطلاعات خاصی انجام دهید : مانند
SELECT LastName FROM Persons
این پرس و جو lastname را از جدول Persons درخواست می دهد که نتیجه به شکل زیر است :
LastName
Hansen
Svendson
Pettersen
جهت دانلود Mysql می توانید از لینک زیر استفاده نمایید :
http://www.mysql.com/downloads/
مهمترین واقعیت در مورد Mysql این است که نوعی دیتابیس استان
دارد de-facto برای سایت هاست که حجم انبوهی از داده ها را پشتیبانی می کند. بنابراین برای ذخیره ی داده های انبوه مناسب است (مانند google,yahoo, Friendster)هر جند اطلاعاتی نادرست در مورد مناسب بودن این نوع دیتابیس برای داده های متوسط و کوچک نیز وجود دارد.
دستورات Mysql :
دستوراتی مانند ایجاد/قطع ارتباط با دیتابیس، ساخت پایگاه داده، ایجاد جدول در پایگاه داده MySQL و … از مهمترین و کاربردی ترین دستورات MySQL به شمار می روند. از این رو در این بخش به معرفی آنها خواهیم پرداخت:
ساخت Connection به دیتابیس Mysql :
قبل از دسترسی به داده های دیتابیس شما نیاز به ایحاد یک Connection دارید : در PHP این کار توسط تابع mysql_connect() انجام می شود.
mysql_connect(servername,username,password);
ساخت MySQL
بستن Connection :
با اتمام اجرای اسکریپت شما ، دیتابیس به طور اتوماتیک بسته می شود. جهت بستن کانکشن پیش از اتمام کد، از تابع mysql_close() استفاده می شود.
ساخت دیتابیس :
برای ساخت دیتابیس در MySql از دستور mysql_close() استفاده می شود.دستورات PHP موجود در لیست زیر این کار را انجام می دهد:
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
die('Could not connect: ' . mysql_error());
} if (mysql_query("CREATE DATABASE my_db",$con))
{ echo "Database created";
} else
{
echo "Error creating database: " . mysql_error();
}
mysql_close($con);
?> ساخت جدول در MySQL:
از دستور CREATE TABLE جهت ساخت جدول در Mysql استفاده می شود. از تابع mysql_query() نیز جهت اجرای فرمان استفاده می شود.
نکته : قبل از ساخت جدول بایستی دیتابیس توسط تابع mysql_select_db() انتخاب شود .
انواع داده هایی که در این نوع دیتابیس برای فیلدها استفاده می شوند شامل :
CHAR(size)
VARCHAR(size)
TINYTEXT
TEXT
BLOB
MEDIUMTEXT
MEDIUMBLOB
LONGTEXT
LONGBLOB
ENUM(x,y,z,etc.)
SET
درج داده در جدول:
از فرمان INSERT INTO جهت انجام این کار استفاده می شود.
INSERT INTO table_name
VALUES (value1, value2, value3,...)
بروز رسانی (Update) داده های MySQL:
از دستور Update برای انجام این کار استفاده می شود. در صوتیکه از PHP برای به روز آوری استفاده کنید ، باید تابع mysql_query() را فراخوانی کنید.
تفاوت های Mysql و Mssql
حذف داده ها در دیتابیس:
از دستور DELETE FROM برای حذف رکوردها استفاده می شود.
DELETE FROM table_name
WHERE some_column = some_value
ساخت کانکشن ODBC:
پیش از آنکه بخواهیم ایجاد ارتباط با ODBC را بگوییم باید به این سوال پاسخ دهیم که odbc چیست؟ ODBC یک رابط برنامه نویسی کاربردی است که به شما اجازه ی اتصال به datasource های مختلف را می دهد.
توسط این کانکشن می توانید به هر نوع دیتابیسی وصل شوید ، تنظمیات زیر بایستی در جایی که سایت شما قرار دارد انجام شود تا یک کانکشن ODBC ایجاد گردد :
گزینه ی Administrative Tools را در کنترل پنل باز کنید ،
بر روی Data Sources (ODBC) کلیک کنید .
به تب System DSN برویدو بر روی Add کلیک کنید.
Microsoft Access Driver را انتخاب و بر روی finish کلیک کنید.
در صفحه ی بعد روی Select to locate the database کلیک نمایید.
نام datasource را وارد نمایید و روی Ok کلیک کنید.
اتصال به ODBC:
از تابع odbc_connect() برای اتصال استفاده می شود و تابع odbc_exec() برای اجرای دستورات sql می باشد .
توسط تابع odbc_fetch_row() می توانید یک فیلد را از یک رکورد بخوانید.
تفاوت های Mysql و Mssql:
حال که متوجه شدید My SQL چیست، باید به تفاوت دو محصول مختلف MSSQL و MySQL که از دو شرکت مختلف هستند بپردازیم.
MS SQL Server نرم افزار مدیریت بانک اطلاعاتی هست که توسط شرکت مایکروسافت تولید و با قیمت بالایی فروخته می شود.
MySQL یک نرم افزار مدیریت بانک اطلاعاتی Open-source و رایگان است که شرکت Sun امتیازش را خریداری کرده است.
بطور کلی، MS SQL Server امکانات بیشتری در مقایسه با MySQL دارد، ولی رایگان بودن MySQL باعث شده که در کارهای با حجم متوسط، بیشتر مورد استفاده قرار بگیرد.
MS SQL SERVER یکی از محصولات میکروسافت و معمولا از ورژن ۲۰۰۰ به بعد آن در سازمان ها استفاده می شد. اما MS SQL Server 2008 که در همین سال معرفی شد، به نسبت ورژن قبلی فوق العاده بود. زمانیکه که از زبان های برنامه نویسی مایکروسافتی یا برنامه نویسی تحت ویندوز استفاده می کنید از SQL SERVER استفاده می شود. قدرت پردازش آن فوق العاده بوده ، کاربردهای بسیاری را پشتیبانی کرده و امکانات و امنیتی بالایی دارد .
Mssql بر پایه ی سیستم عامل ویندوز قرار دارد در صورتیکه Mysql جهت طراحی برنامه های تحت سیستم عامل لینوکس بوده و از آنجایی که open source است بیشتر افراد با آن آشنا بوده و هنگام بروز مشکل به راحتی می توان از افراد کمک گرفت .
در نسخه ی ۴ ، Mysql ا View,Triggers,store procedure وجود ندارد در حالیکه همه این عناصر در sql server پشتیبانی می شوند.
Mssql توسط مایکروسافت توسعه یافته است در حالیکه My sql ، Open source بوده و رایگان می باشد. همچنین بیشتر سایت های پرترافیک از Mysql استفاده کرده اند که در استفاده از آن موفق بوده اند.