लेख निर्देशिका
Linux MySQL डाटाबेसबाट डाटा फाइलहरू कसरी निर्यात गर्ने ? CSV मा निर्यात गर्नका लागि कमाण्डहरू के के हुन्?
MySQLनिर्यात डाटा डाटा
MySQL मा, तपाईंले टेक्स्ट फाइलमा डेटा सजिलै निर्यात गर्न SELECT … INTO OUTFILE कथन प्रयोग गर्न सक्नुहुन्छ।
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 ;
चयन गर्नुहोस् ... INTO आउटफाइल कथनमा निम्न विशेषताहरू छन्:
- LOAD DATA INFILE SELECT... INTO OUTFILE, SELECT सिन्ट्याक्सको उल्टो अपरेशन हो।डाटाबेसबाट फाइलमा डाटा लेख्नका लागि SELECT... INTO OUTFILE प्रयोग गर्नुहोस्, र फाइललाई डाटाबेसमा फर्काउन LOAD DATA INFILE प्रयोग गर्नुहोस्।
- चयन गर्नुहोस् ... आउटफाइलमा चयन गर्नुहोस् फारम 'file_name' को एक चयनले फाइलमा चयन गरिएका लाइनहरू लेख्न सक्छ।फाइल सर्भर होस्टमा सिर्जना गरिएको छ, त्यसैले यो सिन्ट्याक्स प्रयोग गर्नको लागि तपाइँसँग FILE अनुमति हुनुपर्छ।
- आउटपुट अवस्थित फाइल हुन सक्दैन।फाइल डेटा छेडछाड हुनबाट रोक्नुहोस्।
- के तपाइँसँग फाइलहरू पुन: प्राप्त गर्न सर्भरमा लग इन गर्न खाता हुन आवश्यक छ।अन्यथा चयन गर्नुहोस् ... INTO OUTFILE ले कुनै प्रभाव पार्दैन।
- UNIX मा, फाइल पढ्न योग्य हुनको लागि सिर्जना गरिएको छ, र अनुमतिहरू MySQL सर्भरको स्वामित्वमा छन्।यसको मतलब यो हो कि जब तपाइँ फाइल पढ्न सक्नुहुन्छ, तपाइँ यसलाई मेटाउन सक्षम हुनुहुन्न।
कच्चा डाटाको रूपमा तालिका निर्यात गर्नुहोस्
यसले मुख्यतया स्क्र्याचबाट डाटाबेस पुन: सिर्जना गर्न आवश्यक आदेशहरू CREATE TABLE INSERT आदि समावेश भएको SQL स्क्रिप्ट उत्पादन गर्दछ।
Mysqldump प्रयोग गरेर डाटा निर्यात गर्न, तपाईंले निर्यात फाइल द्वारा निर्दिष्ट डाइरेक्टरी निर्दिष्ट गर्न -ट्याब विकल्प प्रयोग गर्न आवश्यक छ, र लक्ष्य लेख्न योग्य हुनुपर्छ।
निम्न उदाहरणले डाटा तालिका 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
माथिको आदेशले निर्दिष्ट रिमोट होस्टमा निर्यात डेटा आयात गर्न पाइप प्रयोग गर्दछ।
आशा छ, चेन वेइलियाङको ब्लग ( https://www.chenweiliang.com/ ) मा साझा गरिएको "लिनक्स MySQL डाटाबेसबाट डाटा फाइलहरू कसरी निर्यात गर्ने? CSV कमाण्ड लाइन निर्यात गर्नुहोस्" लेख तपाईंको लागि उपयोगी हुनेछ।
यस लेखको लिङ्क साझा गर्न नहिचकिचाउनुहोस्: https://www.chenweiliang.com/cwl-501.html
