`
灵动的水
  • 浏览: 194545 次
  • 性别: 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

    3. 导出和导入表结构及数据3.1 导出整个数据库或特定表到SQL文件: ```bash # 导出整个数据库 mysqldump -h 主机地址 -u 用户名 -p 数据库名 &gt; 数据库备份文件.sql # 导出特定表 mysqldump -h 主机地址 -u 用户名 -...

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

    在日常的数据库管理工作中,导入和导出数据是常见的任务,这对于数据迁移、备份和恢复至关重要。以下是一些常用的MySQL指令,帮助你理解如何在MySQL中操作这些过程。 首先,确保MySQL已正确安装,并且在系统的环境...

    mysql导入导出sql.rar

    导入SQL文件允许用户将包含创建表、插入数据等指令的文本文件应用到MySQL数据库中,而导出则相反,它将数据库中的内容转换为SQL脚本,以便存储或转移到其他系统。 这个名为"mysql导入导出sql"的工具提供了以下功能...

    mariadb导入导出mysql数据库的脚本:无需手动创建数据库,直接新建数据库+导入表结构+插入记录

    这个.txt文件可能是使用Navicat导出的SQL脚本,包含了创建表和插入数据的指令。 2. "3.mysql -u root -p 《 test.sql不创建数据库_导入数据库.url":这看起来是一个URL,指向一个命令行导入数据库的示例。`mysql -u...

    php+mysql导入数据的方法

    在进行网站开发或者维护的过程中,经常需要处理数据库的导入导出工作,尤其是在使用 PHP 和 MySQL 的环境下。本文将详细介绍如何通过命令行以及图形界面的方式实现 PHP+MySQL 数据库的数据导入操作。 #### 1. ...

    mysql.rar_mysql导出

    在处理MySQL数据库时,熟练掌握数据的导入导出以及编码设置至关重要。本文将深入探讨这些关键知识点。 首先,我们来了解一下如何导出MySQL数据库。导出,也称为备份,是将数据库中的所有表结构和数据转换为一个文件...

    mysqldump命令导入导出数据库方法与实例汇总

    与导出类似,使用`mysql`命令导入特定表: ``` mysql -uusername -ppassword db1 或 mysql&gt; use db1; mysql&gt; source tb1tb2.sql; ``` 7. **设置字符集**: 若要改变导出文件的字符集,例如设置为`gb2312`...

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

    本篇将深入讲解如何在Linux系统下创建、导入和导出MySQL数据库,并介绍一些常用的基本指令。 首先,我们需要找到MySQL的数据存储路径。在MySQL的客户端,可以使用`SHOW VARIABLES LIKE '%dir%';`命令来查询。其中`...

    Linux-mysql指令大全

    - **导入数据**:`mysql 输入文件名.sql`将数据从SQL文件导入到数据库。 以上指令只是MySQL在Linux环境下常用的一部分,实际上MySQL提供了丰富的命令和功能,包括备份恢复、性能优化、权限管理等,需要根据具体...

    mysql指令集\应用大全

    本文档涵盖了MySQL的基本操作指令、高级应用技巧以及数据类型介绍。通过对这些知识点的学习和实践,可以帮助开发者更好地管理和操作MySQL数据库。从简单的数据插入、查询到复杂的索引管理,这些指令和技巧都是数据库...

    Mysql数据库导入命令Source详解.pdf

    首先,`source`命令常用于导入数据库或者数据表,其基本语法是在MySQL客户端中输入`source &lt;file_path&gt;`,这里的`&lt;file_path&gt;`是包含SQL语句的脚本文件路径。例如,如果你想导入名为`d:/wcnc_db.sql`的数据库文件,...

    mysql入门级常用指令

    这些命令构成了MySQL基础操作的核心,通过它们,你可以完成数据库的连接、数据的查询、表的创建与删除、数据的导入导出以及权限的管理等一系列任务。在实际应用中,还需要结合具体业务需求灵活运用,并学习更高级的...

    MYSQL命令大全.txt

    以上是MySQL命令大全的主要内容概述,包括连接MySQL服务器、管理用户及权限、数据库的基本操作、数据备份与恢复以及表的操作等核心知识点。通过这些命令,可以有效地管理和操作MySQL数据库系统。

    MYSQL常用指令

    ### MySQL常用指令详解 ...通过以上介绍,我们了解了MySQL中常用的连接、管理用户权限、数据库和表的基本操作以及数据的导入导出等关键指令。这些指令对于日常开发维护非常重要,熟练掌握将极大提高工作效率。

    数据的翅膀:ThinkPHP中的数据导出与导入全攻略

    - 易于扩展,支持命令行指令扩展。 - 拥有 ORM 功能,支持多种数据库。 - 支持 RESTful 风格的 URL,方便 API 开发。 - 提供了灵活的配置功能,采用 PHP 返回数组方式定义配置,支持多种配置层次。 ThinkPHP 框架...

    mysql基本命令大全

    #### 一、导出与导入数据库 **1. 导出整个数据库** 使用`mysqldump`工具可以方便地将整个数据库导出为一个SQL脚本文件。 - **命令格式**: ```shell mysqldump -u 用户名 -p --default-character-set=字符集 ...

    mysql-connector-java-5.1.27-bin.jar.zip

    3. 使用Hive SQL语句进行数据的导入导出,例如`INSERT OVERWRITE TABLE`或`SELECT INTO TABLE`。 需要注意的是,由于`mysql-connector-java-5.1.27-bin.jar`较老,可能不支持MySQL的一些新特性,如果正在使用的...

    mysql客户端,sqlyog

    MySQL客户端是数据库管理的核心工具,它允许用户与MySQL服务器交互,执行SQL查询,管理数据库对象,以及进行数据的导入导出等操作。其中,SQLyog是一款非常流行的图形化MySQL客户端,以其直观易用的界面和强大的功能...

Global site tag (gtag.js) - Google Analytics