วิธีส่งออกตารางเป็น CSV ใน MySQL

How Export Table Csv Mysql



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

วิชาบังคับก่อน:

ก่อนรันคำสั่งเอ็กซ์พอร์ตใดๆ คุณต้องสร้างฐานข้อมูลและตารางใหม่ หรือเลือกฐานข้อมูลและตารางที่มีอยู่ รันคำสั่งต่อไปนี้เพื่อสร้าง a ห้องสมุด ฐานข้อมูลและสามตารางชื่อ หนังสือ ผู้ยืม และ book_borrow_info .







สร้าง ฐานข้อมูล ห้องสมุด;
ใช้ ห้องสมุด;

สร้าง ตาราง หนังสือ(
NS INT ไม่ โมฆะ AUTO_INCREMENT ,
ชื่อ วาร์ชาร์ (ห้าสิบ) ไม่ โมฆะ ,
ผู้เขียน วาร์ชาร์ (ห้าสิบ) ไม่ โมฆะ ,
สำนักพิมพ์ วาร์ชาร์ (ห้าสิบ) ไม่ โมฆะ ,
คีย์หลัก (NS)
) เครื่องยนต์ = INNODB ;

สร้าง ตาราง ผู้กู้(
NS VARCHAR (ห้าสิบ) ไม่ โมฆะ ,
ชื่อ วาร์ชาร์ (ห้าสิบ) ไม่ โมฆะ ,
ที่อยู่ วาร์ชาร์ (ห้าสิบ) ไม่ โมฆะ ,
อีเมล วาร์ชาร์ (ห้าสิบ) ไม่ โมฆะ ,
คีย์หลัก (NS)
);

สร้าง ตาราง book_borrow_info(
ยืม_id VARCHAR (ห้าสิบ),
book_id INT ,
ยืม_date วันที่ ไม่ โมฆะ ,
return_date วันที่ ไม่ โมฆะ ,
สถานะ VARCHAR (สิบห้า) ไม่ โมฆะ ,
ดัชนี par_ind(book_id),
คีย์หลัก (ยืม_id,ยืม_date),
กุญแจต่างประเทศ (book_id) ข้อมูลอ้างอิง หนังสือ(NS)
บน ลบ น้ำตก
บน อัปเดต น้ำตก );

เรียกใช้คำสั่ง SQL ต่อไปนี้เพื่อแทรกข้อมูลบางส่วนลงในสามตาราง



แทรก เข้าไปข้างใน หนังสือ ค่านิยม
( โมฆะ , 'เพื่อฆ่าม็อกกิ้งเบิร์ด', 'ฮาร์เปอร์ ลี', 'สำนักพิมพ์แกรนด์เซ็นทรัล'),
( โมฆะ , 'หนึ่งร้อยปีแห่งความโดดเดี่ยว', 'การ์เซีย มาร์เกซ', 'ลุตฟี ออซก็อก'),
( โมฆะ , 'มนุษย์ล่องหน', 'ราล์ฟ เอลลิสัน', 'สารานุกรมบริแทนนิกา, Inc.');

แทรก เข้าไปข้างใน ผู้กู้ ค่านิยม
('123490', 'แพทริค วูด', '34 เวสต์สตรีท LANCASTER LA14 9ZH', ' [ป้องกันอีเมล] '),
('157643', 'เอซร่า มาร์ติน', '10 เดอะโกรฟ เบอร์มิงแฮม B98 1EU', ' [ป้องกันอีเมล] '),
('146788', 'เฟรเดอริค แฮนสัน', '85 ถนนไฮฟิลด์ ชรูว์สเบอรี่ SY46 3ME',
' [ป้องกันอีเมล] ');

แทรก เข้าไปข้างใน book_borrow_info ค่านิยม
('123490', 1, '2020-02-15', '2020-02-25', 'กลับมา'),
('157643', 2, '2020-03-31', '2020-03-10', 'รอดำเนินการ'),
('146788', 3, '2020-04-10', '2020-01-20', 'ยืม');

