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 ;
SELECT … INTO OUTFILE语句有以下属性:
导出表作为原始数据
它主要产生一个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
以上命令中使用了管道来将导出的数据导入到指定的远程主机上。