วิธีการส่งออกไฟล์ข้อมูลจากฐานข้อมูล Linux MySQL?คำสั่งคำสั่งส่งออก csv

ลินุกซ์ ฐานข้อมูล 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 เพื่อรับข่าวสารล่าสุด!

🔔 เป็นคนแรกที่ได้รับ "คู่มือการใช้งานเครื่องมือ AI การตลาดเนื้อหา ChatGPT" อันทรงคุณค่าในไดเรกทอรีด้านบนของช่อง! 🌟
📚 คู่มือนี้มีคุณค่ามหาศาล 🌟 นี่เป็นโอกาสที่หายาก อย่าพลาด! ⏰⌛💨
แชร์และชอบถ้าคุณชอบ!
การแบ่งปันและไลค์ของคุณเป็นแรงจูงใจอย่างต่อเนื่องของเรา!

 

发表评论

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ 必填项已用 * 标注