نمایش پست تنها
  #1  
قدیمی 01-31-2014
کارگر سایت آواتار ها
کارگر سایت کارگر سایت آنلاین نیست.
ادمین در لباس کارگر!
 
تاریخ عضویت: Aug 2007
محل سکونت: کرمانشاه
نوشته ها: 1,444
سپاسها: : 907

4,878 سپاس در 836 نوشته ایشان در یکماه اخیر
کارگر سایت به Yahoo ارسال پیام
پیش فرض به دست آوردن دستور ساخت يك جدول موجود در 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
پاسخ با نقل قول
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید