表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上。
导出数据的SELECT...INTO OUTFILE声明:
这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾。默认的输出格式是相同的LOAD DATA,所以下面的语句导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt:
mysql> SELECT * FROM tutorials_tbl -> INTO OUTFILE '/tmp/tutorials.txt';
也可以更改输出格式,使用选项来指示如何引用和分隔列和记录。 CRLF终止线要导出tutorial_tbl的CSV格式的表格,使用这样的语句:
mysql> SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt' -> FIELDS TERMINATED BY ',' ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n';
SELECT ... INTO OUTFILE具有以下属性:
作为原始数据的导出表:
使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件或为一组的INSERT语句重新创建该表中的记录。
转储一个表,必须指定一个数据文件 - 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。
使用mysqldump程序复制或备份表和数据库。它可以写表输出的原始数据文件,或为一组的INSERT语句重新创建该表中的记录。
转储一个表,必须指定一个数据文件 - 选项卡上的选项,表示想要的MySQL服务器写入文件所在的目录。
$ mysqldump -u root -p --no-create-info \ --tab=/tmp TUTORIALS tutorials_tbl password ******
在SQL格式导出表的内容或定义:
一个表中的SQL格式导出到一个文件,使用这样的命令:
$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt password ******
这将创建文件的内容如下:
-- MySQL dump 8.23 -- -- Host: localhost Database: TUTORIALS --------------------------------------------------------- -- Server version 3.23.58 -- -- Table structure for table `tutorials_tbl` -- CREATE TABLE tutorials_tbl ( tutorial_id int(11) NOT NULL auto_increment, tutorial_title varchar(100) NOT NULL default '', tutorial_author varchar(40) NOT NULL default '', submission_date date default NULL, PRIMARY KEY (tutorial_id), UNIQUE KEY AUTHOR_INDEX (tutorial_author) ) TYPE=InnoDB; -- -- Dumping data for table `tutorials_tbl` -- INSERT INTO tutorials_tbl VALUES (1,'Learn PHP','John Poul','2007-05-24'); INSERT INTO tutorials_tbl VALUES (2,'Learn MySQL','Abdul S','2007-05-24'); INSERT INTO tutorials_tbl VALUES (3,'JAVA Tutorial','Sanjay','2007-05-06');
要转储多个表,他们的名字所有的数据库名称参数。要转储整个数据库,不指定任何表后的数据库,如下所示:
$ mysqldump -u root -p TUTORIALS > database_dump.txt password ******
所有可用的数据库备份主机上使用以下命令:
$ mysqldump -u root -p --all-databases > database_dump.txt password ******
在SQL格式导出表的内容或定义:
这些方法可用于实现数据库的备份策略。
表或数据库复制到另一台主机:
如果要复制的表或数据库从一个MySQL服务器,然后使用mysqldump数据库名和表名。
在源主机上运行以下命令。这将转储完整的数据库到dump.txt文件:
$ mysqldump -u root -p database_name table_name > dump.txt password *****
复制完整的数据库,而不使用一个特定的表名称,如上面所解释。
现在,FTP dump.txt文件在另一台主机上,使用下面的命令。在运行此命令之前,请确保已创建目标服务器上的数据库名称。
$ mysql -u root -p database_name < dump.txt password *****
另一种方法,而无需使用一个中间文件来完成,mysqldump输出直接通过网络发送到远程的MySQL服务器。如果可以连接到两台服务器的cookbook 数据库所在的主机上,使用以下命令:
$ mysqldump -u root -p database_name \ states | mysql -h other-host.com database_name
命令mysqldump的一半连接到本地服务器,并写入转储输出管道。 MySQL的一半的命令连接到远程MySQL服务器otherhost.com。它读取输入管和其他host.com服务器发送的每个语句。
问题内容: 以下工作-拒付金额等于1时返回Y,否则默认为N 但是我似乎无法使这一工作正常?语法有效吗 问题答案: 大概这可以工作:
我有一个java应用程序,它执行用户在UI上输入的SQL select语句。应用程序获取元数据以了解列类型: 一旦我得到结果集,对于每一行,我循环遍历列以了解类型。根据类型,我使用getInt()、getDate()或getString()获得值。 问题是,在某些情况下,select有一个很大的SUM(),当我执行getInt()时会出现一个数字溢出(我从JDBC驱动程序得到一个错误,在我的例子中
问题内容: 我正在尝试导出我在MySQL Workbench上拥有的数据库,但是在生成.sql文件上的INSERT语句时遇到了麻烦。 我要导出数据,我要对要导出的数据库进行反向工程。那我去 文件/导出/转发工程师SQL CREATE脚本 然后,在其中选择 “为表生成INSERT语句 ”选项。 结果仅生成用于创建表的代码。 有什么方法可以为数据创建插入语句? 谢谢 问题答案: 对于旧版本: 打开My
我的Postgres版本:“PostgreSQL 9.4.1,由Visual C++build 1800编译,32位” 我要处理的桌子;包含列 EventTime-Timestamp不带时区 SerialNumber-可变字符(32) sourceid-integer 和其他4列 下面是我的select语句
本文向大家介绍mysql select语句操作实例,包括了mysql select语句操作实例的使用技巧和注意事项,需要的朋友参考一下 Select的语法 SELECT用于恢复从一个或多个表中选择的行,并可以加入UNION语句和子查询。 每个select_expr都指示一个您想要恢复的列, table_references指示行从哪个表或哪些表中被恢复。 简单查询 ORDER BY查询 GROUP
本文向大家介绍10个mysql中select语句的简单用法,包括了10个mysql中select语句的简单用法的使用技巧和注意事项,需要的朋友参考一下 1、select语句可以用回车分隔 2、批量查询数据 3、使用concat连接查询的结果 返回"1-article content" 4、使用locate 用法: select locate("hello","hello baby");返回1 不存