ไฟล์ที่ส่งออกทุกไฟล์จะเก็บไว้ในตำแหน่งเฉพาะใน MySQL และตำแหน่งจะถูกเก็บไว้ในตัวแปร ปลอดภัย_file_priv . เรียกใช้คำสั่งต่อไปนี้เพื่อค้นหาเส้นทางของไฟล์ นี่เป็นตัวแปรแบบอ่านอย่างเดียวที่คุณไม่สามารถเปลี่ยนแปลงได้



แสดง ตัวแปร ชอบ 'ปลอดภัย_ไฟล์_ส่วนตัว ';





ตำแหน่งของไฟล์คือ '/var/lib/mysql-files/' . คุณต้องใช้ตำแหน่งนี้ในขณะที่รันคำสั่งเอ็กซ์พอร์ต

ส่งออกข้อมูลในรูปแบบ CSV โดยใช้คำสั่ง INTO OUTFILE:

ตารางฐานข้อมูลใด ๆ สามารถส่งออกได้โดยใช้ สู่ภายนอก คำแถลง. สมมติว่าฉันต้องการส่งออกข้อมูลของ หนังสือ ตาราง. เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบข้อมูลที่มีอยู่ของตารางนี้



เลือก * จาก หนังสือ;

ชื่อไฟล์ใด ๆ ที่มี .csv สามารถตั้งค่านามสกุลเป็นชื่อไฟล์ส่งออกได้ เรียกใช้คำสั่งส่งออกต่อไปนี้เพื่อสร้าง หนังสือ.csv ไฟล์ในตำแหน่ง /var/lib/mysql-files/.

เลือก ชื่อ,ผู้เขียน,สำนักพิมพ์ จาก หนังสือ เข้าไปข้างใน OUTFILE '/var/lib/mysql-files/books.csv';

ไปที่ตำแหน่งส่งออกเพื่อตรวจสอบว่าไม่ได้สร้างไฟล์ คลิกที่ไฟล์เพื่อแสดงเนื้อหาของไฟล์ หากเครื่องหมายจุลภาคเป็นเนื้อหาของค่าฟิลด์ใดๆ ของตาราง ก็จะแยกค่าออกเป็นหลายค่า ใน หนังสือ ตาราง, สำนักพิมพ์ ฟิลด์มีเครื่องหมายจุลภาค (,) เป็นเนื้อหาในระเบียนที่สาม หากคุณตรวจสอบเนื้อหาของไฟล์ CSV คุณจะเห็นว่าเนื้อหาของผู้เผยแพร่แบ่งออกเป็นสองค่าที่ไม่เหมาะสม

เพื่อแก้ปัญหาข้างต้น คุณสามารถส่งออกไฟล์ หนังสือ ข้อมูลตารางลงในไฟล์ CSV โดยระบุตัวคั่นที่จำเป็นอย่างถูกต้องในคำสั่ง SQL เรียกใช้คำสั่งต่อไปนี้เพื่อส่งออก หนังสือ ตารางเข้า books2.csv ไฟล์อย่างเหมาะสม ในที่นี้มีการใช้ตัวคั่นสามตัวเพื่อส่งออกข้อมูลอย่างถูกต้อง เหล่านี้คือ ฟิลด์ยุติโดย , แนบโดย และ สายที่ยุติโดย .

เลือก ชื่อ,ผู้เขียน,สำนักพิมพ์ จาก หนังสือ
เข้าไปข้างใน OUTFILE '/var/lib/mysql-files/books2.csv'
ฟิลด์ ยุติโดย ','
แนบโดย '' '
LINES ยุติโดย 'NS';

ตอนนี้ถ้าคุณเปิด books2.csv จากนั้นคุณจะเห็นว่าปัญหาก่อนหน้านี้ได้รับการแก้ไขแล้วในไฟล์นี้ และข้อมูลจะไม่ถูกแบ่งออกเป็นหลายค่าด้วยเครื่องหมายจุลภาค (,)

