博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Infobright】infobright数据导入导出测试
阅读量:5878 次
发布时间:2019-06-19

本文共 2084 字,大约阅读时间需要 6 分钟。

创建数据库

 
  1. create database if not exists `mytestdb` default charset=utf8;
  2. use mytestdb;
说明:
如果使用utf8字符集,则数据库和数据表创建时,都应该指定默认的字符集;

创建数据表

 
  1. create table if not exists `t_user`(
  2.    `userid` int(11) not null ,
  3.    `userName` varchar(32) not null DEFAULT '',
  4.    `password` varchar(32) DEFAULT null,
  5.    `createTime` time DEFAULT null,
  6.    `currTime` timestamp not null DEFAULT CURRENT_TIMESTAMP,
  7.    `status` tinyint(4) default null,
  8.    `lastLoginTime` datetime DEFAULT null
  9. )ENGINE=BRIGHTHOUSE DEFAULT CHARSET=utf8;
time/datetime/timestamp的区别:
  • time: 表示的仅仅是时间,格式形如:13:45:12;
  • datetime: 表示时间和日期,格式形如:2016-12-14 14:45:12;
  • timestamp: 和datatime对比,表示的时间范围窄,占用的字节少;
 

 待导入的数据文件

文件为: /tmp/t_userFile,如下是内容:
 
  1. 111,Tom  ,pass1  , 13:45:12, \N,1,2016-12-14 14:45:12
  2. 222,Lily ,pass2  ,  14:45:12 ,\N,1,2016-12-14 14:45:12
  3. 333,Keoj ,"pass3,333", 15:03:14,\N, 1 ,2016-12-14 14:45:12
  4. 444,Ladiu, "pass4" , 15:03:14,\N,1,2016-12-14 14:45:12
  5. 555,Jenny,pass5  , 15:03:14,\N,0,2016-12-14 14:45:12\n
  6. 666,Jams ,pass6  , 15:03:14,\N,1,2016-12-14 14:45:12\n
 

导入数据

 
  1. load data infile '/tmp/t_userFile' into table `mytestdb`.`t_user` fields terminated by ',' optionally enclosed by '"' lines terminated by '\n';
导入SQL说明:
  • fields terminated by ',': 表示字段以“,”分割;
  • optionally enclosed by '"' :表示字段被"\""双引号包围;
  • lines terminated by '\n':表示行以"\n"作为结束符(这是linux系统下的行结束符);
 
对待导入文件的说明:
  • \N:表示null,这里timestamp被置为null,则使用当前时间进行填充;
  • 111记录:\N前面有空格,则转换后的时间为:0000-00-00 00:00:00 ==> \N前面不能有空格
  •        ==>若字段为varchar或char类型,则空格也表示为varchar或char的一部分;
  • 222记录:time 前后都有空格,无影响;
  • 333记录:tinyint 前后都有空格,无影响;
  • 333记录:password用引号引起来,由optionally enclosed by '"'可知,引号里面为字段内容,此时“,”不作为字段的分割符,即字段值为 pass3,333;
  • 444记录:password用引号引起来,且前后都有空格,则字段值为:\t"pass"\t(空格算varchar的一部分);
  • 555和666记录:最后都有"\n",这是linux系统默认的换行符,在导入时,有时有问题,有时没问题,没搞清楚;

数据导出后再导入测试

导出文件:
 
  1. select * from t_user into outfile '/tmp/t_user_split'  fields terminated by '|' OPTIONALLY ENCLOSED BY '$' lines terminated by '\n';
说明:
  • 使用“|” 作为分隔符;
  • 使用“$”表示括起字段;
导出后结果:
再进行导入测试:
 
  1. load data infile '/tmp/t_user_split' into table `mytestdb`.`t_user` fields terminated by '|' optionally enclosed by '$' lines terminated by '\n';
说明:(保持与导出的数据对应)
  • 使用“|” 作为分隔符;
  • 使用“$”表示括起字段;
 
 
 

转载地址:http://bidix.baihongyu.com/

你可能感兴趣的文章
使用Sqoop从mysql向hdfs或者hive导入数据时出现的一些错误
查看>>
mybatis:Invalid bound statement (not found)
查看>>
电脑中毒的现象
查看>>
django表单操作之django.forms
查看>>
webSocket vnc rfb
查看>>
列表推导式 生成器表达式
查看>>
控制子窗口的高度
查看>>
Linux 防火墙iptables命令详解
查看>>
打造笔记本电脑基地重庆要当全球“老大”
查看>>
处理 Oracle SQL in 超过1000 的解决方案
查看>>
《JAVA与模式》之简单工厂模式
查看>>
Alpha线性混合实现半透明效果
查看>>
chkconfig 系统服务管理
查看>>
一个简单的运算表达式解释器例子
查看>>
ORACLE---Unit04: SQL(高级查询)
查看>>
Entity Framework Code First 模式-建立多对多联系
查看>>
[LeetCode] Reverse Lists
查看>>
前台页面之<base>标签
查看>>
angular分页插件tm.pagination 解决触发二次请求的问题
查看>>
day08-文件操作
查看>>