در این مطلب قصد داریم تغییردادههای جدول در MySQL مانند واردکردن اطلاعات از یک جدول به جدول دیگر دریافتداده از فایل، انتقالدادههای جدول به فایلها حذف سطرهای جدول و تغییردادن خطوط جدول را باهم بررسی کنیم.
با ما همراه باشید.
واردکردن اطلاعات از یک جدول به جدول دیگر:
برای انجام این کار باید از دستور insert into به شکل زیر استفاده نمود:
۱ ۲ | Insert into tname1 ( field1,field2,…,fieldn) Select col1,col2,…coln from tname2; |
قبل از وارد کردن این دستور توجه داشته باشید که باید جدول مورد نظر را ساخته باشیم تا بتوانیم فیلدهایی که میخواهیم کپی شوند در جدول مورد نظر فراخوانی کنیم. توجه داشته باشید که اگر جدولی که قرار است اطلاعات وارد آن شود دارای فیلدهای دیگری نیز میباشد باید نوع آنها null باشد تا دچار ارور نشوید. حال به توضیح این دستور بپردازیم.
Tname1 نام جدولی است که باید اطلاعات در آن درج شود. Tname2 نیز نام جدولی است که قرار است اطلاعات از آن کپی شود و col1,col2,…,coln نام ستونهایی است که از جدول tname2 کپی میشود و به ترتیب در field1,field2,….,fieldn قرار میگیرد.
مثال: اطلاعات جدول post از پایگاه دادهی alefbyte را در جدول cpost کپی کنید.
۱- ساخت جدول cpost:
۱ ۲ ۳ ۴ ۵ ۶ ۷ | Use alefbyte; Create table cpost { Id int primary key not null, Body text not null, Author char(۲۰) not null }; |
۲- کپی کردن اطلاعات در cpost:
۱ ۲ | Insert into cpost (id,body,author) Select id ,body,author from post; |
۳- مشاهدهی اطلاعات وارد شده:
۱ | Select * from cpost; |
کپی کردن اطلاعات جدول برای زمانی که نیاز است از اطلاعات یک جدول یک نسخهی پشتیبانی تهیه کنیم کاربردی است. این کار را حتی میتوان بر روی فایلهای متنی نیز انجام داد. به عنوان مثال فرض کنید میخواهید فایل پشتیبان را داشته باشید. پس در ادامه با هم این کار را بررسی میکنیم.
انتقال دادههای جدول بر روی فایل:
برای انجام این کار باید از دستور select را به شکل زیر استفاده کرد:
۱ | Select items from tname into outfile ‘fname’; |
در این دستور items نام ستونهای جدول است که میخواهید این کار را بر روی آنها انجام دهید. Tname نام جدول سپس دستور into outfile که مشخص کنندهی نوع دستور select هستند و fname نام فایل است که میخواهید اطلاعات در آن وارد شود. (توجه داشته باشید که این فایل نباید وجود قبلی داشته باشد.)
مثال: اطلاعات جدول post را بر روی فایل post.csv وارد کنید.
۱ | Select * from post into outfile ‘post.csv’; |
نکته: فایل post.csv در پوشهی alefbyte در پوشهی alefbyte در پوشهی alefbyte قرار خواهد گرفت. برای مشاهدهی محتویات آن فایل را با نرم افزار excel یا wordpad باز کنید.
بارگذاری دادههای یک فایل بر روی یک جدول:
حال نیاز است بدانیم اطلاعات یک فایل را چگونه باید وارد جدولی در MySQL کنیم.
برای انجام این کار باید از دستور load data به شکل زیر استفاده کنیم:
۱ ۲ ۳ ۴ | Load data infile ‘filename’ Into table tname Fields terminated by ‘delim’ Lines terminated by ‘eol’; |
در این دستور filename نام آن فایل مورد نظر است و tname نام جدولی است که می خواهیم اطلاعات وارد آن شود. برای آن که MySQL متوجه شود که چه زمانی هر فیلد و هر رکورد (سطر) به پایان میرسد باید آنها را با کاراکتر delim و eol مشخص کرد.
مثال: اطلاعات فایل post.csv را وارد جدول bpost کنید.
۱- ساخت جدول bpost:
۱ ۲ ۳ ۴ ۵ ۶ | Create table cpost { Id int primary key not null, Body text not null, Author char(۲۰) not null }; |
۲- وارد کردن دستور load data:
۱ ۲ ۳ ۴ | Load data infile ‘post.csv’ Into table bpost Fields terminated by ‘\t’ Lines terminated by ‘\r\n’; |
\t نمایش چندین فاصلهی پشت سرهم می باشد و \r\n نیز نمایش رفتن به خط بعدی میباشد.
حذف رکوردها (سطرها) از جدول:
گاهی نیاز است سطرهای جدول را پاک کرد، برای انجام این کار باید از دستور delete و truncate استفاده کرد. با دستور delete می توان سطرهای خاص از جدول را پاک کرد اما با دستور truncate تمامی سطرهای یک جدول پاک میشوند. برای استفاده از دستور delete باید به شکل زیر عمل کرد:
۱ | Delete from tname where condition; |
اگر در دستور بالا قسمت where condition ذکر نشود مانند دستور truncate عمل میکند. برای استفاده از دستور truncate نیز باید به شکل زیر عمل کرد:
۱ | Truncate table tname; |
مثال: سطر اول از جدول cpost و تمامی سطر های جدول bpost را پاک کنید.
۱ | Delete from cpost where id=۱; |
دستور بالا سطر اول از جدول cpost را پاک میکند.
۱ | Truncate table bpost; |
دستور بالا تمامی سطر های جدول bpost را پاک می کند
به هنگام سازی دادههای جدول:
گاهی نیاز است اطلاعات یک یا چندین سطر از جدول تغییر و بهروزرسانی شود برای این کار باید از دستور update به شکل زیر استفاده کرد:
۱ ۲ ۳ ۴ ۵ ۶ | Update tname Set field1= value1, Field2= value2, …… Fieldn=valuen Where condition; |
مثال: id سطر سوم از جدول bpost را به ۱ تغییر دهید.
۱ ۲ | Update bpost Set id=۱ where id=۳; |
نظرها و دیدگاه های خود را برای افزایش کیفیت پستهای بعدی با ما در میان بگذارید.
با ما در الفبایت همراه باشید.
منبع: سایت MySQL