• 替换MySQL中的指定字符


    纠结我很久的文章乱码问题今天终于得到解决了。我发现只有空格( )会乱码。因此今天着手替换。仔细对比后发现是&没有被转义造成的。因此开始搜索替换字符。最终的解决方案是

    UPDATE  `info_article` SET  `arcontent` = REPLACE(  `arcontent`,  ' ',  ' ' ) WHERE  `arcontent` LIKE  '% %'

    老习惯,顺便转载一下我搜到的原文(来自:http://blog.sina.com.cn/s/blog_60f9d0400100dvgj.html


    学习最好的方法莫过于实践,最快的途径莫过于示例,这段时间网站搬家,迫使我不断去看一些SQL操作方法,最终记载于此,以便将来参考。

    1、时间操作


    例:将GMT时间更改为GMT+8,可用INTERVAL把一段时间加到一个字段上。

    UPDATE `wpcn_posts` SET `post_date` = `post_date_gmt` + INTERVAL 8 HOUR WHERE `post_date_gmt` = `post_date`

    本例是为了对付Bo-Blog搬家到WP时大部分时间记录都没有被正确转换到GMT+8时区的问题。


    2、字符查找替换


    例:将某个图片的错误文件名更改为正确文件名。

    UPDATE `wpcn_comments` SET `comment_content` = REPLACE ( `comment_content`, 'emot/ok', 'emot/pig' ) WHERE `comment_content` LIKE '%emot/ok%'

    本例是为了对付Bo-Blog的pig.gif图片文件名被错误替换为ok.gif的问题,用到了REPLACE函数和LIKE操作符,注意LIKE后面的字段用%%匹配,而非*。

    ----------------------------------------------------

    使用replace函数直接替换mysql数据库中某字段中的特定字符


    UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE  `field_name` LIKE '%from_str%'



    说明:

    table_name —— 表的名字

    field_name —— 字段名

    from_str —— 需要替换的字符串

    to_str —— 替换成的字符串


      目的是为了直接用sql操作数据库修改字段中的某些字串!


    ----------------------------------------------------------

    3、用R帮忙


    例:批量更新日志的永久链接。

    cat(sprintf("UPDATE `wpen_posts` SET post_name = '%s' WHERE ID =%d;", x[, 3], x[, 1]), sep = "/n")

    由于我不知道SQL里面如何用数组或向量,因此在批量处理的时候就用笨办法执行了,即:写n条SQL语句一起执行。R一向都是向量化操作,因此只需要把日志的ID和post_name准备好,然后用一个sprintf()就生成所有的SQL语句了,扔到phpMyAdmin中执行一下,所有的日志链接就更新了,省得把每一篇日志打开依次修改。

    以上R语句生成如下结果:

    UPDATE `wpen_posts` SET post_name = 'tidy-up-your-r-code' WHERE ID =1; UPDATE `wpen_posts` SET post_name = 'dare-be-defeated' WHERE ID =2; ....

    插一句,对于英文日志,永久链接就是把空格替换为-,用正则表达式删掉不是[:alnum:]的字符即可。


    4、用mysqldump备份数据库


    这个命令可以以多种形式备份MySQL数据库,这里举例将数据库备份为*.sql的SQL语句脚本:

    mysqldump -u db_user -p -r result_filename.sql database_name

    由于mysqldump命令是独立的程序,所以不要先登录进mysql界面,直接在终端或command窗口运行即可。这样的备份文件可以在将来在mysql中用source命令导入:

    source result_filename.sql

    这样看来备份数据库也是很容易的事情,不过导入导出的时候可能会遇到编码问题。

  • 相关阅读:
    Spark&Hadoop:scala编写spark任务jar包,运行无法识别main函数,怎么办?
    Linux:krb5
    SqlServer数据库端口默认是1433吗?
    Linux下使用shell实现上传linux下某个目录下所有文件到ftp
    Spark+Hadoop+Hive集群上数据操作记录
    hadoop之 Hadoop2.2.0中HDFS的高可用性实现原理
    虚拟路由冗余协议VRRP
    hadoop 之Hadoop生态系统
    Oracle NoLogging Append 方式减少批量insert的redo_size
    Oracle常用的性能诊断语句
  • 原文地址:https://www.cnblogs.com/sztsian/p/2204110.html
Copyright © 2020-2023  润新知