ລາຍການຫົວເລື່ອງ
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 ຖ້າທ່ານມັກມັນ! ການແບ່ງປັນ ແລະຖືກໃຈຂອງເຈົ້າເປັນແຮງຈູງໃຈຢ່າງຕໍ່ເນື່ອງຂອງພວກເຮົາ!