Straipsnių katalogas
Kaip eksportuoti duomenų failus iš „Linux MySQL“ duomenų bazės ? Kokios yra komandos eksportuojant į CSV?
MySQLeksportuoti duomenų duomenis
„MySQL“ sistemoje galite naudoti komandą SELECT … INTO OUTFILE , kad lengvai eksportuotumėte duomenis į tekstinį failą.
Eksportuokite duomenis naudodami teiginį SELECT ... INTO OUTFILE
Šiame pavyzdyje duomenų lentelę eksportuosime į /tmp/tutorials.txt failą:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Nurodytą duomenų išvesties formatą galite nustatyti naudodami komandų parinktis. Šis pavyzdys skirtas CSV formato eksportavimui:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
Toliau pateiktame pavyzdyje failas sugeneruojamas su reikšmėmis, atskirtomis kableliais.Šis formatas gali būti naudojamas daugelyje programų.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
Teiginys SELECT ... INTO OUTFILE turi šiuos atributus:
- LOAD DATA INFILE yra atvirkštinė SELECT ... INTO OUTFILE, SELECT sintaksės operacija.Norėdami įrašyti duomenis iš duomenų bazės į failą, naudokite SELECT ... INTO OUTFILE, o norėdami nuskaityti failą atgal į duomenų bazę, naudokite LOAD DATA INFILE.
- PASIRINKTI... Į OUTFILE Pasirinkus formą 'failo_vardas', galima įrašyti pasirinktas eilutes į failą.Failas sukurtas serverio priegloboje, todėl turite turėti FILE leidimą naudoti šią sintaksę.
- Išvestis negali būti esamas failas.Neleiskite sugadinti failo duomenų.
- Ar jums reikia paskyros, kad galėtumėte prisijungti prie serverio ir atkurti failus.Priešingu atveju SELECT ... INTO OUTFILE neturės jokios įtakos.
- UNIX sistemoje failas sukuriamas taip, kad jį būtų galima skaityti, o leidimai priklauso MySQL serveriui.Tai reiškia, kad nors galite skaityti failą, gali nepavykti jo ištrinti.
Eksportuoti lentelę kaip neapdorotus duomenis
Jis daugiausia sukuria SQL scenarijų, kuriame yra komandos CREATE TABLE INSERT ir kt., reikalingos duomenų bazei atkurti nuo nulio.
Norėdami eksportuoti duomenis naudodami mysqldump, turite naudoti parinktį –tab, kad nurodytumėte eksporto failo nurodytą katalogą, o taikinys turi būti rašomas.
Šis pavyzdys eksportuoja duomenų lentelę chenweiliang_tbl į /tmp katalogą:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Eksportuokite duomenis SQL formatu
Eksportuokite duomenis SQL formatu į nurodytą failą taip:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Aukščiau pateikta komanda sukurto failo turinys yra toks:
- 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' );
Jei reikia eksportuoti visos duomenų bazės duomenis, galite naudoti šią komandą:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Jei reikia sukurti visų duomenų bazių atsargines kopijas, galite naudoti šią komandą:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
MySQL 3.23.12 ir vėlesnėse versijose buvo pridėta parinktis --all-databases.
Šis metodas gali būti naudojamas duomenų bazės atsarginės kopijos strategijai įgyvendinti.
Nukopijuokite duomenų lenteles ir duomenų bazes į kitus pagrindinius kompiuterius
Jei reikia nukopijuoti duomenis į kitą MySQL serverį, komandoje mysqldump galite nurodyti duomenų bazės pavadinimą ir lentelę.
Vykdykite šią komandą šaltinio priegloboje, kad sukurtumėte atsarginę duomenų kopiją dump.txt faile:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Jei sukuriate visos duomenų bazės atsarginę kopiją, jums nereikia naudoti konkrečios lentelės pavadinimo.
Jei reikia importuoti atsarginę duomenų bazę į MySQL serverį, galite naudoti šią komandą, naudodami šią komandą turite patvirtinti, kad duomenų bazė buvo sukurta:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Aukščiau pateikta komanda naudoja vamzdį eksportuotiems duomenims importuoti į nurodytą nuotolinį pagrindinį kompiuterį.
Tikiuosi, kad straipsnis „Kaip eksportuoti duomenų failus iš „Linux MySQL“ duomenų bazės? Eksportuoti CSV komandinę eilutę“, kuriuo pasidalinta Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ), jums bus naudingas.
Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-501.html
