Artikelkatalog
Linux MySQL-databasHur exporterar man datafiler?exportera csv-satskommandot
MySQLexportera datadata
I MySQL kan du användaVÄLJ ... TILL UTFILuttalande för att helt enkelt exportera data till en textfil.
Exportera data med SELECT ... INTO OUTFILE-satsen
I följande exempel kommer vi att exportera datatabellen till filen /tmp/tutorials.txt:
mysql > SELECT * FROM chenweiliang_tbl - > INTO OUTFILE '/tmp/tutorials.txt' ;
Du kan ställa in det angivna formatet för datautmatning genom kommandoalternativ. Följande exempel är för export av CSV-format:
mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.csv' - > FIELDS TERMINATED BY ',' ENCLOSED BY ''' - > LINES TERMINATED BY '\ r \ n' ;
I följande exempel genereras en fil med värden separerade med kommatecken.Detta format kan användas av många program.
SELECT a ,b ,a + b INTO OUTFILE '/tmp/result.text'FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '''行 终止'\ n'FROM test_table ;
SELECT ... INTO OUTFILE-satsen har följande attribut:
- LOAD DATA INFILE är den omvända operationen av SELECT ... INTO OUTFILE, SELECT syntax.För att skriva data från en databas till en fil, använd SELECT ... INTO OUTFILE, och för att läsa filen tillbaka till databasen, använd LOAD DATA INFILE.
- SELECT ... INTO OUTFIL En SELECT av formen 'file_name' kan skriva de valda raderna till en fil.Filen skapas på servervärden, så du måste ha FILE-behörighet för att använda denna syntax.
- Utdata kan inte vara en befintlig fil.Förhindra att fildata manipuleras.
- Behöver du ha ett konto för att logga in på servern för att hämta filer.Annars har SELECT ... INTO OUTFILE ingen effekt.
- I UNIX skapas filen för att vara läsbar och behörigheterna ägs av MySQL-servern.Detta innebär att medan du kan läsa filen, kanske du inte kan ta bort den.
Exportera tabell som rådata
Den producerar huvudsakligen ett SQL-skript som innehåller kommandona CREATE TABLE INSERT etc. som behövs för att återskapa databasen från början.
För att exportera data med mysqldump måste du använda alternativet –tab för att ange katalogen som specificeras av exportfilen, och målet måste vara skrivbart.
Följande exempel exporterar datatabellen chenweiliang_tbl till /tmp-katalogen:
$ mysqldump - u root - p - no - create - info - tab = / tmp chenweiliang chenweiliang_tbl 密码******
Exportera data i SQL-format
Exportera data i SQL-format till den angivna filen, enligt följande:
$ mysqldump - u root - p chenweiliang chenweiliang_tbl > dump 。文本 密码******
Innehållet i filen som skapats av kommandot ovan är som följer:
- 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' );
Om du behöver exportera data från hela databasen kan du använda följande kommando:
$ mysqldump - u root - p chenweiliang > database_dump 。文本 密码******
Om du behöver säkerhetskopiera alla databaser kan du använda följande kommando:
$ mysqldump - u root - p - all - databases > database_dump 。文本 密码******
Alternativet --all-databases lades till i MySQL 3.23.12 och senare.
Denna metod kan användas för att implementera en strategi för säkerhetskopiering av databas.
Kopiera datatabeller och databaser till andra värdar
Om du behöver kopiera data till en annan MySQL-server kan du ange databasnamnet och tabellen i mysqldump-kommandot.
Utför följande kommando på källvärden för att säkerhetskopiera data till filen dump.txt:
$ mysqldump - u root - p database_name table_name > dump 。文本 密码*****
Om du säkerhetskopierar databasen i sin helhet behöver du inte använda ett specifikt tabellnamn.
Om du behöver importera backupdatabasen till MySQL-servern kan du använda följande kommando, med följande kommando måste du bekräfta att databasen har skapats:
$ mysql - u root - p database_name < dump 。文本 密码*****
你也可以使用以下命令将导出的数据直接导入到远程的服务器上,但请确保两台服务器是相通的,是可以相互访问的:</ p > $ mysqldump的- ü根- p DATABASE_NAME \ | mysql - h other - host 。com database_name
Ovanstående kommando använder en pipe för att importera de exporterade data till den angivna fjärrvärden.
Hope Chen Weiliang blogg ( https://www.chenweiliang.com/ ) delad "Hur exporterar man datafiler från Linux MySQL-databas?Exportera csv-satskommando" för att hjälpa dig.
Välkommen att dela länken till denna artikel:https://www.chenweiliang.com/cwl-501.html
För att låsa upp fler dolda knep🔑, välkommen att gå med i vår Telegram-kanal!
Dela och gilla om du gillar det! Dina delningar och gilla-markeringar är vår fortsatta motivation!