• insert into select 和select into from 备份表


    一  insert into select要求表必须存在

    INSERTINTO order_record SELECT * FROM order_today FORCEINDEX (idx_pay_suc_time)WHERE pay_success_time <= '2020-03-08 00:00:00';

    FORCEINDEX (idx_pay_suc_time)指定使用索引,避免使用了低效的索引。

    使用 insert into tablA select * from tableB 语句时,一定要确保 tableB 后面的 where,order 或者其他条件,都需要有对应的索引,来避免出现 tableB 全部记录被锁定的情况。

    二  select into from要求表必须不存在,插入时自动创建(MySQL中没有此语法,但是可以用INSERT INTO SELECT)

    SELECT * INTO order_record FROM order_tody FORCEINDEX (idx_pay_suc_time) WHERE pay_success_time <= '2020-03-08 00:00:00'

    补充备份表的几种方法

    1.复制表结构及其数据

      CREATE TABLE table_backup AS SELECT * FROM table_old

    2.复制表结构及其数据

      CREATE TABLE table_backup LIKE table_old

    3.只复制表数据

      表结构一样

        INSERT INTO table_backup SELECT * FROM table_old

      表结构一样

        INSERT INTO table_backup(column1,column2...) SELECT column1,column2... FROM table_old

  • 相关阅读:
    c_水程序
    Arlenmbx!!!!
    java
    c语言随机函数&&时间函数
    2016省赛总结
    666
    【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流)
    【洛谷P3756】[CQOI2017]老C的方块(最小割)
    CF704D Captain America(上下界网络流)
    AtCoder Regular Contest 097
  • 原文地址:https://www.cnblogs.com/holiphy/p/13219272.html
Copyright © 2020-2023  润新知