mysql 开发进阶篇系列 50 表的数据导入(load data infile,mysqlimport )
一.概述
上篇讲到的表的数据导出(select .. into outfile 或者mysqldump),这篇继续讲表的数据导入,导入也同样有二个方法,分别是load data infile... 和mysqlimport。本质是一样的,区别在于前者是mysql内部执行, 后者是mysql 外部执行。
1. load data infile 方法1
-- 格式语法如下:
load data [local] infile 'filename' info table tablename[option]
|
Option选项 |
说明 |
|
Fields terminated by 'string' |
字段分隔符, 默认为制表符 ' \t' |
|
Fields [optionally] enclosed by 'char' |
字段引用符, 如果加了optionally,则只用在char, varcahr, text 等字符型字段上。 |
|
Fields escaped by 'char' |
转义字符, 默认为 '\n' |
|
Lines starting by 'string' |
每行前都加此字符串, 默认'' |
|
Lines terminated by 'string' |
行结束符,默认为'\n' |
|
Ignore number lines |
忽略输入文件中的前n 行数据 |
|
(col_name_or_user_var, ..) |
按照列出的字段顺序和字段数量加载数据 |
|
Set col_name=expr, ... |
将列做一定的数值转换后再加载 |
下面将/tmp/ testbackup1.txt 中的数据加载到表testbackup中,案例如下:
-- 先备份
CREATE TABLE testbackup2 SELECT * FROM testbackup;
-- 删除
DELETE FROM testbackup
-- 全部导入(12行受影响)
LOAD DATA INFILE '/tmp/testbackup1.txt' INTO TABLE testbackup FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-- 导入过滤前二行(10行受影响)
DELETE FROM testbackup
LOAD DATA INFILE '/tmp/testbackup1.txt' INTO TABLE testbackup FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 2 LINES
-- 在上面的基本上,指定加载部分列和列顺序
DELETE FROM testbackup
LOAD DATA INFILE '/tmp/testbackup1.txt' INTO TABLE testbackup FIELDS TERMINATED BY ',' ENCLOSED BY '"' IGNORE 2 LINES(id,`name`)
-- 将id列的内容+10后再加载到表中(此时id从11开始)
DELETE FROM testbackup
LOAD DATA INFILE '/tmp/testbackup1.txt' INTO TABLE testbackup FIELDS TERMINATED BY ',' ENCLOSED BY '"' SET id=id+10

