ข้อมูลการส่งออก MySQL
MySQL คุณสามารถใช้ SELECT ... INTO OUTFILE งบการส่งออกข้อมูลไปยังแฟ้มข้อความที่เรียบง่าย
เลือกใช้ ... INTO งบ OUTFILE ข้อมูลการส่งออก
ตัวอย่างต่อไปนี้เราจะส่งออกข้อมูลไปยังตารางข้อมูล w3big_tbl ไฟล์ /tmp/tutorials.txt:
mysql> SELECT * FROM w3big_tbl -> INTO OUTFILE '/tmp/tutorials.txt';
คุณสามารถตั้งค่ารูปแบบข้อมูลการส่งออกที่ระบุโดยตัวเลือกคำสั่งตัวอย่างต่อไปนี้จะถูกส่งออกในรูปแบบ CSV:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt' -> 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 '"' LINES TERMINATED BY '\n' FROM test_table;
SELECT ... ลงในคำสั่ง OUTFILE มีคุณสมบัติดังต่อไปนี้:
- โหลดข้อมูล INFILE เลือก ... INTO OUTFILE เป็นงานที่ผกผันไวยากรณ์ SELECT เพื่อที่จะเขียนข้อมูลไปยังฐานข้อมูลในไฟล์เลือกใช้ ... INTO OUTFILE, อ่านไฟล์กลับเข้ามาในฐานข้อมูลการใช้งานโหลดข้อมูล INFILE
- SELECT ... INTO OUTFILE 'file_name' รูปแบบของสาย SELECT สามารถเลือกเขียนแฟ้ม ไฟล์จะถูกสร้างขึ้นบนเซิร์ฟเวอร์โฮสต์ดังนั้นคุณต้องมีสิทธิ์ในการแฟ้มที่จะใช้รูปแบบนี้
- เอาท์พุทไม่ได้เป็นไฟล์ที่มีอยู่แล้ว ไฟล์ป้องกันไม่ให้ข้อมูลจากการถูกดัดแปลง
- คุณจำเป็นต้องมีเซิร์ฟเวอร์เข้าสู่ระบบบัญชีเพื่อดึงไฟล์ มิฉะนั้น SELECT ... INTO OUTFILE จะได้มีบทบาทใด ๆ
- ในยูนิกซ์หลังจากที่ไฟล์จะถูกสร้างขึ้นเป็นสิทธิพิเศษที่สามารถอ่านได้เป็นเจ้าของโดยเซิร์ฟเวอร์ MySQL ซึ่งหมายความว่าแม้ว่าคุณจะสามารถอ่านไฟล์ แต่อาจไม่ถูกลบ
ข้อมูลที่ส่งออกเป็นตารางเดิม
mysqldump MySQL ถูกใช้เพื่อเปิดฐานข้อมูลยูทิลิตี้จะถูกเก็บไว้ ส่วนใหญ่จะสร้างสคริปต์ SQL ที่มีคำสั่งที่จะสร้างใหม่อีกครั้งฐานข้อมูลจากรอยขีดข่วนที่จำเป็น CREATE แทรกตารางและอื่น ๆ
ใช้ mysqldump การส่งออกข้อมูลต้องมีตัวเลือกที่จะ --tab ระบุไดเรกทอรีที่ระบุไว้ในไฟล์การส่งออกวัตถุที่จะต้องเขียนตัวอย่างต่อไปนี้จะส่งออก w3big_tbl ตารางข้อมูลไปยังไดเรกทอรี / tmp:
$ mysqldump -u root -p --no-create-info \ --tab=/tmp w3big w3big_tbl password ******
ข้อมูลการส่งออกในรูปแบบ SQL
ส่งออกข้อมูล SQL รูปแบบไฟล์ที่ระบุไว้ดังต่อไปนี้:
$ mysqldump -u root -p w3big w3big_tbl > dump.txt password ******
ไฟล์เนื้อหาที่สร้างโดยคำสั่งดังกล่าวดังต่อไปนี้:
-- MySQL dump 8.23 -- -- Host: localhost Database: w3big --------------------------------------------------------- -- Server version 3.23.58 -- -- Table structure for table `w3big_tbl` -- CREATE TABLE w3big_tbl ( w3big_id int(11) NOT NULL auto_increment, w3big_title varchar(100) NOT NULL default '', w3big_author varchar(40) NOT NULL default '', submission_date date default NULL, PRIMARY KEY (w3big_id), UNIQUE KEY AUTHOR_INDEX (w3big_author) ) TYPE=MyISAM; -- -- Dumping data for table `w3big_tbl` -- INSERT INTO w3big_tbl VALUES (1,'Learn PHP','John Poul','2007-05-24'); INSERT INTO w3big_tbl VALUES (2,'Learn MySQL','Abdul S','2007-05-24'); INSERT INTO w3big_tbl VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');
หากคุณจำเป็นต้องส่งออกข้อมูลสำหรับฐานข้อมูลทั้งหมดคุณสามารถใช้คำสั่งต่อไปนี้:
$ mysqldump -u root -p w3big > database_dump.txt password ******
หากคุณจำเป็นต้องสำรองฐานข้อมูลทั้งหมดที่คุณสามารถใช้คำสั่งต่อไปนี้:
$ mysqldump -u root -p --all-databases > database_dump.txt password ******
--all ฐานข้อมูลตัวเลือกที่ถูกเพิ่มเข้ามาใน MySQL 3.23.12 หรือในภายหลัง
วิธีการนี้สามารถใช้ในการดำเนินกลยุทธ์การสำรองฐานข้อมูล
แผ่นข้อมูลและสำเนาของฐานข้อมูลไปยังโฮสต์อื่น
หากคุณต้องการที่จะคัดลอกข้อมูลไปยังเซิร์ฟเวอร์อื่น ๆ MySQL, คุณสามารถระบุชื่อของฐานข้อมูลและข้อมูลตารางในคำสั่ง mysqldump
รันคำสั่งต่อไปนี้บนโฮสต์ต้นทางสำรองข้อมูลไปยังแฟ้ม dump.txt:
$ mysqldump -u root -p database_name table_name > dump.txt password *****
ถ้าสำรองข้อมูลทั้งหมดของฐานข้อมูลที่คุณไม่จำเป็นต้องใช้ชื่อตารางที่เฉพาะเจาะจง
หากคุณจำเป็นต้องสำรองฐานข้อมูลลงในเซิร์ฟเวอร์ MySQL, คุณสามารถใช้คำสั่งต่อไปใช้คำสั่งต่อไปนี้คุณต้องให้แน่ใจว่าฐานข้อมูลที่ได้รับการสร้าง:
$ mysql -u root -p database_name < dump.txt password *****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</p> $ mysqldump -u root -p database_name \ | mysql -h other-host.com database_name
คำสั่งดังกล่าวถูกนำมาใช้ในท่อเพื่อส่งออกข้อมูลลงในพื้นที่ห่างไกลที่ระบุ