ວິທີການສົ່ງອອກໄຟລ໌ຂໍ້ມູນຈາກຖານຂໍ້ມູນ Linux MySQL?ສົ່ງອອກຄໍາສັ່ງຖະແຫຼງການ csv

Linux ຖານຂໍ້ມູນ MySQLວິທີການສົ່ງອອກໄຟລ໌ຂໍ້ມູນ?ສົ່ງອອກຄໍາສັ່ງຖະແຫຼງການ csv

MySQLສົ່ງອອກຂໍ້ມູນຂໍ້ມູນ

ໃນ MySQL ທ່ານສາມາດນໍາໃຊ້ເລືອກ ... ເຂົ້າໄປໃນ OUTFILEຄໍາຖະແຫຼງທີ່ພຽງແຕ່ສົ່ງອອກຂໍ້ມູນໄປຍັງໄຟລ໌ຂໍ້ຄວາມ.


ສົ່ງອອກຂໍ້ມູນໂດຍໃຊ້ຄໍາສັ່ງ SELECT ... INTO OUTFILE

ໃນຕົວຢ່າງຕໍ່ໄປນີ້ພວກເຮົາຈະສົ່ງອອກຕາຕະລາງຂໍ້ມູນໄປຍັງໄຟລ໌ /tmp/tutorials.txt:

mysql > SELECT * FROM chenweiliang_tbl 
     - > INTO OUTFILE '/tmp/tutorials.txt' ;

ທ່ານ​ສາ​ມາດ​ກໍາ​ນົດ​ຮູບ​ແບບ​ທີ່​ກໍາ​ນົດ​ໄວ້​ຂອງ​ການ​ຜະ​ລິດ​ຂໍ້​ມູນ​ໂດຍ​ຜ່ານ​ທາງ​ເລືອກ​ຄໍາ​ສັ່ງ​.

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 syntax.ເພື່ອຂຽນຂໍ້ມູນຈາກຖານຂໍ້ມູນໄປຫາໄຟລ໌, ໃຫ້ໃຊ້ SELECT ... INTO OUTFILE, ແລະເພື່ອອ່ານໄຟລ໌ກັບຄືນສູ່ຖານຂໍ້ມູນ, ໃຫ້ໃຊ້ LOAD DATA INFILE.
  • SELECT ... INTO OUTFILE A SELECT ຂອງແບບຟອມ 'file_name' ສາມາດຂຽນເສັ້ນທີ່ເລືອກໃສ່ໄຟລ໌.ໄຟລ໌ດັ່ງກ່າວຖືກສ້າງຢູ່ໃນເຊີບເວີໂຮດ, ດັ່ງນັ້ນທ່ານຕ້ອງມີການອະນຸຍາດ FILE ເພື່ອໃຊ້ syntax ນີ້.
  • ຜົນຜະລິດບໍ່ສາມາດເປັນໄຟລ໌ທີ່ມີຢູ່ແລ້ວ.ປ້ອງກັນບໍ່ໃຫ້ຂໍ້ມູນໄຟລ໌ຖືກລົບກວນ.
  • ທ່ານຈໍາເປັນຕ້ອງມີບັນຊີເພື່ອເຂົ້າສູ່ລະບົບເຄື່ອງແມ່ຂ່າຍເພື່ອດຶງໄຟລ໌.ຖ້າບໍ່ດັ່ງນັ້ນ SELECT ... INTO OUTFILE ຈະບໍ່ມີຜົນກະທົບ.
  • ໃນ UNIX, ໄຟລ໌ຖືກສ້າງຂື້ນເພື່ອໃຫ້ສາມາດອ່ານໄດ້, ແລະການອະນຸຍາດແມ່ນເປັນເຈົ້າຂອງໂດຍເຄື່ອງແມ່ຂ່າຍ MySQL.ນີ້ຫມາຍຄວາມວ່າໃນຂະນະທີ່ທ່ານສາມາດອ່ານໄຟລ໌, ທ່ານອາດຈະບໍ່ສາມາດລຶບມັນໄດ້.

ຕາຕະລາງສົ່ງອອກເປັນຂໍ້ມູນດິບ

ມັນສ່ວນໃຫຍ່ແມ່ນຜະລິດ SQL script ທີ່ມີຄໍາສັ່ງ CREATE TABLE INSERT ແລະອື່ນໆທີ່ຈໍາເປັນເພື່ອສ້າງຖານຂໍ້ມູນໃຫມ່ຈາກ scratch.

ເພື່ອສົ່ງອອກຂໍ້ມູນໂດຍໃຊ້ mysqldump, ທ່ານຈໍາເປັນຕ້ອງໃຊ້ຕົວເລືອກ –tab ເພື່ອລະບຸໄດເລກະທໍລີທີ່ລະບຸໄວ້ໂດຍໄຟລ໌ສົ່ງອອກ, ແລະເປົ້າຫມາຍຕ້ອງຖືກຂຽນໄດ້.

ຕົວຢ່າງຕໍ່ໄປນີ້ສົ່ງອອກຕາຕະລາງຂໍ້ມູນ chenweiliang_tbl ໄປຫາ /tmp directory:

$ 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 Blog ( https://www.chenweiliang.com/ ) shared "ວິທີການສົ່ງອອກໄຟລ໌ຂໍ້ມູນຈາກຖານຂໍ້ມູນ Linux MySQL?ສົ່ງອອກຄໍາສັ່ງຖະແຫຼງການ csv" ເພື່ອຊ່ວຍທ່ານ.

ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-501.html

ເພື່ອປົດລັອກເຄັດລັບທີ່ເຊື່ອງໄວ້ເພີ່ມເຕີມ🔑, ຍິນດີຕ້ອນຮັບເຂົ້າສູ່ຊ່ອງ Telegram ຂອງພວກເຮົາ!

Share and like ຖ້າທ່ານມັກມັນ! ການແບ່ງປັນ ແລະຖືກໃຈຂອງເຈົ້າເປັນແຮງຈູງໃຈຢ່າງຕໍ່ເນື່ອງຂອງພວກເຮົາ!

 

评论评论

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ທົ່ງນາທີ່ກໍານົດໄວ້ແມ່ນຖືກນໍາໃຊ້ * ປ້າຍ ກຳ ກັບ

ເລື່ອນໄປທາງເທີງ