• 【Infobright】infobright数据导入导出测试


    创建数据库

    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
    6. 666,Jams ,pass6  , 15:03:14,N,1,2016-12-14 14:45:12
     

    导入数据

    1. load data infile '/tmp/t_userFile' into table `mytestdb`.`t_user` fields terminated by ',' optionally enclosed by '"' lines terminated by ' ';
    导入SQL说明:
    • fields terminated by ',': 表示字段以“,”分割;
    • optionally enclosed by '"' :表示字段被"""双引号包围;
    • lines terminated by ' ':表示行以" "作为结束符(这是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用引号引起来,且前后都有空格,则字段值为: "pass" (空格算varchar的一部分);
    • 555和666记录:最后都有" ",这是linux系统默认的换行符,在导入时,有时有问题,有时没问题,没搞清楚;

    数据导出后再导入测试

    导出文件:
    1. select * from t_user into outfile '/tmp/t_user_split'  fields terminated by '|' OPTIONALLY ENCLOSED BY '$' lines terminated by ' ';
    说明:
    • 使用“|” 作为分隔符;
    • 使用“$”表示括起字段;
    导出后结果:

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


     
     




  • 相关阅读:
    [转]char、varchar、nchar、nvarchar的区别
    【转】Asp.net 2.0中页的生存周期(Lifecycle)和动态控件 [.Net]
    git免登录sshkey
    ios8,xcode6 周边
    iOS 推送证书
    Lazarus中TreeView导出XML以及XML导入TreeView
    flac文件提取专辑封面手记
    Lazarus解决含中文文件名或路径的使用问题
    使用PowerShell管理Windows8应用
    thbgm拆包【in progress】
  • 原文地址:https://www.cnblogs.com/ssslinppp/p/6183304.html
Copyright © 2020-2023  润新知