ปรึกษา Search & Replace จำนวนมากในดาต้าเบสหน่อยครับ

เริ่มโดย Tputti, 20 พฤษภาคม 2013, 02:06:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Tputti

ผมยกตัวอย่างนะครับ

ต้องการ Search คำตาม Col A  ซึ่ง อาจจะมีในดาต้าเบส 20 จุด เพื่อแทนที่ด้วย คำใน Col C ทั้งหมด

(คำในช่อง A อาจจะกระจายอยู่ต่าง Table กันนะครับ)



พอมีแนวทาง, โค๊ดคำสั่ง หรือสคริปต์ มั๊ยครับ


:P

Tputti

Search รอบแรกด้วย yyyyy1 เพื่อแทนที่ด้วย zzzzz1
Search รอบที่สองด้วย yyyyy2 เพื่อแทนที่ด้วย zzzzzz2
.
.
.

จนครบหมดครับ .....



pickyfly

UPDATE  TableName  SET  FieldName = REPLACE( FieldName ,'คำที่ค้นหา','คำที่เอามาแทน' );

nom_loso

Replate ทำไมครับถ้าข้อมูลเหมือนกันหมด และถ้าต้องการแทนที่ทุกเรคคอร์ด ง่ายๆ drop ฟิลด์ Aทิ้งเลย แล้วเปลี่ยนชื่อฟิล C เป็น A

Tputti

อ้างถึงจาก: nom_loso ใน 20 พฤษภาคม 2013, 02:40:36
Replate ทำไมครับถ้าข้อมูลเหมือนกันหมด และถ้าต้องการแทนที่ทุกเรคคอร์ด ง่ายๆ drop ฟิลด์ Aทิ้งเลย แล้วเปลี่ยนชื่อฟิล C เป็น A


ไม่เหมือนครับ ...

zzzz1 ไม่เหมือน zzzzz2


ผมแค่ยกตัวอย่าง เอาตัว y ตัว z มาใส่ใน col ของ excel ให้เห็นถึงข้อแตกต่างครับ ...

ในแถว Col A คือ ข้อมูลเก่า (yyyyy1 คนละตัวกะ yyyy2)
ในแถว Col C คือ ข้อมูลใหม่ที่ต้องการแทนเข้าไปใน ดาต้าเบส

:P


......yyyy หรือ zzz จะเป็นอะไรก็ได้ แต่เราสามารถเก็บข้อมูลมาไว้ได้ ... ว่าอะไร แทนอะไรบ้าง

DewChelsea

อ้างถึงจาก: Tputti ใน 20 พฤษภาคม 2013, 02:06:08
ผมยกตัวอย่างนะครับ

ต้องการ Search คำตาม Col A  ซึ่ง อาจจะมีในดาต้าเบส 20 จุด เพื่อแทนที่ด้วย คำใน Col C ทั้งหมด

(คำในช่อง A อาจจะกระจายอยู่ต่าง Table กันนะครับ)



พอมีแนวทาง, โค๊ดคำสั่ง หรือสคริปต์ มั๊ยครับ


:P

หมายถึง Crtl+H รึเปล่าครับ ถ้าผมเข้าใจไม่ผิด
ถ้าผมเข้าใจถูกรอบแรก คลุม COLA กด Crtl+H ใส่ y แล้ว replace z
ประมาณนี้รึเปล่าครับ  :P :P :P

Tputti

อ้างถึงจาก: DewChelsea ใน 20 พฤษภาคม 2013, 06:41:51
อ้างถึงจาก: Tputti ใน 20 พฤษภาคม 2013, 02:06:08
ผมยกตัวอย่างนะครับ

ต้องการ Search คำตาม Col A  ซึ่ง อาจจะมีในดาต้าเบส 20 จุด เพื่อแทนที่ด้วย คำใน Col C ทั้งหมด

(คำในช่อง A อาจจะกระจายอยู่ต่าง Table กันนะครับ)



พอมีแนวทาง, โค๊ดคำสั่ง หรือสคริปต์ มั๊ยครับ


:P

หมายถึง Crtl+H รึเปล่าครับ ถ้าผมเข้าใจไม่ผิด
ถ้าผมเข้าใจถูกรอบแรก คลุม COLA กด Crtl+H ใส่ y แล้ว replace z
ประมาณนี้รึเปล่าครับ  :P :P :P


ไม่ใช่ครับ ....


ตารางนี้ ไม่ใช่ตัวอย่างดาต้าเบสครับ ...

... ตารางนี้เป็นการเก็บตัวอย่างค่า จากดาต้าเบส มาไว้ในตาราง ... โดยที่ Col A คือ ค่าเก่าในดาต้าเบส (ที่เราจะต้องค้นหา) ส่วน Col C คือ ค่าที่เราจะเอาไปแทน น่ะครับ ...

:P

Optimus

รับสอน Android Re-Skin Apps & Games | สอนแบบ 1 ต่อ 1 ผ่าน TeamViewer สนใจ PM สอบถามเลยครับ

รับรีสกิน Apps Android 1 ชุด 15 แอพ 2900 บาท ท่านสามารถนำไปอัพขึ้น Play Store หารายได้ได้เลยครับ สนใจ PM ครับ

ขาย Account Skimlinks ปั่น Amazon ได้ (ตอนนี้คนไทยสมัครไม่ผ่านแล้ว) 4500  บาท PM ครับ

Tputti

อ้างถึงจาก: Optimus ใน 20 พฤษภาคม 2013, 13:39:49
Wordpress รึป่าวครับ

