PDA

View Full Version : جایگزین کردن یک متن



mohammad2407
جمعه 31 مرداد 1393, 17:59 عصر
سلام دوستان من یک دیتابیس دارم با my sql

میخوام در تمامی جدول ها و فیلد ها هر جا که mohammad نوشته شده تغییر پیدا کنه به ali

دقیقا مثل find & replace

miladamirzadeh
شنبه 01 شهریور 1393, 13:24 عصر
طبیعیه که برای یک جدول از کوئری زیر استفاده کنی:

UPDATE table SET field=REPLACE(field,'mohammad','ali')

اما اگر می خواهی کل دیتابیس رو تغییر بدی، راه اول که راه کنترل شده ای هم هست اینه که یک اسکریپت یا برنامه ای بنویسی که این کار رو انجام بده، به دیتابیس وصل شه، ساختار جداول رو بگیری و بر اساس فیلد آپدیت هایی رو انجام بده. می تونی با قرار دادن محدودیت مشخص کنی فقط در تعدادی از فیلدهای خاص دنبال عبارت mohmmad بگرده. مثلاً در یک فیلد عددی که شما چنین مقداری ندارید.

اما راه دوم که سریعتره و کنترل کمتری روش داری اینه که دامپی از داده های جدول بگیرید، مثلاً با استفاده از mysqldump بعد فایل تولید شده رو در ادیتوری با قابلیت find & replace مثل Notepad++ باز کنی. و بعد از ویرایش فایل دامپ رو به دیتابیس برگردونی. برای اطلاعات بیشتر در مورد mysqldump می تونی سری به این آدرس (http://devexir.com/database-tips/98-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7/121-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-mysqldump.html) بزنی.

موفق باشید.

mohammad2407
دوشنبه 03 شهریور 1393, 09:56 صبح
من بیش از 100 تا جدول دارم میخوام همه جدول ها رو با هم OK کنم

miladamirzadeh
دوشنبه 03 شهریور 1393, 18:19 عصر
من بیش از 100 تا جدول دارم میخوام همه جدول ها رو با هم OK کنم
خوب از راه دوم استفاده کنید. ولی به نظرم با توجه به تجربه ی شما برنامه ای برای اینکار بنویسید.