ไดเรกทอรีบทความ
ลินุกซ์ ฐานข้อมูล MySQLวิธีการส่งออกไฟล์ข้อมูล?คำสั่งคำสั่งส่งออก csv
MySQLส่งออกข้อมูล
ใน MySQL คุณสามารถใช้เลือก … เข้าสู่ OUTFILEคำสั่งเพียงแค่ส่งออกข้อมูลไปยังไฟล์ข้อความ
ส่งออกข้อมูลโดยใช้คำสั่ง SELECT ... INTO OUTFILE
ในตัวอย่างต่อไปนี้ เราจะส่งออกตารางข้อมูลไปยังไฟล์ /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
คุณสามารถกำหนดรูปแบบของข้อมูลที่ส่งออกผ่านตัวเลือกคำสั่งได้ ตัวอย่าง ต่อไปนี้มีไว้สำหรับการส่งออกรูปแบบ CSV:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
ในตัวอย่างต่อไปนี้ ไฟล์จะถูกสร้างขึ้นด้วยค่าที่คั่นด้วยเครื่องหมายจุลภาครูปแบบนี้สามารถใช้ได้หลายโปรแกรม
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
คำสั่ง SELECT ... INTO OUTFILE มีแอตทริบิวต์ดังต่อไปนี้:
- LOAD DATA INFILE เป็นการดำเนินการผกผันของ SELECT ... INTO OUTFILE, SELECT ไวยากรณ์ในการเขียนข้อมูลจากฐานข้อมูลไปยังไฟล์ ให้ใช้ SELECT ... INTO OUTFILE และหากต้องการอ่านไฟล์กลับเข้าไปในฐานข้อมูล ให้ใช้ LOAD DATA INFILE
- SELECT ... INTO OUTFILE SELECT ในรูปแบบ 'file_name' สามารถเขียนบรรทัดที่เลือกลงในไฟล์ได้ไฟล์ถูกสร้างขึ้นบนโฮสต์เซิร์ฟเวอร์ ดังนั้นคุณต้องมีสิทธิ์ FILE เพื่อใช้ไวยากรณ์นี้
- เอาต์พุตไม่สามารถเป็นไฟล์ที่มีอยู่ได้ป้องกันไม่ให้ข้อมูลไฟล์ถูกดัดแปลง
- คุณต้องมีบัญชีเพื่อเข้าสู่ระบบเซิร์ฟเวอร์เพื่อดึงไฟล์หรือไม่มิฉะนั้น SELECT ... INTO OUTFILE จะไม่มีผล
- ใน UNIX ไฟล์ถูกสร้างขึ้นเพื่อให้อ่านได้ และการอนุญาตเป็นของเซิร์ฟเวอร์ MySQLซึ่งหมายความว่าในขณะที่คุณสามารถอ่านไฟล์ได้ คุณอาจไม่สามารถลบไฟล์ได้
ส่งออกตารางเป็นข้อมูลดิบ
ส่วนใหญ่สร้างสคริปต์ SQL ที่มีคำสั่ง CREATE TABLE INSERT ฯลฯ ที่จำเป็นในการสร้างฐานข้อมูลใหม่ตั้งแต่ต้น
หากต้องการส่งออกข้อมูลโดยใช้ mysqldump คุณต้องใช้ตัวเลือก –tab เพื่อระบุไดเร็กทอรีที่ระบุโดยไฟล์ส่งออก และเป้าหมายต้องสามารถเขียนได้
ตัวอย่างต่อไปนี้ส่งออกตารางข้อมูล chenweiliang_tbl ไปยังไดเร็กทอรี /tmp:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
ส่งออกข้อมูลในรูปแบบ SQL
ส่งออกข้อมูลในรูปแบบ SQL ไปยังไฟล์ที่ระบุดังนี้:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
เนื้อหาของไฟล์ที่สร้างโดยคำสั่งดังกล่าวมีดังนี้:
- MySQL 转储8.23 - - 主机:localhost 数据库:chenweiliang ----------------------------------- ---------------------- - 服务器版本 3.23 。58 - - 表结构为表`chenweiliang_tbl` - CREATE TABLE chenweiliang_tbl ( chenweiliang_id INT (11 )NOT NULL的auto_increment , chenweiliang_title VARCHAR (100 )NOT NULL 默认'' , chenweiliang_author VARCHAR (40 )NOT NULL 默认'' , submission_date日期默认NULL , PRIMARY KEY (chenweiliang_id ), UNIQUE KEY AUTHOR_INDEX (chenweiliang_author ))TYPE = MyISAM ; - - 转储数据的表`chenweiliang_tbl` - INSERT INTO chenweiliang_tbl VALUES (1 ,'Learn PHP' ,'John Poul' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (2 ,'学习MySQL' ,'Abdul S' ,'2007-05-24' ); INSERT INTO chenweiliang_tbl VALUES (3 ,'JAVA Tutorial' ,'Sanjay' ,'2007-05-06' );
หากคุณต้องการส่งออกข้อมูลของฐานข้อมูลทั้งหมด คุณสามารถใช้คำสั่งต่อไปนี้:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
หากคุณต้องการสำรองฐานข้อมูลทั้งหมด คุณสามารถใช้คำสั่งต่อไปนี้:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
ตัวเลือก --all-databases ถูกเพิ่มใน MySQL 3.23.12 และใหม่กว่า
วิธีนี้สามารถใช้เพื่อใช้กลยุทธ์การสำรองฐานข้อมูล
คัดลอกตารางข้อมูลและฐานข้อมูลไปยังโฮสต์อื่น
หากคุณต้องการคัดลอกข้อมูลไปยังเซิร์ฟเวอร์ MySQL อื่น คุณสามารถระบุชื่อฐานข้อมูลและตารางในคำสั่ง mysqldump
ดำเนินการคำสั่งต่อไปนี้บนโฮสต์ต้นทางเพื่อสำรองข้อมูลไปยังไฟล์ dump.txt:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
ถ้าคุณสำรองฐานข้อมูลทั้งหมด คุณไม่จำเป็นต้องใช้ชื่อตารางเฉพาะ
หากคุณต้องการนำเข้าฐานข้อมูลสำรองไปยังเซิร์ฟเวอร์ MySQL คุณสามารถใช้คำสั่งต่อไปนี้ โดยใช้คำสั่งต่อไปนี้เพื่อยืนยันว่ามีการสร้างฐานข้อมูล:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
คำสั่งดังกล่าวใช้ไพพ์เพื่อนำเข้าข้อมูลที่ส่งออกไปยังโฮสต์ระยะไกลที่ระบุ
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ ) แชร์ "จะส่งออกไฟล์ข้อมูลจากฐานข้อมูล Linux MySQL ได้อย่างไร?ส่งออกคำสั่งคำสั่ง csv" เพื่อช่วยคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-501.html
ยินดีต้อนรับสู่ช่อง Telegram ของบล็อกของ Chen Weiliang เพื่อรับข่าวสารล่าสุด!
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!