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的值将很高,这个值代表了一个行被索引值读的次数, 很低的值表明增加索引得到的性能改善不高,索 ...
 
随机推荐
- IDEA导入Maven多项目(Mac下)
			
主界面Import Project 选择maven项目目录文件夹 选择Import project from external model 中的maven选项,Next下一步 Sources和Docu ...
 - 第四周助教工作总结——NWNU李泓毅
			
1. 助教博客链接: https://www.cnblogs.com/NWNU-LHY/ 2. 作业要求链接: www.cnblogs.com/nwnu-daizh/p/10487329. ...
 - dremio jdbc使用
			
驱动包地址 链接:https://pan.baidu.com/s/1Nivkvze24hRH8pXOQleCgw 提取码:gp9z 使用dremio主要原因 : 1)springboot提供了es组件 ...
 - cosfuture logs
			
1,RESTClient用于调试接口的插件 2, PHP_AUTH_USER如何发送 $a = base64_encode("username:password"); 注意中间是冒 ...
 - 流量控制与RateLimiter
			
一背景 如何提高系统的稳定性,简单来说除了加机器外就是服务降级.限流.加机器就是常说的分布式,从整个架构的稳定性角度看,一般SOA每个接口的所能提供的单位时间服务能力是有上限.假如超过服务能力,一般会 ...
 - ‘params’一个奇妙的东西
			
params关键字表示函数的参数是可变个数的,即可变的方法参数,例如Console.WriteLine( "{0},{1} ",i,j); 就像DELPHI 里 WRITELN 函 ...
 - Charles配置抓取HTTPS请求的Android配置
			
关于android手机在mac版charles上抓不到包这个问题困扰了很久,查阅了很多资料,发现是android7.0系统安全策略问题. Charles抓包正常流程1.在手机上配置证书 点击后:直接在 ...
 - python猜数字GUI版本V0.2
			
使用类方式编写猜数字游戏GUI版本. 思路:初始化数字以及初始化wegdits,编写button click event判断代码的函数,每猜一次点击button调用一次该函数,并计算猜的次数.如果猜对 ...
 - IOS 模拟器多开集成测试和那些坑
			
#### 前言公司一直没有IOS自动化,搞得很尴尬,个人感觉搞自动测试的,不搞IOS自动化,就像金X,少了重要一点啊.也向领导申请过不止一次,总只都各种原因没有分配机器,不了了之.某天线上IOS出bu ...
 - redis设置远程通过密码进行连接
			
个人配置:服务器+本地鸡+win 文件概况.↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 首先修改第一个redis.windows.conf 56行左右,将bind 127.0.0.1注释掉(行前面加上# ...