ಲೇಖನ ಡೈರೆಕ್ಟರಿ
ಲಿನಕ್ಸ್ 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 ಹೇಳಿಕೆಯು ಈ ಕೆಳಗಿನ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿದೆ:
- ಲೋಡ್ ಡೇಟಾ INFILE ಎಂಬುದು SELECT ... INTO OUTFILE, SELECT ಸಿಂಟ್ಯಾಕ್ಸ್ನ ವಿಲೋಮ ಕಾರ್ಯಾಚರಣೆಯಾಗಿದೆ.ಡೇಟಾಬೇಸ್ನಿಂದ ಫೈಲ್ಗೆ ಡೇಟಾವನ್ನು ಬರೆಯಲು, SELECT ... INTO OUTFILE ಅನ್ನು ಬಳಸಿ ಮತ್ತು ಫೈಲ್ ಅನ್ನು ಡೇಟಾಬೇಸ್ಗೆ ಮತ್ತೆ ಓದಲು, ಲೋಡ್ ಡೇಟಾ INFILE ಅನ್ನು ಬಳಸಿ.
- ಆಯ್ಕೆ ಮಾಡಿ... ಔಟ್ಫೈಲ್ ಆಗಿ 'file_name' ಫಾರ್ಮ್ನ ಆಯ್ಕೆಯು ಆಯ್ಕೆಮಾಡಿದ ಸಾಲುಗಳನ್ನು ಫೈಲ್ಗೆ ಬರೆಯಬಹುದು.ಫೈಲ್ ಅನ್ನು ಸರ್ವರ್ ಹೋಸ್ಟ್ನಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ, ಆದ್ದರಿಂದ ಈ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಬಳಸಲು ನೀವು FILE ಅನುಮತಿಯನ್ನು ಹೊಂದಿರಬೇಕು.
- ಔಟ್ಪುಟ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಫೈಲ್ ಆಗಿರಬಾರದು.ಫೈಲ್ ಡೇಟಾವನ್ನು ಹಾಳು ಮಾಡದಂತೆ ತಡೆಯಿರಿ.
- ಫೈಲ್ಗಳನ್ನು ಹಿಂಪಡೆಯಲು ಸರ್ವರ್ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಲು ನೀವು ಖಾತೆಯನ್ನು ಹೊಂದಿರಬೇಕೇ?ಇಲ್ಲವಾದರೆ SELECT ... INTO OUTFILE ಯಾವುದೇ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.
- UNIX ನಲ್ಲಿ, ಓದಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಫೈಲ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ, ಮತ್ತು ಅನುಮತಿಗಳು MySQL ಸರ್ವರ್ನಿಂದ ಒಡೆತನದಲ್ಲಿದೆ.ಇದರರ್ಥ ನೀವು ಫೈಲ್ ಅನ್ನು ಓದಬಹುದಾದಾಗ, ಅದನ್ನು ಅಳಿಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗದಿರಬಹುದು.
ಕಚ್ಚಾ ಡೇಟಾದಂತೆ ಟೇಬಲ್ ಅನ್ನು ರಫ್ತು ಮಾಡಿ
ಇದು ಮುಖ್ಯವಾಗಿ SQL ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಇದು ಮೊದಲಿನಿಂದ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸಲು ಅಗತ್ಯವಿರುವ ಕ್ರಿಯೇಟ್ ಟೇಬಲ್ ಇನ್ಸರ್ಟ್ ಇತ್ಯಾದಿ ಆಜ್ಞೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ.
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 。文本 密码******
MySQL 3.23.12 ಮತ್ತು ನಂತರದಲ್ಲಿ --all-databases ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
ಡೇಟಾಬೇಸ್ ಬ್ಯಾಕಪ್ ತಂತ್ರವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಈ ವಿಧಾನವನ್ನು ಬಳಸಬಹುದು.
ಡೇಟಾ ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್ಗಳನ್ನು ಇತರ ಹೋಸ್ಟ್ಗಳಿಗೆ ನಕಲಿಸಿ
ನೀವು ಇನ್ನೊಂದು 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
ರಫ್ತು ಮಾಡಿದ ಡೇಟಾವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ರಿಮೋಟ್ ಹೋಸ್ಟ್ಗೆ ಆಮದು ಮಾಡಲು ಮೇಲಿನ ಆಜ್ಞೆಯು ಪೈಪ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.
ಹೋಪ್ ಚೆನ್ ವೈಲಿಯಾಂಗ್ ಬ್ಲಾಗ್ ( https://www.chenweiliang.com/ ) ಹಂಚಿಕೊಂಡಿದ್ದಾರೆ "Linux MySQL ಡೇಟಾಬೇಸ್ನಿಂದ ಡೇಟಾ ಫೈಲ್ಗಳನ್ನು ರಫ್ತು ಮಾಡುವುದು ಹೇಗೆ?ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು csv ಸ್ಟೇಟ್ಮೆಂಟ್ ಕಮಾಂಡ್" ಅನ್ನು ರಫ್ತು ಮಾಡಿ.
ಈ ಲೇಖನದ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಸ್ವಾಗತ:https://www.chenweiliang.com/cwl-501.html
ಇತ್ತೀಚಿನ ನವೀಕರಣಗಳನ್ನು ಪಡೆಯಲು ಚೆನ್ ವೈಲಿಯಾಂಗ್ ಅವರ ಬ್ಲಾಗ್ನ ಟೆಲಿಗ್ರಾಮ್ ಚಾನಲ್ಗೆ ಸುಸ್ವಾಗತ!
📚 ಈ ಮಾರ್ಗದರ್ಶಿಯು ದೊಡ್ಡ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿದೆ, 🌟ಇದು ಅಪರೂಪದ ಅವಕಾಶವಾಗಿದೆ, ಇದನ್ನು ತಪ್ಪಿಸಿಕೊಳ್ಳಬೇಡಿ! ⏰⌛💨
ಇಷ್ಟವಾದಲ್ಲಿ ಶೇರ್ ಮಾಡಿ ಮತ್ತು ಲೈಕ್ ಮಾಡಿ!
ನಿಮ್ಮ ಹಂಚಿಕೆ ಮತ್ತು ಇಷ್ಟಗಳು ನಮ್ಮ ನಿರಂತರ ಪ್ರೇರಣೆ!