2. mysqlimport 方法2
--格式语法如下:
mysqlimport -uroot -p [-- local] dbname order_tab.txt [option]
|
Option选项 |
说明 |
|
--fields-terminated-by =name |
字段分隔符 |
|
--fields-enclosed-by=name |
字段引用符 |
|
--fields-optionally-enclosed-by=name |
字段引用符, 加了optionally,则只用在char, varcahr, text 等字符型字段上。 |
|
--fields-escaped-by=name |
转义字符 |
|
--lines-terminated-by =name |
记录结束符 |
|
--Ignore-lines=number |
忽略输入文件中的前n 行数据 |
-- 注意文件名(testbackup.txt)要与test库中的testbackup表名一致,导入脚本如下:
[root@hsr ~]# mysqlimport -uroot -p test /tmp/testbackup.txt --fields-terminated-by=',' --fields-enclosed-by='"'
Enter password:
test.testbackup: Records: 12 Deleted: 0 Skipped: 0 Warnings: 0
注意: 如果导入导出是跨平台操作的(windows和linux),那么参数--lines-terminated-by的值在windows上为--lines-terminated-by='\r\n' 。在linux上为--lines-terminated-by='\n'。 上面的案例中--lines-terminated-by的值默认是'\n' 。 对于load data infile是导入数据最快的方法,在管理维护中使用很也频繁,应此要重点掌握。
mysql 开发进阶篇系列 50 表的数据导入(load data infile,mysqlimport )的更多相关文章
- mysql 开发进阶篇系列 49 表的数据导出(into outfile,mysqldump)
一.概述 在数据库的日常维护中,表的导入和导出是很频繁的操作,本篇讲解如何使用导入功能,并以案例为演示.某些情况下,需要将表里的数据导出为某些符号分割的纯数据文本,而不是sql语句,比如:(1)用来作 ...
- mysql 开发进阶篇系列 55 权限与安全(安全事项 )
一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysql的安全问题进行了解. 1. 严格控制操作系统账号和权限 在数据库服务器上要严格控制操作系统的账号和权限, ...
- mysql 开发进阶篇系列 47 物理备份与恢复(xtrabackup 的完全备份恢复,恢复后重启失败总结)
一. 完全备份恢复说明 xtrabackup二进制文件有一个xtrabackup --copy-back选项,它将备份复制到服务器的datadir目录下.下面是通过 --target-dir 指定完全 ...
- mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)
一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrab ...
- mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)
一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存 ...
- mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)
1. innodb_lock_wait_timeout mysql 可以自动监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动监测,所以该参数主要用于,出现类似情况的时候等待指定的时间 ...
- mysql 开发进阶篇系列 10 锁问题 (相同索引键值或同一行或间隙锁的冲突)
1.使用相同索引键值的冲突 由于mysql 的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但如果是使用相同的索引键,是会出现锁冲突的.设计时要注意 例如:city表city_ ...
- mysql 开发进阶篇系列 51 权限与安全(权限表user,db详细介绍 )
一.概述 mysql 的权限系统主要用来对连接到数据库的用户进行权限验证,以此来判断此用户是否属于合法用户,以及合法用户给予的相应数据库权限.下面将介绍权限系统的工作原理,以及将要熟练掌握账号的管理和 ...
- mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)
1 通过handler_read 查看索引使用情况 如果索引经常被用到 那么handler_read_key的值将很高,这个值代表了一个行被索引值读的次数, 很低的值表明增加索引得到的性能改善不高,索 ...
随机推荐
- SHELL脚本学习-定时检查Oracle alert日志并发送mail
对于DBA来说,检查alert日志是日常工作.告警日志日积月累往往很大,而且每次在服务器上查看或者下载到目标主机查看都十分不方便. 为了方便,以下做出两种情况:(其他情况类推) 第一场景:每天早上上班 ...
- Spring Boot jsp页面无法跳转问题
可能的情况如下: 1.未在pom.xml中添加依赖 <!-- jsp 视图支持--> <dependency> <groupId>org.apache.tom ...
- 受限filterbanks
2.Related works to filterbank learning 虽然DNN-HMM模型的性能比GMM-HMM模型相比,具有很大的优势,但是训练集和测试集之间的失配问题,也使得DNN-HM ...
- oracle中向timeStamp类型字段插入当前时间
to_timestamp(to_char(sysdate,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS')
- 89、instancetype和id的区别
1>instancetype在类型表示上,跟id一样,可以表示任何对象类型 2>instancetype只能用在返回值类型上,不能像id一样用在参数类型上 3>instancetyp ...
- selenium批量执行脚本操作
import unittest import os from HTMLTestRunner import HTMLTestRunner # 待执行用例的目录 def allcase(): #引入执行用 ...
- SSH通过密钥登陆
A服务器上操作 ssh-keygen -t rsa/dsa 后面所带参数rsa/dsa为加密方式,默认为dsa [root@localhost ~]# ssh-keygen Generating pu ...
- Unity自动切割动画
最近在开发项目时,需要处理大量的动画,于是就网上查找资料,然后写了这么编辑器工具: 就是在模型导入时,根据配置文件自动切割动画. 首先我们需要封装两个类:一个模型类和一个动画类 public clas ...
- 初学者必看的文章:在VM12中安装 RedHat RHEL7.2 系统的详细步骤:看我如何操纵RHEL系统
一.开始安装 1)新建虚拟机 RHEL7.2 2)成功引导系统--开机出现此画面 Install Red Hat EnterpriseLinux 7.2 安装RHLE7.2 操作系统 Test th ...
- 3、MHC主要组织相容性复合体
主要组织相容性复合体 (major histocompatibility complex MHC) 位于脊椎动物某对染色体上紧密连锁的基因群,其编码的蛋白是主要组织相容性抗原,是移植排斥反应的主要抗原 ...