ตาราง Mysqldump ยกเว้นบางฟิลด์


14

มีวิธีการ mysqldump ตารางที่ไม่มีเขตข้อมูลหรือไม่

ผมขออธิบาย:
ฉันมีฐานข้อมูล MySQL testsเรียกว่า ในtestsฉันมี 3 ตาราง: USER, และTOTO TATAผมแค่อยากจะ mysqldump ฟิลด์ของตารางบางUSERดังนั้นไม่รวมเขตข้อมูลบางอย่างเช่นmail, ip_loginฯลฯ

ฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


13

ลองสิ่งนี้:

SELECT column1, column2, column10
FROM USER
INTO OUTFILE "c:/user.csv"
  FIELDS TERMINATED BY ',' ENCLOSED BY '"'
  LINES TERMINATED BY "\n";

สำหรับตัวเลือกที่มากขึ้นอ่านหน้าเอกสาร


8

สิ่งนี้ไม่สามารถทำได้กับ mysqldump โดยตรง อย่างไรก็ตามคุณสามารถสร้างตารางชั่วคราวหรือมุมมองที่ไม่มีข้อมูลที่เป็นปัญหาแล้วถ่ายโอนข้อมูลผลลัพธ์ ในกรณีของมุมมองฉันคิดว่าคุณจะต้องใช้INTO OUTFILEมากกว่า mysqldump เพื่อรับข้อมูลที่คุณต้องการ แต่การใช้มุมมองแทนตารางชั่วคราวมีข้อได้เปรียบในการไม่ใช้พื้นที่เพิ่มเติมใน DBMS

อีกตัวเลือกหนึ่งคือการสร้างตัวแยกวิเคราะห์สำหรับไฟล์เพื่อแยกฟิลด์ที่คุณไม่ต้องการ หากต้องการพูดเบา ๆ สิ่งนี้อาจซับซ้อนได้อย่างรวดเร็วนั่นคือมันจะซับซ้อนหากคุณต้องการสร้าง parser ที่แข็งแกร่งในหน้าของอักขระหลายไบต์ตัวแยกสตริงหนี ฯลฯ ฯลฯ แต่สำหรับสิ่งเล็กน้อยหรืออย่างใดอย่างหนึ่ง - กรณีที่ใช้งานนานอาจเป็นตัวเลือกที่ถูกต้อง


0

คุณยังสามารถใช้ Phpmyadmin เพื่อทำสิ่งนี้ สร้างแบบสอบถามเพื่อเลือกเขตข้อมูลที่คุณต้องการจากนั้นเลือกฟังก์ชั่น "ส่งออก" ที่ด้านล่างของหน้า (ซึ่งจะส่งออกผลลัพธ์แบบสอบถามของคุณไม่ใช่ทั้งตาราง) และเลือกตัวเลือก "กำหนดเอง" จากนั้นคุณสามารถเลือก SQL เป็นรูปแบบของคุณ - ถ้าคุณต้องการคุณสามารถสร้างชุดของแบบสอบถามแบบใช้คำสั่ง UPDATE แทนแบบแทรก อาจเป็นวิธีที่รวดเร็วในการทำสิ่งนี้ให้สำเร็จ


0

เครื่องมือผู้ดูแลระบบฐานข้อมูลจำนวนมากมีความสามารถในการนำเข้าที่กำหนดเอง โดยเฉพาะอย่างยิ่งฉันทำสิ่งนี้สำเร็จด้วยการใช้ Toad สำหรับ MySQL เพื่อถ่ายโอนข้อมูลระหว่างตารางโดยใช้ autoincrement PKs

ฉันบันทึกผลลัพธ์แบบสอบถามไปยัง Excel โดยใช้ตัวช่วยสร้างการส่งออก

จากนั้นคุณสามารถแยกคอลัมน์โดยใช้ตัวช่วยสร้างการนำเข้าโดยการตั้งค่าฟิลด์แหล่งที่มาเป็น: ข้ามคอลัมน์นี้

ตัวช่วยสร้างการนำเข้า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.