› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
Mac
V2EX  ›  MySQL

MYSQL 不支持正则替换?

  •  1
     
  •   Mac · Sep 28, 2014 · 6654 views
    This topic created in 4388 days ago, the information mentioned may be changed or developed.
    字段A中有
    B
    B1
    B2
    这样的数据,我希望能统一列成去掉数字的B,怎么破?
    8 replies  •  2014-09-30 23:38:33 +08:00
    ichou
        1
    ichou  
       Sep 28, 2014
    为什么要用 sql 来实现... 做迁移么?
    Mac
        2
    Mac  
    OP
       Sep 28, 2014
    @ichou 无法控制数据的录入,只能控制输出了。。。
    fising
        3
    fising  
       Sep 28, 2014
    你这个replace就好了
    Mac
        4
    Mac  
    OP
       Sep 28, 2014
    @fising 怎么写?replace 貌似只支持替换单一字符
    sandtears
        5
    sandtears  
       Sep 28, 2014
    写个应用来做呗,山不过来我就过去。
    Mac
        6
    Mac  
    OP
       Sep 28, 2014
    @sandtears 唉,只能用LIKE来替换了,就怕编码乱七八糟的搞死人
    ETiV
        7
    ETiV  
       Sep 28, 2014
    如果你存储引擎用的是 MyISAM, 可以 dump 成类csv格式, 从vim里用正则替换掉, 再导入回去.

    InnoDB也可以, 但为什么是MyISAM呢?

    因为 LOAD DATA INFILE 语句在 MyISAM 下是 InnoDB 的 20 倍.
    gogogen
        8
    gogogen  
       Sep 30, 2014
    https://github.com/mysqludf/lib_mysqludf_preg
    这个是最好的mysql正则解决方案,推荐一试。preg是很强大的
    不过也有一些小坑,比如会往err里面写大量无用日志。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2259 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 09:55 · PVG 17:55 · LAX 02:55 · JFK 05:55
    ♥ Do have faith in what you're doing.