ส่งออกข้อมูลในรูปแบบ CSV โดยใช้ไคลเอนต์ mysql:

ข้อมูลตารางสามารถส่งออกเป็นไฟล์ CSV โดยใช้ไคลเอนต์ mysql ตารางผู้กู้จะถูกส่งออกในส่วนนี้ของบทความนี้ เรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบเนื้อหาที่มีอยู่ของตารางนี้

เลือก * จาก ผู้กู้;

mysql คำสั่งกับ `แต่` คำสั่งใช้ที่นี่เพื่อส่งออกข้อมูล ข้อดีอย่างหนึ่งของคำสั่งนี้คือ คุณสามารถตั้งค่าตำแหน่งและชื่อไฟล์ใดๆ สำหรับจัดเก็บไฟล์ CSV โดยไม่ต้องใช้ตำแหน่งเริ่มต้นที่ใช้ในตัวอย่างก่อนหน้านี้ หากไม่มีรหัสผ่านสำหรับผู้ใช้รูทแล้ว -NS ตัวเลือกจะถูกละเว้น ตำแหน่งที่ส่งออกคือ /tmp และชื่อไฟล์คือ output.csv ที่นี่.

mysql-h localhost-คุณรูต-NS-และ'เลือก * จาก library.borrowers' |
sed'NS/NS/,/NS' > /tmp/output.csv

หากคุณเปิด output.csv file จากนั้นผลลัพธ์ต่อไปนี้จะปรากฏขึ้น

ส่งออกข้อมูลในรูปแบบ CSV โดยใช้ phpmyadmin:

ตารางฐานข้อมูลสามารถส่งออกเป็นไฟล์ CSV ได้อย่างง่ายดายโดยใช้เครื่องมือการดูแลฐานข้อมูล คุณต้องติดตั้งเครื่องมือก่อนทำการส่งออก phpmyadmin ใช้ที่นี่เพื่อส่งออกตารางไปยังไฟล์ CSV ที่นี่ ชื่อไฟล์ที่ส่งออกจะเป็นชื่อของตาราง เรียกใช้ URL ต่อไปนี้ในเบราว์เซอร์ใดก็ได้เพื่อแสดงรายการฐานข้อมูลที่มีอยู่ของเซิร์ฟเวอร์ MySQL

http://localhost/phpmyadmin

เลือกตารางฐานข้อมูลที่คุณต้องการส่งออกและคลิกที่ ส่งออก แท็บจากด้านขวา เลือกรูปแบบ CSV จากไฟล์ รูปแบบ รายการแบบหล่นลงและคลิกที่ โก ปุ่ม. เลือก บันทึกไฟล์ ตัวเลือกและกด ตกลง ปุ่ม.


ไฟล์จะถูกดาวน์โหลดใน ดาวน์โหลด โฟลเดอร์ ที่นี่, book_borrow_info ตารางจะถูกส่งออก ดังนั้นชื่อไฟล์ CSV จะเป็น book_borrow_info.csv และเนื้อหาต่อไปนี้จะปรากฏขึ้นหากคุณเปิดไฟล์

บทสรุป:

งานแลกเปลี่ยนข้อมูลระหว่างแอปพลิเคชันจะง่ายขึ้นโดยใช้คุณลักษณะการส่งออกของเซิร์ฟเวอร์ฐานข้อมูล MySQL รองรับรูปแบบไฟล์อื่น ๆ มากมายเพื่อส่งออกข้อมูลตาราง sql รูปแบบไฟล์ส่วนใหญ่จะใช้ในการถ่ายโอนข้อมูลระหว่างเซิร์ฟเวอร์ฐานข้อมูลเดียวกัน รูปแบบ CSV มีประโยชน์มากหากคุณต้องการแลกเปลี่ยนข้อมูลระหว่างสองแอปพลิเคชันที่แตกต่างกัน