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,建立一个新的连接就可以了。
  • 相关阅读:
    Redis教程_2
    Redis教程_1
    机器学习概念_2
    机器学习概念_1
    [极客大挑战 2019]LoveSQL
    [极客大挑战 2019]EasySQL
    [SUCTF 2019]EasySQL
    [强网杯 2019]随便注
    [HCTF 2018] WarmUp
    php代码函数笔记
  • 原文地址:https://www.cnblogs.com/shgwater/p/9304658.html
Copyright © 2011-2022 走看看