`
灵动的水
  • 浏览: 191676 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

mysql表数据的导出导入指令

阅读更多
数据导出
  数据导出主要有以下几种方法:
1. 使用select into outfile 'filename'语句
2. 使用mysqldump实用程序
    数据的导入
1. 使用load data infile 'filename' into table (表名) 语句

1. 使用select into outfile 'filename'语句
  
mysql> select * from ic_keep_detail4 into outfile 'ic_keep_detail4.txt';

  使用select命令还可以指定卸出文件时,字段之间的分隔字符,转义字符,
包括字符,及记录行分隔字符。列在下面:
FIELDS TERMINATED BY ' '
[OPTIONALLY] ENCLOSED BY ''
ESCAPED BY ''
LINES TERMINATED BY ' '

FIELDS TERMINATED表示字段分隔;
[OPTIONALLY] ENCLOSED表示字段用什么字符包括起来,如果使用了OPTIONALLY,则只有CHAR和VERCHAR被包括;
ESCAPED表示当需要转义时用什么作为转义字符;
LINES TERMINATED表示每行记录之间用什么分隔。
  
mysql> select * from ic_keep_detail4 into outfile '/opt/ic_keep_detail4.txt' fields terminated by
'|' enclosed by '"';


2. 使用mysqldump实用程序
  从上面的select方法可以看出,输出的文件只有数据,而没有表结构。而且,
一次只能处理一个表,要处理多个表则不是很容易的。不过可以将select命令写
入一个sql 文件(复制文本应该是很容易的吧),然后在命令行下执行即可:
mysql 库名格式信息(即,内容为sql的命令),也可以卸出纯数据文本或只卸出
含有创建表结构而没有数据的sql文件,同时可以对库中的多个表进行操作,比
select的方法可灵活,强大的多,建议使用。下面就详细说明。
  先来个最简单的吧:
mysqldump phptest > a.sql
  可能结果如下:
# MySQL dump 7.1
#
# Host: localhost Database: phptest
#--------------------------------------------------------
# Server version 3.22.32-shareware-debug
#
# Table structure for table 'driver'
#
CREATE TABLE driver (
drv_id int(11) DEFAULT '0' NOT NULL auto_increment,
drv_forename varchar(15) DEFAULT '' NOT NULL,
drv_surname varchar(25) DEFAULT '' NOT NULL,
drv_team int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (drv_id)
);
#
# Dumping data for table 'driver'
#
INSERT INTO driver VALUES (1,'Mika','Hakinnen',1);
INSERT INTO driver VALUES (2,'David','Coulthard',1);
INSERT INTO driver VALUES (3,'Michael','Schumacher',2);
INSERT INTO driver VALUES (4,'Rubens','Barrichello',2);
...
  如果有多表,则分别列在下面。可以看到这个文件是一个完整的sql文件,如
果要将其导入到其它的数据库中可以通过命令行方式,很方便:mysql phptest < a.sql。
如果将数据从本地传到服务器上,则可以将这个文件上传,然后在服务器通过命令行
方式装入数据。
  如果只想卸出建表指令,则命令如下:
mysqldump -d phptest > a.sql
  如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:
mysqldump -t phptest > a.sql
  那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?
mysqldump -T./ phptest driver
  其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./
表示当前目录,即与mysqldump同一目录。如果不指定driver表,则将卸出整个数据库
的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,
只包含数据,且没有sql指令。
  对卸出的数据文件,也可以同select方法一样,指定字段分隔符,包括字符
,转义字段,行记录分隔符。
参数列在下面:
--fields-terminated-by= 字段分隔符
--fields-enclosed-by= 字段包括符
--fields-optionally-enclosed-by= 字段包括符,只用在CHAR和VERCHAR字段上
--fields-escaped-by= 转义字符
--lines-terminated-by= 行记录分隔符
  我想大家应该明白这些参数的意思了吧。一个例子如下:
mysqldump -T./ --fields-terminated-by=, --fields-enclosed-by=" phptest driver
  输出结果为:
"1","Mika","Hakinnen","1"
"2","David","Coulthard","1"
"3","Michael","Schumacher","2"
"4","Rubens","Barrichello","2"
...
  请注意字符的使用。

小结
  以上为使用select和mysqldump实用程序来卸出文本的方法。select适合利用
程序进行处理,而mysqldump则为手工操作,同时提供强大的导出功能,并且可以
处理整个库,或库中指定的多表。
大家可以根据需求自行决定使用。
  同时还有一些方法,如直接数据库文件拷贝也可以,但是移动后的数据库系
统与原系统应一致才行。这里就不再提了。
导入同导出相类似,导入也有两种方法:
1. 使用LOAD DATA INFILE 'filename'命令
2. 使用mysqlimport实用程序
  由于这两个处理与导出参数相似,只不过是它们的逆操作,故只给出几种命
令使用的例子,不再解释了,
大家可以自行查阅手册。
  1. 使用load命令:
load data infile 'driver.txt' into table driver fields terminated by '
,' enclosed by '"';
  2. 使用mysqlimport实用程序:
mysqlimport --fields-terminated-by=, --fields-enclosed-by=" phptest
driver.txt
分享到:
评论

相关推荐

    mysql导入导出表结构及表数据及执行sql常用指令.pdf

    mysql导入导出表结构及表数据及执行sql常用指令.docx

    mysql导入导出表结构及表数据及执行sql常用指令.docx

    Linux下mysql数据库的创建导入导出 及一些基本指令

    主要介绍了Linux数据库的创建 导入导出 以及一些基本指令,需要的朋友可以参考下

    Mysql命令行导入sql数据的代码

    我的个人实践是:phpmyadmin 导出 utf-8 的 insert 模式的 abc.sql ftp abc.sql 到服务器 ssh 到服务器 mysql -u abc -p use KKK(数据库名,如果没有就 create database KKK) set names ‘utf8’ source abc.sql ...

    mysql命令行还原phpMyAdmin导出的含有中文的SQL文件

    这样吧,先用MySQL-Front创建了空数据库,然后使用mysql命令行导入吧。 1)使用MySQL-Front创建了空数据库 因为看脚本中对象都有DEFAULT CHARSET=gbk COMMENT=… 指令,所以字符集选择gbk   2)启动MySQL命令行,...

    mysql基本命令大全

    mysql常用命令及示例说明。数据库的导入、导出、增删改查

    mysql常见错误集锦

    只好删除该字段,重新添加UTF-8导入MYSQL中文无显示今天把本地的MYSQL数据导出到web service,结果发现中文字符全不见了。配置如下: 程序代码 导出数据库5.0.45。字符集:UTF-8 导入数据库数据库5.0.22,也是UTF-8...

    phpmyAdmin

    phpmyAdmin是一个用PHP编写的,可以通过互联网控制和操作MySQL。 通过phpMyAdmin可以完全对数据库进行操作,例如建立、...可将资料表内的资料汇入(导入)或汇出(导出)成多种格式的档案。 phpMyAdmin 3.5.5 修复小BUG

    JSP企业快信系统.zip

    而对于记录管理,系统维护功能而言,主要是对记录信息进行处理,即对数据库信息进行添加,查询,导入和导出操作,这部分功能涉及的主要技术为通过 java连接 MYSQL 数据库,并通过 Java 代码完成对表内信息的查询和...

    jsp企业快信系统(源码+视频+论坛+数据库).rar

    而对于记录管理,系统维护功能而言,主要是对记录信息进行处理,即对数据库信息进行添加,查询,导入和导出操作,这部分功能涉及的主要技术为通过 java连接 MYSQL 数据库,并通过 Java 代码完成对表内信息的查询和...

    jsp企业快信系统.zip

    而对于记录管理,系统维护功能而言,主要是对记录信息进行处理,即对数据库信息进行添加,查询,导入和导出操作,这部分功能涉及的主要技术为通过 java连接 MYSQL 数据库,并通过 Java 代码完成对表内信息的查询和...

    JavaWeb实现企业快信系统【源码+论文文档+数据库+讲解视频】

    而对于记录管理,系统维护功能而言,主要是对记录信息进行处理,即对数据库信息进行添加,查询,导入和导出操作,这部分功能涉及的主要技术为通过 java连接 MYSQL 数据库,并通过 Java 代码完成对表内信息的查询和...

    基于vue的物联网云组态,一拖一拽,自建大屏

    4.导入、导出、撤销、恢复 5.预览、保存、一拖一拽、自建大屏 6.以MQTT实现即时通讯以及设备控制指令下发。 7.内置3D模拟器,可以支持ThreeJs的渲染。 8.内含近五千的工业组态图,你想要的应有尽有。 9.内含设备地图...

    java8源码-asset_management:使用代码生成器直接生成,功能包含后台数据管理,两级管理员,WebSocket数据推送更新,状

    报表导出, 定时备份, 截图如下: 开发框架: 后台Play框架2.3.8版本 , 前台AngularJS+JQuery 数据库: MySql5.5以上 部署流程: 安装Java8以上, 设置环境变量, 命令行输入javac可以看到信息. (可下载下方网盘的Java一键...

    java8源码-4S_management:功能包含后台数据管理,两级管理员,WebSocket数据推送更新,状态筛选,搜索,日期筛选,报表导

    报表导出, 定时备份, 截图如下: 开发框架: 后台Play框架2.3.8版本 , 前台AngularJS+JQuery 数据库: MySql5.5以上 部署流程: 安装Java8以上, 设置环境变量, 命令行输入javac可以看到信息. (可下载下方网盘的Java一键...

    易语言程序免安装版下载

    “在库中的对应命令名”请务必准确填写静态库中公开导出的符号名称(C函数(cdecl)编译后,符号名称通常是在函数名称前加下划线(_));“在库中的对应命令名”以@开头表示以cdecl方式调用,否则表示以默认的stdcall...

    asp.net知识库

    根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的存储过程 直接从SQL语句问题贴子数据建表并生成建表语句的存储过程 从SQL中的一个表中导出HTML文件...

    cmd操作命令和linux命令大全收集

    tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内) kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/...

Global site tag (gtag.js) - Google Analytics