پی سی سیتی

پی سی سیتی (http://p30city.net/index.php)
-   زبان های برنامه نویسی Programming (http://p30city.net/forumdisplay.php?f=12)
-   -   به دست آوردن دستور ساخت يك جدول موجود در MySql با SHOW CREATE TABLE (اختصاصی) (http://p30city.net/showthread.php?t=39874)

کارگر سایت 01-31-2014 12:36 AM

به دست آوردن دستور ساخت يك جدول موجود در MySql با SHOW CREATE TABLE (اختصاصی)
 
به دست آوردن دستور ساخت يك جدول موجود در MySql با SHOW CREATE TABLE


استتفاده از دستور SHOW CREATE TABLE


باعث ميشه كه بتونين كد توليد يك جدول از پيش موجود رو به همراه وضعيت فيلدها و ... هر چيزي كه براي ساخت اون جدول نياز بوده , به دست بيارين


اين دستور براي
MySQL Clone Tables



هم ميتونه كاربرد داشته باشه اما من ترجيح دادم عنوان تاپيك رو مستقل از clone بگذارم .
--------------------------------------------


مثلا :


کد:

show create table `t_user`
خروجي :

کد:



CREATE TABLE `t_user` (
 `t_id` int(4) NOT NULL AUTO_INCREMENT,
 `t_uname` varchar(15) COLLATE utf8_persian_ci NOT NULL,
 `t_personal_id` varchar(15) COLLATE utf8_persian_ci NOT NULL,
 `t_hash_pwd` varchar(65) COLLATE utf8_persian_ci NOT NULL,
 `t_salt` int(4) NOT NULL,
 `t_email` varchar(25) COLLATE utf8_persian_ci DEFAULT NULL,
 `t_fname` varchar(30) COLLATE utf8_persian_ci DEFAULT NULL,
 `t_lname` varchar(30) COLLATE utf8_persian_ci DEFAULT NULL,
 `t_last_logged_in` timestamp NULL DEFAULT NULL,
 PRIMARY KEY (`t_uname`),
 UNIQUE KEY `t_id` (`t_id`,`t_personal_id`)
) ENGINE=MyISAM AUTO_INCREMENT=21549 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci

اگر در phpmyadmin فقط قسمتي از كد طولاني بالا رو ميبينيد روي گزينه زير كليك كنيد


کد:

Print view (with full texts)





گاهي شما نياز داريد از يك جدولتون عينا يك كپي ديگه بگيريد



دسترسي به phpmyadmin هم نداريد و با كنسول كار ميكنيد و مهمتر اينكه



ميخوايد عينا تمام ايندكس ها و مقادير و اتواينكريمنت (مثلا قسمت صورتي در كد بالا) و همه چيز كاملا مشابه ايجاد بشه



چون در دستور





CREATE TABLE ... SELECT

فقط ساختار جداول شبيه به هم خواهند بود و ...







بنابراين نياز پيدا ميشه كه از دستور گفته شده يعني





SHOW CREATE TABLE


كد دقيق ساختن جدول قبلي با محتويات فعلي رو در بياريد



خروجي كد رو يكبار اجرا كنيد _تا جدول رو بسازه_ و بعد با دستور





INSERT INTO ... SELECT

ديتا رو كپي كنيد به جدول جديد .







کد:



INSERT INTO new_tbl (fld1,fld2,fld3.......)
 SELECT fld1,fld2,fld3.....    FROM old_tbl


کارگر سایت 01-31-2014 12:39 AM

MySQL Clone Tables
 
MySQL Clone Tables


There may be a situation when you need an exact copy of a table and CREATE TABLE ... SELECT doesn't suit your purposes because the copy must include the same indexes, default values, and so forth.
You can handle this situation by following steps:
Use SHOW CREATE TABLE to get a CREATE TABLE statement that specifies the source table's structure, indexes and all.
Modify the statement to change the table name to that of the clone table and execute the statement. This way, you will have exact clone table.
Optionally, if you need the table contents copied as well, issue an INSERT INTO ... SELECT statement, too.


اکنون ساعت 07:42 AM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.

Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)