zoukankan      html  css  js  c++  java
  • MySQL中批量前缀表的sql语句

    1、批量删除前缀表sql语句

    先查询生成需要操作的表

    Select CONCAT( 'drop table ', table_name, ';' )

    FROM information_schema.tables
    Where table_name LIKE ''ngis20201201_%'';  /* "'ngis20201201_"为要删除的表前缀*/

    执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作   

    drop table ngis20201202_tx;
    drop table ngis20201202_rx;
    drop table ngis20201202_all;
    drop table ngis20201202_all_link;
    drop table ngis20201202_all_back;
    drop table ngis20201202_all_red;
    drop table ngis20201202_all_red_48_1;
    drop table ngis20201202_all_red_48_5;
    drop table ngis20201202_all_red_24_1;

     拷贝生成的结果进行操作

    2、批量修改前缀表sql语句

    先查询需要操作的表数据

    Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' )

    FROM information_schema.tables

    Where table_name LIKE 'dede_%';

    执行此SQL语句,会生成如下语句:

    ALTER TABLE de_aaa RENAME TO de_aaa;
    ALTER TABLE de_bbb RENAME TO de_bbb;

      在编辑器中将“RENAME TO de”批量改为想设置的表前缀,再执行此SQL语句即可批量修改表名

    3.update批量修改表中字段

    sql替换语句,用该命令可以整批替换某字段的内容,也可以批量在原字段内容上加上或去掉字符。

    命令总解:update 表的名称 set 此表要替换的字段名=REPLACE(此表要替换的字段名, '原来内容', '新内容')

    如 UPDATE Whir_ProductRelese SET ReleseName=REPLACE(ReleseName,'http://www.maidq.com','http://maidq.com')

    举例说明:

    1)把backupfile表里url的字段内容里为http://www.maidq.com的字符全部改为http://maidq.com。

    update backupfile set url=REPLACE(url,'http://www.maidq.com','http://maidq.com')

    2)根据条件增加字段的内容,如把file_number=1的记录的logical_name字段的内容前面加上tmp,后面加上end。

    update backupfile set logical_name=REPLACE(logical_name,logical_name,'tmp'+logical_name+' end 'where file_number=1

    3)根据条件去掉指定记录的前面2个字符。

    update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,3,len(logical_name)-2)) where file_number=1

    4)根据条件去掉指定记录的后面4个字符。

    update backupfile set logical_name=REPLACE(logical_name,logical_name,SUBSTRING(logical_name,1,len(logical_name)-4)) where file_number=2

    如有不清楚的可以先用select语句验证是否达成自己想要的效果再进行替换:

    SELECT REPLACE(替换字段,'原内容','新内容'from 表名;
    update 表名 set 替换字段=(REPLACE(替换字段,'原内容','新内容'))


  • 相关阅读:
    Mysql加锁过程详解(1)-基本知识
    Mysql加锁过程详解(5)-innodb 多版本并发控制原理详解
    java笔试题-1
    通过六个题目彻底掌握String笔试面试题
    JDBC实现往MySQL插入百万级数据
    打印变量地址-0x%08x
    cin中的注意事项
    猎豹网校C++ Primer学习笔记
    物体检测相关——学习笔记
    teraflop级、TFLOPS、TOPS
  • 原文地址:https://www.cnblogs.com/carey9420/p/14078575.html
Copyright © 2011-2022 走看看