zoukankan      html  css  js  c++  java
  • mysql 导入数据

    mysqlimport
    示例
    mysqlimport -uroot -p123456 test /tmp/mytbl.txt;
    约定:文件名的最后一部分为表名,以上语句导入到表mytbl
    mysqlimport必须指定数据库,以上语句数据库为test

     导入csv

    mysqlimport -uroot -p --local --lines-terminated-by="\r\n" --fields-terminated-by="," --fields-enclosed-by="\"" test /tmp/mytbl.csv
    load data
    示例
    mysql> load data  infile '/tmp/mytbl.txt' into table mytbl
    load data可以不指定数据库
    以上语句中,mysql必须有/tmp/的读权限
    导入csv
    mysql> load data  infile '/tmp/mytbl.csv' into table mytbl fields terminated by ',' enclosed by '"' lines terminated by '\r\n'
    处理重复主键
    替换已有值
    mysql> load data infile '/tmp/mytbl.txt' replace into table mytbl fields terminated by '\t' lines terminated by '\n'
    表中已有则不导入
    mysql> load data infile '/tmp/mytbl.csv' ignore into table mytbl fields terminated by ',' enclosed by '"' lines terminated by '\r\n'
    跳过文件行
    以下示例为跳过第一行
    mysql> load data infile '/tmp/mytbl.txt' into table mytbl ignore 1 lines;
    预处理
    文件data.txt内容:
    Date Time Name Weight State
    2006-09-01 12:00:00 Bill Wills 200 Nevada
    2006-09-02 09:00:00 Jeff Deft 150 Oklahoma
    2006-09-04 03:00:00 Bob Hobbs 225 Utah
    2006-09-07 08:00:00 Hank Banks 175 Texas
    文件必须被加载入如下的表
    create table tbl
    (
    dt datetime,
    last_name char(10),
    first_name char(10),
    weight_kg float,
    st_abbrev char(2)
    )
    create table states
    (
    name varchar(20),
    shortname char(2)
    )
    states 表中内容:
    name shortname
    Nevada NV
    Oklahoma OK
    Utah UT
    Texas TX
    insert into states
    values('Nevada','NV')
    ,('Oklahoma','OK')
    ,('Utah', 'UT')
    ,('Texas', 'TX')
    导入:
    load data infile '/tmp/data.txt' into table tbl
    ignore 1 lines
    (@date,@time,@name,@weight_lb,@state)
    set dt=concat(@date,' ',@time),
         first_name=substring_index(@name,' ',1),
         last_name=substring_index(@name,' ',-1),
         weight_kg=@weight_lb * .454,
         st_abbrev = (select shortname from states where name=@state);
     
    结果:
    mysql> select * from tbl;                                                                                                                                               +---------------------+-----------+------------+-----------+-----------+
    | dt                  | last_name | first_name | weight_kg | st_abbrev |
    +---------------------+-----------+------------+-----------+-----------+
    | 2006-09-01 12:00:00 | Wills     | Bill       |      90.8 | NV        |
    | 2006-09-02 09:00:00 | Deft      | Jeff       |      68.1 | OK        |
    | 2006-09-04 03:00:00 | Hobbs     | Bob        |    102.15 | UT        |
    | 2006-09-07 08:00:00 | Banks     | Hank       |     79.45 | TX        |
    +---------------------+-----------+------------+-----------+-----------+
    将windows本地文件导入到linux下的mysql数据库,加local

    load data local infile 'C:/mytbl.txt' into table mytbl fields terminated by '\t' lines terminated by '\r\n' 

  • 相关阅读:
    Python数据可视化——散点图
    [ffmpeg 扩展第三方库编译系列] 关于 mingw32 下编译libcaca
    独立python环境之virtualenv和virtualenvwrapper
    深入理解maven及应用(一):生命周期和插件
    Android页面事件挂接模拟
    第六课 Struts的视图组件
    wxWidgets笔记_1_linux环境下wxwidgets的安装与配置
    使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
    ubuntu 下安装eclipse &java环境配置
    [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island
  • 原文地址:https://www.cnblogs.com/stublue/p/2570786.html
Copyright © 2011-2022 走看看