wp ครับ แต่มันต้อง Search เยอะ และจำนวนคำทีต้องการเอามาแทน มันเยอะ จนไม่กล้าใช้ปลั๊กอิน เพราะมันกินทรัพยากรมากโอกาสโดนเตะสูงมาก เลยต้องหาทางวิธีอื่น เช่น PHPMyadmin หรือวิธีอื่นๆ(ถ้ามี) น่ะครับ

nom_loso

อ้างถึงจาก: Tputti ใน 20 พฤษภาคม 2013, 03:16:52
อ้างถึงจาก: nom_loso ใน 20 พฤษภาคม 2013, 02:40:36
Replate ทำไมครับถ้าข้อมูลเหมือนกันหมด และถ้าต้องการแทนที่ทุกเรคคอร์ด ง่ายๆ drop ฟิลด์ Aทิ้งเลย แล้วเปลี่ยนชื่อฟิล C เป็น A


ไม่เหมือนครับ ...

zzzz1 ไม่เหมือน zzzzz2


ผมแค่ยกตัวอย่าง เอาตัว y ตัว z มาใส่ใน col ของ excel ให้เห็นถึงข้อแตกต่างครับ ...

ในแถว Col A คือ ข้อมูลเก่า (yyyyy1 คนละตัวกะ yyyy2)
ในแถว Col C คือ ข้อมูลใหม่ที่ต้องการแทนเข้าไปใน ดาต้าเบส

:P


......yyyy หรือ zzz จะเป็นอะไรก็ได้ แต่เราสามารถเก็บข้อมูลมาไว้ได้ ... ว่าอะไร แทนอะไรบ้าง

แล้วต้องแก้ทุกเลคคอร์ดไหมครับ ถ้าแก้ทุกเร็คคอร์ดก็ใช้วิธิเปลียนชื่อฟิลด์ครับ ไม่ต้องเขียนคำสังอะไรเลย

Tputti

อ้างถึงจาก: nom_loso ใน 20 พฤษภาคม 2013, 13:54:56
อ้างถึงจาก: Tputti ใน 20 พฤษภาคม 2013, 03:16:52
อ้างถึงจาก: nom_loso ใน 20 พฤษภาคม 2013, 02:40:36
Replate ทำไมครับถ้าข้อมูลเหมือนกันหมด และถ้าต้องการแทนที่ทุกเรคคอร์ด ง่ายๆ drop ฟิลด์ Aทิ้งเลย แล้วเปลี่ยนชื่อฟิล C เป็น A


ไม่เหมือนครับ ...

zzzz1 ไม่เหมือน zzzzz2


ผมแค่ยกตัวอย่าง เอาตัว y ตัว z มาใส่ใน col ของ excel ให้เห็นถึงข้อแตกต่างครับ ...

ในแถว Col A คือ ข้อมูลเก่า (yyyyy1 คนละตัวกะ yyyy2)
ในแถว Col C คือ ข้อมูลใหม่ที่ต้องการแทนเข้าไปใน ดาต้าเบส

:P


......yyyy หรือ zzz จะเป็นอะไรก็ได้ แต่เราสามารถเก็บข้อมูลมาไว้ได้ ... ว่าอะไร แทนอะไรบ้าง

แล้วต้องแก้ทุกเลคคอร์ดไหมครับ ถ้าแก้ทุกเร็คคอร์ดก็ใช้วิธิเปลียนชื่อฟิลด์ครับ ไม่ต้องเขียนคำสังอะไรเลย

ข้อมูลใน Cal A ที่ยกตัวอย่างมา 1 ตัว จะกระจายอยู่ตามจุดต่างๆ ... ต่าง Table, ต่างฟิลด์ ประมาณ 20 จุด ...

จะต้องหาทั้งหมด เพื่อเอาข้อมูลใน Col C เข้าไปแทนครับ

:P


เช่น .... จะต้องหา yyyy1 ซึ่งจะเจอประมาณ 20 จุด แล้วแทนด้วย zzzz1

พอลูปที่ 2 ก็จะหา yyyy2 ซึ่งจะเจอประมาณ 20 จุด ต่าง Table, ต่างฟิลด์ แล้วแทนด้วย zzzz2

ทำแบบนี้ ประมาณ 100 ลูป ครับ



dead13th


เตรียมข้อมูล สำหรับ  update เป็น array เตรียมไว้

   จากนั้น loop array ข้อมูลที่จะอัพเดท โดยที่
      loop table ที่ต้องการแก้ไข
         loop field ของ table นั้นๆ
            เขียนคำสั่ง update ใน field ที่ต้องการ ให้เป็นค่าที่ต้องการ
         จบ loop field
      จบ loop table
   ถ้ามีก็ทำต่อ

ผมคิดได้ประมาณนี้อ่ะคับ


ถ้าสำคัญจริงๆ ลองPM หรือ เมลล์มาหาผมดูครับ ยินดีจัดการให้
เว็บลงประกาศฟรี www.post2ads.net

Tputti

อ้างถึงจาก: dead13th ใน 21 พฤษภาคม 2013, 23:29:50

เตรียมข้อมูล สำหรับ  update เป็น array เตรียมไว้

   จากนั้น loop array ข้อมูลที่จะอัพเดท โดยที่
      loop table ที่ต้องการแก้ไข
         loop field ของ table นั้นๆ
            เขียนคำสั่ง update ใน field ที่ต้องการ ให้เป็นค่าที่ต้องการ
         จบ loop field
      จบ loop table
   ถ้ามีก็ทำต่อ

ผมคิดได้ประมาณนี้อ่ะคับ


ถ้าสำคัญจริงๆ ลองPM หรือ เมลล์มาหาผมดูครับ ยินดีจัดการให้

ขอบคุณครับ  :wanwan017:

ตอนนี้ใช้ ssh สั่งข้างนอก แล้ว Import เข้าไปแล้วล่ะครับ ^^