تعداد بازدید: 2028

کار با جداول در MySQL Engin

پایگاه داده mysql از تعدادی جدول ساختارمند تشکیل شده است. منظور از ساختارمندی قوانین حاکم بر جداول می باشد. هر جدول از چند سطر و هر سطر از تعدادی ستون که هر ستون یک سری ویژگی ها دارد.

عملیات CRUD روی جداول

چهار عمل اصلی (CRUD) روی جدول در موتور mysql متشکل از کلمات کلیدی CREATE , SHOW (DESCRIBE) , ALTER , DROP می باشد که به شرح زیر می باشد :

Create : ساخت جدول که دو قسمت اصلی آن ساختار ستون های جدول می باشد و همچنین پیاده سازی نقش های کلید اصلی و کلید خارجی می باشد.

CREATE TABLE IF NOT EXISTS [table_name](
	[column_name] [type] NOT NULL AUTO_INCREMENT,
	[column_name] [type] NOT NULL DEFAULT '[default_value]',
	PRIMARY KEY ([column_name]),
	FOREIGN KEY ([column_name_foreign]) REFERENCES [table_name]([column_name_primary]) ON DELETE CASCADE ON UPDATE CASCADE 
)
CHARACTER SET [character_set]
COLLATE [collate];

کلمه کلیدی PRIMARY KEY را می توان پس از تعریف ستون تعیین کرد (خط ۲). هر ستون یک نوع داده دارد و یک سری ویژگی که هر ستون با علامت کاما , از هم جدا می شود. ویژگی های هر ستون از قرار زیر است :

  • NOT NULL : یعنی این فیلد اجباری است. برای جلوگیری از خطا می توان مقدار DEFAULT برای آن تعیین کرد.
  • DEFAULT : تعیین مقدار پیش فرض که می تواند با توجه به نوع ستون تعیین شود. مثلا برای نوع TIMESTAMP می تواند مقدار NOW() باشد. و برای کلید های خارجی مقدار ‘0’ باشد.
  • AUTO_INCREMENT : این ویژگی برای فیلد های نوع عدد استفاده می شود و قابلیت مقداردهی مستقیم را ندارد و طبق عدد رکورد قبلی وارد شده ایجاد می شود.
  • PRIMAY KEY : تعیین ستون به عنوان کلید اصلی . برای این منظور باید ستون مربوطه از نوع عددی و به صورت AUTO_INCREMENT تعیین شود.

امکان برقراری ارتباط جداول با هم (ON DELETE , ON CASCADE) دیگر یا نوع وابستگی بسته به ماهیت کلید خارجی می تواند یکی از موارد زیر باشد :

  • CASCADE : به ازای حذف یک رکورد در جدول اصلی تمامی رکوردهای وابسته حذف می شوند.
  • SET NULL : تمامی رکوردهای وابسته NULL می شوند.
  • NO ACTION : هیچ اتفاقی نمی افتد. مقادیر قبلی باقی می مانند.

دقت داشته باشید که کاربرد ایجاد ارتباط میان جداول همان عملیات های وابسته (ON DELETE , ON UPDATE) و استفاده در ORM ها می باشد.

Read : جهت نمایش جداول موجود در پایگاه داده در صورتی که پایگاه داده انتخاب شده باشد با دستور SHOW TABLES انجام می دهیم. برای نمایش ساختار یک جدول از دستور DESCRIBE TABLES استفاده می کنیم.

Update : جهت بروزرسانی جداول ( افزودن ، تغییر ، حذف ستون یا تغییر collate , character set جداول ) از دستورات زیر استفاده می کنیم:

ALTER TABLE [table_name] ADD COLUMN [column_name] [type] FIRST 
ALTER TABLE [table_name] ADD COLUMN [column_name] [type] FIRST [column_name] 
ALTER TABLE [table_name] ADD COLUMN [column_name] [type] AFTER [column_name]
ALTER TABLE [table_name] DROP PRIMARY KEY ADD PRIMARY KEY([column_name]) 
ALTER TABLE [table_name] DROP FOREIGN KEY ADD FOREIGN KEY([column_name]) REFERENCES [table_name]([column_name]) ON DELETE [references_option] ON UPDATE [references_option]
ALTER TABLE [table_name] MODIFY COLUMN [column_name] [type] 
ALTER TABLE [table_name] CHANGE COLUMN [column_name] [type] FIRST|AFTER [column_name] 
ALTER TABLE [table_name] RENAME [table_new_name]

Delete : برای حذف یک جدول از دستور زیر استفاده می کنیم :

DROP TABLE IF EXISTS [table_name]

برای حذف یک جدول اگر جدول اصلی باشد امکان پذیر است ولی اگر جدول وابسته باشد با توجه به نوع وابستگی (CASCADE , NO ACTION , SET NULL) متفاوت است. به طوری که برای مورد CASCADE ابتدا باید جدول اصلی را حذف کنید و بعد جدول وابسته.

 

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای کار با جداول در MySQL Engin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *