`

关于MYSQLIMPORT的详细解释

阅读更多

最近在坛子里看到有人用mysqlimport的问题很多,自己写了 点,希望各位指正。

我的环境是:windowsXP sp2,奔D双核2.8G,1G DDR2 533MHZ内存,MYSQL5.1
mysqlimport位于mysql/bin目录中,是mysql的一个载入 (或者说导入)数据的一个非常有效的工具。这是一个命令行工具。

其实说白了就是LOAD DATA INFILE SQL语句的命令行接口。
1、请确定MYSQL 已经启动:
C:\>net start mysql5

MySQL5 服务已经启动成功。
2、进入MYSQL
C:\>mysql_init.bat
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 27
Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test
Database changed
mysql> select * from temp2;
+--------+--------+--------+--------+--------+--------+--------+
| 1      | 2      | 3      | 4      | 5      | 6      | 7      |
+--------+--------+--------+--------+--------+--------+--------+
| "1"    | "1"    | "1"    | "2"    | "2"    | "2"    | "3"    |
| "10"   | "15"   | "20"   | "80"   | "100"  | "60"   | "500"  |
| "aaaa" | "bbbb" | "cccc" | "aaaa" | "bbbb" | "dddd" | "dddd" |
| "1"    | "2"    | "3"    | "4"    | "5"    | "6"    | "7"    |
+--------+--------+--------+--------+--------+--------+--------+
4 rows in set (0.00 sec)

mysql> select * from temp2 into outfile 'c:\\temp2.sql' fields terminated by ','
 lines terminated by '\n';

Query OK, 4 rows affected (0.00 sec)
mysql> exit
Bye


C:\>mysqlimport -uroot -p******** --fields-terminated-by=, --lines-terminated-b
y=\n test c:\\temp2.sql

test.temp2: Records: 4  Deleted: 0  Skipped: 0  Warnings: 0

C:\>mysql_init.bat
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.1.17-beta-community-nt-debug MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use test
Database changed
mysql> select * from temp2;
+--------+--------+--------+--------+--------+--------+--------+
| 1      | 2      | 3      | 4      | 5      | 6      | 7      |
+--------+--------+--------+--------+--------+--------+--------+
| "1"    | "1"    | "1"    | "2"    | "2"    | "2"    | "3"    |
| "10"   | "15"   | "20"   | "80"   | "100"  | "60"   | "500"  |
| "aaaa" | "bbbb" | "cccc" | "aaaa" | "bbbb" | "dddd" | "dddd" |
| "1"    | "2"    | "3"    | "4"    | "5"    | "6"    | "7"    |
| "1"    | "1"    | "1"    | "2"    | "2"    | "2"    | "3"    |
| "10"   | "15"   | "20"   | "80"   | "100"  | "60"   | "500"  |
| "aaaa" | "bbbb" | "cccc" | "aaaa" | "bbbb" | "dddd" | "dddd" |
| "1"    | "2"    | "3"    | "4"    | "5"    | "6"    | "7"    |
+--------+--------+--------+--------+--------+--------+--------+
8 rows in set (0.00 sec)

mysql>exit
Bye
3、 文本文件的格式。
用户MYSQLIMPORT的文件必须具备有一定的格式才可以,而且最重要的是文件的名字必须同表的名字一摸一样。
还有 就是提前要在服务器上有这个文件存在(LINUX:cat /dev/null > temp2.sql,至于WINDOWS上的就不用说了,这个人人都知道).

这里用SELECT INTO OUTFILE语句建立这个文件:
mysql> select * from temp2;
+--------+--------+--------+--------+--------+--------+--------+
| 1      | 2      | 3      | 4      | 5      | 6      | 7      |
+--------+--------+--------+--------+--------+--------+--------+
| "1"    | "1"    | "1"    | "2"    | "2"    | "2"    | "3"    |
| "10"   | "15"   | "20"   | "80"   | "100"  | "60"   | "500"  |
| "aaaa" | "bbbb" | "cccc" | "aaaa" | "bbbb" | "dddd" | "dddd" |
| "1"    | "2"    | "3"    | "4"    | "5"    | "6"    | "7"    |
| "1"    | "1"    | "1"    | "2"    | "2"    | "2"    | "3"    |
| "10"   | "15"   | "20"   | "80"   | "100"  | "60"   | "500"  |
| "aaaa" | "bbbb" | "cccc" | "aaaa" | "bbbb" | "dddd" | "dddd" |
| "1"    | "2"    | "3"    | "4"    | "5"    | "6"    | "7"    |
+--------+--------+--------+--------+--------+--------+--------+
8 rows in set (0.00 sec)

mysql> select distinctrow * from temp2 into outfile 'c:\\temp2.sql' fields termi
nated by ',' lines terminated by '\n'
    -> ;
Query OK, 4 rows affected (0.00 sec)
或者要去掉重复的行。
mysql> select * from temp2 into outfile 'c:\\temp2.sql' fields terminated by ','
 lines terminated by '\n'
    -> ;
Query OK, 8 rows affected (0.00 sec)

4、mysqlimport的常用选 项介绍:
最最基本的是:
mysqlimport -v 显示版本。
比如我的:
C:\>mysqlimport -V -uroot -p********
mysqlimport  Ver 3.6 Distrib 5.1.17-beta, for Win32 (ia32)

选项             功能

 --character-sets-dir=path 字符集的安装目录

--default-character-set=charset_name

导入数据前默认的字符集,这个通常可以避免好多乱码问题。

-d or --delete 新数据导入数据表中之前清空表数据。

-f or --force 不管是否遇到错 误,mysqlimport将强制继续插入数据

-i or --ignore mysqlimport跳过或者忽略那些有相同唯一

关键字的行, 导入文件中的数据将被忽略。

-l or -lock-tables 数据被插入之前锁住表,这样就防止了, 你在更新数据库时,用户的查询和更新受到影响。

-r or -replace 这个选项与-i选项的作用相反;此选项将替代 表中有相同唯一关键字的记录。

--fields-enclosed- by= char 指定文本文件中数据的记录时以什么括起的, 很多情况下 数据以双引号括起。 默认的情况下数据是没有被字符括起的。

--fields-terminated- by=char 指定各个数 据的值之间的分隔符,在句号分隔的文件中, 分隔符是句号。您可以用此选项指定数据之间的分隔符。 默认的分隔符是跳格符(Tab)

--lines-terminated- by=str 此选项指定文本文件中行与行之间数据的分隔字符串 或者字符。 默认的情况下mysqlimport以newline为行分隔符。 您可以选择用一个字符串来替代一个单个的字符: 一个新行或者一个回车。

所以前面的语句可以这样写:

C:\>mysqlimport -uroot -p******** --fields-terminated-by=, --lines-terminated-b
y=\n test c:\\temp2.sql -dlr
test.temp2: Records: 4  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from temp2;
+--------+--------+--------+--------+--------+--------+--------+
| 1      | 2      | 3      | 4      | 5      | 6      | 7      |
+--------+--------+--------+--------+--------+--------+--------+
| "1"    | "1"    | "1"    | "2"    | "2"    | "2"    | "3"    |
| "10"   | "15"   | "20"   | "80"   | "100"  | "60"   | "500"  |
| "aaaa" | "bbbb" | "cccc" | "aaaa" | "bbbb" | "dddd" | "dddd" |
| "1"    | "2"    | "3"    | "4"    | "5"    | "6"    | "7"    |
+--------+--------+--------+--------+--------+--------+--------+
4 rows in set (0.00 sec)

分享到:
评论

相关推荐

    MySQL数据导入导出方法与工具mysqlimport.pdf

    本篇文件详细介绍了MySQL数据导入导出的方法与工具,其中主要内容涉及了mysqlimport工具的使用及其参数解释。 知识点1:mysqlimport工具的概述 mysqlimport是MySQL提供的一个命令行实用程序,主要用于从文本文件中...

    MySQL数据导入导出方法与工具mysqlimport.docx

    本篇文章将详细解释如何使用`mysqlimport`以及其相关的参数设置。 `mysqlimport`工具位于MySQL安装目录的`bin`子目录下,它允许用户将逗号分隔值(CSV)、制表符分隔值(TSV)或其他格式的文本文件快速批量导入到...

    mysql5.1官方中文手册.rar

    1. **安装与配置**:手册将详细解释如何在各种操作系统环境下安装MySQL 5.1,包括Windows、Linux和Unix等。此外,还会指导用户如何进行服务器配置,如设置数据存储路径、配置网络连接以及优化启动参数等。 2. **SQL...

    MySql 用户手册 5.1-html

    手册会指导用户如何在各种平台上安装MySQL服务器,包括Windows、Linux、Mac OS X等,并详细解释配置文件my.cnf的各个参数,如`datadir`、`innodb_buffer_pool_size`等。 3. **SQL语法**: 包含SELECT、INSERT、...

    2021-2022计算机二级等级考试试题及答案No.12094.docx

    根据提供的文档信息,我们可以总结出一系列与计算机二级等级考试相关的知识点。...以上是根据给定题目整理出的关键知识点及详细解释。这些知识点不仅适用于计算机二级等级考试,对于日常学习和工作也非常有用。

    book-MySQL手册

    以下是对手册中可能包含的重要知识点的详细解释: 1. **安装与配置**:了解如何在不同操作系统上安装MySQL,包括设置服务器、配置文件my.cnf的修改,以及启动和停止MySQL服务。 2. **SQL基础**:学习SQL语言的基本...

    mysql数据库安装目录下的工具包.rar

    这个“bin”文件夹是MySQL操作的核心部分,下面将详细解释其中包含的重要工具和它们的功能。 1. **mysqld**: 这是MySQL服务器的主进程,负责启动、运行和管理MySQL服务。mysqld负责解析SQL语句,处理数据请求,并与...

    数据库备份与恢复.docx

    以下将详细解释在MySQL环境中进行数据库备份与恢复的关键步骤和相关命令。 1. 使用`mysqldump`命令备份数据库: `mysqldump`是MySQL的实用程序,用于备份数据库结构和数据。例如,要备份名为`studentsdb`的所有表,...

    msyql实用命令

    本文将根据给定的信息,详细解释MySQL中几个非常实用的命令,包括用户权限管理、数据库备份与恢复、数据导出等功能。 #### 授权远程登录:GRANT **语法示例**: ```sql GRANT ALL ON *.* TO 'root'@'10.130.36.22'...

    个人总结的mysql常用命令大全.docx

    下面将详细解释文件中提到的一些常用MySQL命令。 1. **启动和停止MySQL服务**: 使用`net stop mysql`来停止MySQL服务,而`net start mysql`则用于启动服务。这是在Windows操作系统中对MySQL服务进行控制的基本...

    MySQL_5.5中文手册

    10. **MySQL命令行工具**:手册还涵盖了诸如mysqladmin、mysqlshow、mysqlimport等命令行工具的使用方法。 总之,MySQL 5.5中文手册是一本全面的指南,无论是初学者还是经验丰富的数据库专业人员,都能从中受益。...

    mysql命令行

    以下是对MySQL命令行常用命令的详细解释: 1. **启动和停止MySQL服务**: 使用`net stop mysql`命令来停止MySQL服务,`net start mysql`则用来启动服务。这些命令通常在Windows操作系统中运行,通过命令提示符执行...

    mysql 5.1 官方简体中文版参考手册

    手册详细解释了SQL(结构化查询语言)的基础知识,包括数据类型、数据操作(如INSERT、UPDATE、DELETE)、查询(SELECT语句)以及数据控制(GRANT、REVOKE权限管理)。对于初学者,理解这些基本概念是使用MySQL的第...

    MySQL数据库管理与应用-MySQL工具.ppt

    例如,mysql程序将第一个非选项参数解释为数据库名,因此命令mysql test表示想要使用test数据库。 三、指定程序选项 可以用几种方式提供MySQL程序的选项:在命令行中在程序名后面提供,在程序启动时读取的选项文件...

    linux mysql

    `linux SVNServer setup.pdf`则可能详细解释了在Linux系统上搭建SVN服务器的步骤,包括安装必要的软件,配置SVN仓库,以及设置用户权限等。 总结来说,这个主题“linux mysql”涵盖了在Linux操作系统上安装、配置和...

    mysql的参考手册

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。这份基于5.1版本的参考手册是理解MySQL核心概念、语法和功能...每个章节都会详细解释相关概念,配以实例,有助于理解和实践。

    MYSQL参考手册(对mysql的使用有指导作用)

    手册会详细解释这些步骤。 2. **数据库管理**:MySQL中创建、删除和管理数据库的命令包括`CREATE DATABASE`, `DROP DATABASE`, 和`ALTER DATABASE`。理解如何在MySQL中管理数据库是使用它的基础。 3. **表的创建与...

    mysql操作基础

    下面将详细解释这些知识点。 首先,我们来了解一下MySQL的基本概念。MySQL是一种开源、免费的SQL数据库,它支持多种操作系统,并且具有高效、稳定和可扩展性等特点。SQL(结构化查询语言)是用于管理和处理关系...

Global site tag (gtag.js) - Google Analytics