Latest web development tutorials

MySQL การนำเข้าข้อมูล

MySQL สามารถนำมาใช้ในสองวิธีที่ง่ายที่จะนำเข้าส่งออกข้อมูล MySQL


นำเข้าข้อมูลโดยใช้ข้อมูลการโหลด

MySQL มีคำสั่งโหลดข้อมูล INFILE แทรกข้อมูล ตัวอย่างต่อไปนี้จากไดเรกทอรีปัจจุบันการอ่านไฟล์ dump.txt แฟ้มข้อมูลลงในตาราง mytbl ปัจจุบันในฐานข้อมูล

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;

ถ้าคุณระบุคำหลัก LOCAL แล้วเส้นทางโดยการอ่านไฟล์จากโฮสต์ลูกค้า หากไม่มีการระบุไฟล์บนเซิร์ฟเวอร์โดยการอ่านเส้นทางของแฟ้ม

คุณสามารถที่ชัดเจนว่าในตัวแยกคำสั่งโหลดข้อมูลและจุดสิ้นสุดของค่าคอลัมน์เครื่องหมายบรรทัด แต่ค่าเริ่มต้นที่มีและขึ้นบรรทัดใหม่

ไวยากรณ์ของทั้งสองคำสั่งทุ่งนาและคำสั่งเส้นเดียวกัน สองประโยคเป็นตัวเลือก แต่ถ้าทั้งสองพร้อมกันมีการระบุข้อ FIELDS ต้องปรากฏก่อนที่ข้อ LINES

ถ้าคุณระบุข้อ FIELDS ซึ่งข้อ (ยกเลิกโดย [เลือก] ล้อมรอบด้วยและหนีตาม) นอกจากนี้ยังมีตัวเลือก แต่ผู้ใช้ต้องระบุอย่างน้อยหนึ่งของพวกเขา

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';

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

ยกตัวอย่างเช่นคำสั่งของคอลัมน์ในแฟ้มข้อมูลคือ A, B, C, แต่เพื่อที่จะใส่คอลัมน์ตาราง B, C, A, ไวยากรณ์นำเข้าข้อมูลเป็นดังนี้:

mysql> LOAD DATA LOCAL INFILE 'dump.txt' 
    -> INTO TABLE mytbl (b, c, a);

นำเข้าข้อมูลโดยใช้ mysqlimport

ลูกค้า mysqlimport มีคำสั่งโหลดข้อมูล INFILEQL อินเตอร์เฟซบรรทัดคำสั่ง ตัวเลือกมากที่สุดในการ mysqlimport สอดคล้องโดยตรงในการโหลดข้อมูล INFILE ข้อ

จากแฟ้ม dump.txt mytbl จะนำเข้าข้อมูลลงในตารางข้อมูลที่คุณสามารถใช้คำสั่งต่อไปนี้:

$ mysqlimport -u root -p --local database_name dump.txt
password *****

คำสั่ง mysqlimport เพื่อระบุตัวเลือกในการกำหนดรูปแบบรูปแบบคำสั่งคำสั่งที่ระบุไว้ดังต่อไปนี้:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \
   --lines-terminated-by="\r\n"  database_name dump.txt
password *****

--columns งบ mysqlimport ใช้ตัวเลือกการตั้งค่าลำดับของคอลัมน์:

$ mysqlimport -u root -p --local --columns=b,c,a \
    database_name dump.txt
password *****

บทนำของตัวเลือกที่พบบ่อย mysqlimport

ตัวเลือก ฟังก์ชัน
-d หรือ --delete ลบข้อมูลทั้งหมดและข้อมูลในตารางข้อมูลก่อนที่จะนำเข้าข้อมูลข้อมูลใหม่ในตาราง
-f หรือ --force โดยไม่คำนึงว่าพบข้อผิดพลาดกองกำลัง mysqlimport ยังคงแทรกข้อมูล
-i หรือละเลย mysqlimport ข้ามหรือละเว้นผู้ที่มีสายเดียวกันคำหลักที่ไม่ซ้ำกันของข้อมูลในไฟล์นำเข้าจะถูกละเว้น
-l หรือ -lock ตาราง ตารางล็อคก่อนที่ข้อมูลจะถูกแทรกจึงป้องกันไม่ให้คุณปรับปรุงฐานข้อมูลแบบสอบถามของผู้ใช้และการปรับปรุงผลกระทบ
-R หรือ -replace บทบาทของตัวเลือกนี้กับตัวเลือก -i ตรงกันข้าม; ตัวเลือกนี้จะมีการบันทึกคีย์เดียวกันไม่ซ้ำกันสำหรับผู้ได้รับมอบหมาย
--fields-enclosed- โดย = ถ่าน สิ่งที่ล้อมรอบและในหลายกรณีข้อมูลไปยังคำพูดสองเมื่อมีการบันทึกข้อมูลในแฟ้มข้อความที่ระบุ โดยค่าเริ่มต้นข้อมูลไม่ใส่ไว้ในตัวละคร
--fields-terminated- โดย = ถ่าน ระบุตัวคั่นระหว่างค่าของข้อมูลในแฟ้มที่คั่นแต่ละคั่นเป็นหยุดเต็ม คุณสามารถใช้ตัวเลือกนี้เพื่อระบุตัวคั่นระหว่างข้อมูล คั่นแท็บเริ่มต้นตัวอักษร (แท็บ)
--lines-terminated- โดย STR = ตัวเลือกนี้ระบุตัวอักษรหรือคั่นข้อมูลไฟล์ข้อความระหว่าง BOC และสาย โดย mysqlimport เริ่มต้นขึ้นบรรทัดใหม่เป็นตัวคั่นบรรทัด คุณสามารถเลือกที่จะใช้สตริงเพื่อแทนที่ตัวอักษรตัวเดียว: บรรทัดใหม่หรือคืนค่าขนส่ง

คำสั่ง mysqlimport ตัวเลือกร่วมกันเป็นอย่างดี -v แสดงรุ่น (รุ่น) -p พร้อมท์สำหรับรหัสผ่าน (password) และอื่น ๆ