مبانی MYSQL

قبل از اینکه اقدام به دسترسی و تغییر دیتابیس ها کنید لازم است در مورد مبانی MYSQLاطلاعاتی داشته باشید. از این زبان برای پرس و جو در دیتابیس استفاده می شود.درک MYSQL بسیار ساده و آسان است. از MYSQL تنها برای پرس و جوی داده استفاده نمی شود، بلکه تقریبا از آن برای انجام هر کاری مثلا ایجاد، بروزرسانی و حذف دیتابیس و جداول استفاده می شود. از آن جاییکه این کتاب در مورد MYSQL نیست فقط در مورد مباحثی از آن که مورد نیازمان است توضیح می دهیم.

 
در MYSQL دستوراتی برای کار با دیتابیس وجود دارد که در زیر به آنها اشاره شده است :

  • CREATE : برای ایجاد یک دیتابیس ، جدول و یا یک اندیس به کار می رود.
  • ALTER : برای تغییر در ساختار جدول به کار می رود.
  • DROP : برای حذف یک دیتابیس و یا یک جدول به کار می رود.

 
این زبان همچنین دارای دستورات زیر برای کار با داده های دیتابیس می باشد :

  • SELECT : برای واکشی اطلاعات از یک یا چند جدول به کار می رود.
  • INSERT : برای درج اطلاعات در جدول به کار می رود.
  • REPLACE : برای جایگزین کرده داده ها به کار می رود. اگر داده ای از قبل وجود داشته باشد ان را حذف و مقدار جدید را جایگزین می کند.
  • UPDATE : برای به روز رسانی داده های جدول به کار می رود.
  • DELETE : برای حذف داده از جدول به کار می رود.

قبل از پرداختن به دستورات بالا، بهتر است که اجازه دهید که شما را با انواع داده ها در MYSQL آشنا کنم. MYSQL همانند سایر زبان های برنامه نویسی دارای انواعی از داده هاست که به سه نوع متنی، عددی و تاریخی تقسیم می شوند و لیست آنها در جدول زیر نمایش داده شده است :

