zoukankan      html  css  js  c++  java
  • 2018-7-13 mysql 导入大文件并进行替换字符串

    2018-7-13 mysql 导入大文件并进行替换字符串

    文件导入替换导出

    ############ 新建一张表 ########
    use test;
    drop table user_data;
    CREATE TABLE IF NOT EXISTS `user_data` (
      `user_id` varchar(1000) NOT NULL,
      `c1` text NULL)
    ENGINE = InnoDB;
    # 建立索引
    create index user_id_zh on user_data (user_id);
    
    ########### 导入csv文件#################
    ###########  导入导出的目录一定要注意,是有权限要求的。################
    load data infile "C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\user_data.csv"  #CSV文件存放路径
    into table user_data#--要将数据导入的表名
    fields terminated by ',' # 这是指出csv文件中字段终止符,也就是数据之间的分隔符;
    optionally enclosed by '"' # 封套符
    escaped by '"'  # 指出封套符;
    lines terminated by '
    ' #:指行终止符
    ignore 1 lines;#忽略表头
    
    
    ############  替换不需要的字符 ######################
    select * from user_data;
    update user_data set c1 = replace(c1,"[","") ;
    update user_data set c1 = replace(c1,"]","") ;
    update user_data set c1 = replace(c1,""","") ;
    update user_data set c1 = replace(c1,""","") ;
    update user_data set c1 = replace(c1,"\,","&") ;
    
    ############  导出文件  ####################
    select * from user_data   
    into outfile "C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\user_data_out.csv" 
    fields terminated by ','#字段间以,号分隔
    #optionally enclosed by '"'#字段用"号括起
    #escaped by '"'#字段中使用的转义符为"
    lines terminated by '
    ';#行以
    结束
    

    问题1 导入的表的某个字段超长

    在db2 和 oracle 中可以使用 blog 类型进行存储。mysql中也有类似的数据类型,但是因为是要对字符串进行处理,所以选择了 text 类型。

    问题2 导出的某个字段变成科学记数法

    optionally enclosed by '	'#	  为制表符,防止变成科学记数法
    

    问题3 sql错误 1175

    MySQL Workbench “Error Code: 1175” 的解决方法:
    当用MySQL Workbench进行数据库的批量更新时,执行一个语句会碰到以下错误提示:

    Error Code: 1175
    You are using safe...without a WHERE that uses a KEY column
    

    因为是MySQL Workbench的默认的安全设置是不能批量更新表的。当要执行的SQL语句是进行批量更新或者删除的时候就会提示这个错误。

    解决方法如下:

    1. 打开Workbench的菜单[Edit]->[Preferences...]
    2. 切换到[SQL Editor]页面
    3. 把[Forbid UPDATE and DELETE statements without a WHERE clause (safe updates)]之前的对勾去掉
    4. 点击[OK]按钮
    5. 最后记得要重启一下sql editor,建立一个新的连接就可以了。
  • 相关阅读:
    Android ADB批处理脚本
    【转载】SecureCRT配色推荐和永久设置
    【转载】Ubuntu中Source Insight的使用
    Ubuntu美化操作
    【转】数据线上的串联小电阻(图)
    VMware下利用ubuntu13.04建立嵌入式开发环境之三
    VMware下利用ubuntu13.04建立嵌入式开发环境之二
    VMware下利用ubuntu13.04建立嵌入式开发环境之一
    ubuntu 13.04 telnet 详细配置
    candence 知识积累4
  • 原文地址:https://www.cnblogs.com/shgwater/p/9304658.html
Copyright © 2011-2022 走看看