کلون (Clone) کردن جدول ها در MySQL — راهنمای جامع
۳۸۳ بازدید
آخرین بهروزرسانی: ۲۶ شهریور ۱۴۰۲
زمان مطالعه: ۲ دقیقه
دانلود PDF مقاله
احتمالاً تاکنون با مواردی برخورد کردهاید که میبایست یک کپی دقیق از یک جدول داشته باشید و دستور CREATE TABLE ... SELECT نیز به این منظور مناسب نیست، زیرا کپی باید شامل همان اندیسها، مقادیر پیشفرض و موارد دیگر باشد. در این وضعیت میتوان از مراحل زیر استفاده کرد:
فهرست مطالب این نوشته
- استفاده از SHOW CREATE TABLE برای دریافت یک عبارت CREATE TABLE که ساختار جدول منبع، اندیسها و همه موارد دیگر را نشان میدهد.
- اصلاح عبارت برای تغییر دادن نام جدول به نام جدول کلون و اجرای عبارت. بدین ترتیب جدول کلون شده دقیقی خواهید داشت.
- به طور اختیاری در صورتی که به محتویات جدول هم نیاز داشته باشید، میتوانید محتوای آن را نیز با یک عبارت INSERT INTO ... SELECT کپی کنید.
مثال
مثال زیر را برای ایجاد یک کلون از جدول tutorials_tbl بررسی کنید:
گام 1 – ساختار کامل جدول را دریافت کنید:
mysql> SHOW CREATE TABLE tutorials_tbl \G; *************************** 1. row *************************** Table: tutorials_tbl Create Table: CREATE TABLE `tutorials_tbl` ( `tutorial_id` int(11) NOT NULL auto_increment, `tutorial_title` varchar(100) NOT NULL default '', `tutorial_author` varchar(40) NOT NULL default '', `submission_date` date default NULL, PRIMARY KEY (`tutorial_id`), UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`) ) TYPE = MyISAM 1 row in set (0.00 sec) ERROR: No query specified
گام 2 – این جدول را تغییر نام دهید و جدول دیگری ایجاد کنید:
mysql> CREATE TABLE clone_tbl ( -> tutorial_id int(11) NOT NULL auto_increment, -> tutorial_title varchar(100) NOT NULL default '', -> tutorial_author varchar(40) NOT NULL default '', -> submission_date date default NULL, -> PRIMARY KEY (tutorial_id), -> UNIQUE KEY AUTHOR_INDEX (tutorial_author) -> ) TYPE = MyISAM; Query OK, 0 rows affected (1.80 sec)
گام 3 – پس از اجرای گام 2 یک جدول کلون شده در پایگاه داده خواهیم داشت. اگر میخواهید یک کپی از دادههای جدول قبلی را در این جدول داشته باشید، در این صورت باید از عبارت INSERT INTO... SELECT استفاده کنید:
mysql> INSERT INTO clone_tbl (tutorial_id, -> tutorial_title, -> tutorial_author, -> submission_date) -> SELECT tutorial_id,tutorial_title, -> tutorial_author,submission_date -> FROM tutorials_tbl; Query OK, 3 rows affected (0.07 sec) Records: 3 Duplicates: 0 Warnings: 0
اگر این مطلب برایتان مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای پایگاه داده و سیستم های مدیریت اطلاعات
- کاربرد دستورهای JOIN در MySQL — راهنمای جامع
- مجموعه آموزشهای طراحی و برنامه نویسی وب
- چگونه دیتابیس MySQL را بر روی ویندوز نصب کنیم؟
- مدیریت اجرا یا توقف در پایگاه داده MySQL — راهنمای جامع
- کوئری INSERT در MySQL — راهنمای جامع
==
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
ثبت نظر
منابع:
tutorialspointhttps://b.fdrs.ir/3d8