داده توضیح نوع
INT داده عددی معمول که می‌تواند با نشانه یا بدون نشانه باشد (مثبت یا منفی) . اگر از نوع نشانه دار باشد محدوده مجاز اعداد بین -2147483648 تا 2147483647 می‌باشد ، اگر بدون نشانه باشد محدوده مجاز اعداد از 0 تا 4294967295 می‌باشد . می‌توانید تعداد ارقام اعداد را تا 11 عدد مشخص کنید . عددی
TINYINT عدد صحیح خیلی کوچک که می‌تواند نشانه دار یا بدون نشانه (مثبت یا منفی) باشد . اگر نشانه دارد باشد محدوده مجاز اعداد بین -128 تا 127 می‌باشد . اما اگر بدون نشانه باشد محدوده مجاز اعداد بین 0 تا 255 می‌باشد . می‌توانید تعداد ارقام را تا 4 رقم مشخص کنید . عددی
SMALLINT عدد صحیح کوچک می‌تواند نشانه دار یا بدون نشانه باشد . اگر نشانه دار باشد محدوده مجاز اعداد بین -32768 تا 32767 می‌باشد . اگر بدون نشانه باشد محدوده مجاز اعداد بین 0 تا 65535 می‌باشد . می‌توانید تعداد ارقام را تا 5 رقم مشخص کنید . عددی
MEDIUMINT عدد صحیح متوسط که می‌تواند نشانه دار یا بدون نشانه باشد . اگر نشانه دار باشد محدوده مجاز اعداد بین -8388608 تا 8388607 می‌باشد . اگر بدون نشانه باشد محدوده مجاز اعداد بین 0 تا 16777215 می‌باشد . می‌توانید تعداد ارقام را تا 9 رقم مشخص کنید عددی
BIGINT عدد صحیح بزرگ می‌تواند نشانه دار یا بدون نشانه باشد . اگر نشانه دار باشد محدوده مجاز اعداد بین -9223372036854775808 تا 9223372036854775807 می‌باشد . اگر بدون نشانه باشد محدوده مجاز اعداد بین 0 تا 9223372036854775807 می‌باشد . تعداد ارقام را می‌توانید تا 20 رقم مشخص کنید . عددی
FLOAT عدد اعشاری که نمی‌تواند بدون علامت باشد . میتوان طول ارقام (M) و تعداد اعشار (D) را تعریف کرد . تعریف طول و تعداد اعشار اجباری نمی باشد و در صورت عدم مقدار پیش‌فرض 10,2 اشتفاده می‌شود که 2 تعداد ارقام اعشار و 10 تعداد کل ارقام می‌باشد (با احتساب ارقام اعشار).دقت اعشار می‌تواند تا 24 عدد برای FLOAT باشد . عددی
DOUBLE عدد اعشاری با دقت مضاعف نمی‌تواند بدون علامت باشد . می‌توان طول ارقام (D) و تعداد اعشار (D) را تعریف کرد . تعریف طول و تعداد اعشار اجباری نمی باشد و در صورت عدم تعریف مقدار پیش‌فرض 16,4 اشتفاده می‌شود که 4 تعداد ارقام اعشار و 16 تعداد کل ارقام می‌باشد (با احتساب اعداد اعشار) . دقت اعشار می‌تواند تا 54 عدد برای DOUBLE باشد . REAL مترادف برای DOUBLE است . عددی
DECIMAL عدد اعشاری با ممیز شناور که نمی‌تواند بدون علامت باشد . در اعشار ممیز شناور هر عدد اعشار معادل یک بایت می‌باشد . تعریف طول ارقام (M) و تعداد اعشار (D) می‌باشد.NUMERIC مترادف برای DECIMAL می‌باشد. عددی
DATE تاریخ با فرمت YYYY-MM-DD ، که محدوده آن بین 1000-01-01 تا 9999-12-31 می‌باشد . برای مثال December 30th, 1973 به صورت 1973-12-30. ذخیره می‌شود . تاریخ
DATETIME ترکیبی از تاریخ و زمان با فرمت YYYY-MM-DD HH:MM:SS می‌باشد ، محدوده آن بین 1000-01-01 00:00:00 و 9999-12-31 23:59:59 می‌باشد . برای مثال ، 3:30 بعد از ظهر در تاریخ December 30th, 1973 به صورت 1973-12-30 15:30:00 ذخیره می‌شود . تاریخ
TIMESTAMP محدوده زمانی بین نیمه شب January 1, 1970 و زمانی در 2037 می‌باشد . فرمت آن شبیه فرمت DATETIME می‌باشد بودن خط تیره در میان اعداد . برای مثال ، 3:30 بعد از ظهر در تاریخ December 30th, 1973 به صورت 19731230153000 ذخیره می‌شود . تاریخ
TIME زمان را با فرمت HH:MM:SS ذخیره می کند. تاریخ
YEAR سال را با فرمت 2 رقم یا 4 رقم ذخیره می‌کند . اگر طول 2 تعیین شود ، YEAR می‌تواند بین1970 تا 2069 (70 تا 69) باشد . اگر طول 4 تعیین شود YEAR میتواند بین 1901 تا 2155 باشد . طول پیش‌فرض 4 می‌باشد . تاریخ
CHAR رشته با طول ثابت که طول آن بین 1 تا 255 می‌باشد .( مثال : CHAR(5) ) ، مقدار خالی سمت راست با فضای خالی پر می‌شود تا زمانی که به حداکثر طول تعیین شده برسد . تعریف طول رشته اجباری نیست اما مقدار پیش‌فرض 1 می‌باشد . رشته
VARCHAR رشته با طول منغیر که طول آن می‌تواند بین 0 تا 255 باشد . ( مثال : VARCHAR(25) ) . تعریف مقدار طول رشته اجباری می‌باشد . رشته
BLOB / TEXT فیلد با حداکثز مقدار 65535 کاراکتر . BLOB مخفف “Binary Large Object” می‌باشد و برای ذخیره مقادیر بزرگ داده باینری استفاده می‌شود ، از قبیل تصویر یا انواع مختلف فایل‌ها . فیلدهایی که عنوان TEXT ذخیره شده‌اند نیز مقدار بزرگی از داده را ذخیره می‌کنند . تفاوت آن‌ها در این می‌باشد که مرتب سازی و مقایسه در فیلد های BLOB بین حروف کوچک و بزرگ تفاوت قائل می‌شود اما در فیلدهای TEXT تفاوتی قائل نمی‌شود . برای نوع های TEXT و BLOB طول تعریف نمی‌شود . رشته
TINYBLOB / TINYTEXT یک ستون TEXT یا BLOB با حداکثر مقدار 255 کاراکتر . برای نوع های TINYTEXT و TINYBLOB ، طول تعریف نمی‌شود . رشته
MEDIUMBLOB / MEDIUMTEXT یک ستون TEXT یا BLOB با حداکثر مقدار 16777215 کاراکتر . برای نوع های MEDIUMTEXT و MEDIUMBLOB ، طول تعریف نمی‌شود . رشته
LONGBLOB / LONGTEXT یک ستون TEXT یا BLOB با حداکثر مقدار 4294967295 کاراکتر . برای نوع های LONGTEXT و LONGBLOB ، طول تعریف نمی‌شود . رشته
ENUM یک نوع شمارشی می باشد ، که یک اصطلاح عامیانه برای لیست است . هنگامی که یک فیلد ENUM تعریف می‌کنید ، شما لیستی از گزینه ها ایجاد می‌کنید که یک مورد باید انتخاب شود (یا می‌تواند NULL باشد) . برای مثال شما می‌خواهید فیلد دارای مقدار “A” یا “B” یا “C” باشد ، فیلد ENUM باید به صورت ENUM(‘A’,’B’,’C’) تعریف شود و تنها همان مقادیر تعیین شده (یا NULL) می‌تواند برای آن فیلد جمع آوری شود . رشته
SET نوع SET نیز همانند ENUM می باشد و تنها تفاوت آن در این می باشد که امکان انتخاب چند گزینه از لیست را نیز میسر می سازد . رشته

حال اکه با انواع داده ها آشنا شدید، در درس های بعدی در مورد نحوه ایجاد و ویرایش و حذف دیتابیس و جدول به دو روش کد نویسی و استفاده از محیط PHPMyAdmin می پردازیم.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.