Πώς να εξαγάγετε αρχεία δεδομένων από τη βάση δεδομένων MySQL του Linux;εντολή εξαγωγής δήλωσης csv

Linux Βάση δεδομένων MySQLΠώς να εξαγάγετε αρχεία δεδομένων;εντολή εξαγωγής δήλωσης csv

MySQLεξαγωγή δεδομένων

Στη MySQL μπορείτε να χρησιμοποιήσετεΕΠΙΛΕΞΤΕ… ΣΕ ΕΞΩΤΕΡΙΚΟδήλωση για απλή εξαγωγή δεδομένων σε αρχείο κειμένου.


Εξαγωγή δεδομένων χρησιμοποιώντας την πρόταση 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.
  • ΕΠΙΛΟΓΗ ... 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

Η παραπάνω εντολή χρησιμοποιεί έναν σωλήνα για την εισαγωγή των εξαγόμενων δεδομένων στον καθορισμένο απομακρυσμένο κεντρικό υπολογιστή.

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ ) κοινοποίησε το "Πώς να εξαγάγω αρχεία δεδομένων από τη βάση δεδομένων MySQL του Linux;Εξαγωγή εντολής δήλωσης csv" για να σας βοηθήσει.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-501.html

Για να ξεκλειδώσετε περισσότερα κρυμμένα κόλπα🔑, καλώς ήρθατε στο κανάλι μας στο Telegram!

Κάντε share και like αν σας αρέσει! Τα share και τα likes σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευτεί. 必填 项 已 用 * 标注

Μεταβείτε στην κορυφή