zoukankan      html  css  js  c++  java
  • 快速复制表结构及数据

    创建表,并复制数据

    create table table1 as select * from table2;

    只创建表结构,不复制数据

    create table table1 as select * from table2 where 1=2;

    复制表数据,两张表字段相同:(table1必须存在)

    insert into table1 select * from table2;

    复制表数据,两张表字段不相同:(table1必须存在)

    insert into table1(field1,field2,field3) select field1,field2,field3 from table2;

    删除表:

    drop talbe table_name;

    删除表数据:

    truncate table table_name;

    如果xxx表不存在某条数据,就从xxx表插入该条数据

    insert into tb_cablecheck_dtsj select od.*, '' ro_type_id from osspad.tb_cablecheck_dtsj od where not exists (select 1 from tb_cablecheck_dtsj d where d.id = od.id)

    带自增长id,需要写成子查询:

    INSERT INTO tb_cablecheck_dtsj SELECT
        SEQ_CABLECHECK_DTSJ_ID.nextval,
        t.*
    FROM
        (
            SELECT
                d.dzid,
                d.dzbm,
                d.sbid,
                d.sbbm,
                d.sblx,
                d.sbmc,
                d.bdsj,
                d.glbh,
                d.gdjgsj,
                d.jcsj,
                d.gxsj,
                d.areaid,
                d.sfpf,
                d.pzgh,
                d.sggh,
                d.gqgh,
                d.xz,
                d.gdbh,
                d.glmc,
                d.install_dzbm,
                d.install_sbbm,
                d.h,
                d.install_sbid,
                '' ro_type_id
            FROM
                osspad.tb_cablecheck_dtsj d,
                area a
            WHERE
                d.areaid = a.area_id
            AND a.parent_area_id = 20
            AND d.bdsj >= TO_DATE ('2016-12-01', 'yyyy-mm-dd')
            AND d.bdsj <= TO_DATE ('2016-12-31', 'yyyy-mm-dd')
        ) t

    备份原表数据

    create table tb_cablecheck_equipment_bak as select * from tb_cablecheck_equipment;

    删除原表

    drop table tb_cablecheck_equipment;

    创建临时表

    create table tb_equipment_20170112 as
    select e.equipment_id,
           e.equipment_code,
           e.equipment_name,
           e.area_id,
           e.address,
           e.res_type_id,
           e.res_type,
           e.manage_area_id,
           e.manage_area,
           e.management_mode,
           e.isrelated,
           e.staff_id,
           e.create_date,
           e.ischecked,
           e.check_date,
           e.operate_staff,
           e.parent_area_id,
           e.grid_id,
           e.install_sbid,
           e.install_sbbm,
           e.install_dzbm,
           decode(e.longitude,null,b.longitude,e.longitude) longitude,
           decode(e.latitude,null,b.latitude,e.latitude) latitude,
           e.station_id,
           e.update_time
      from tb_cablecheck_equipment e left join tb_base_equipment b
      on e.equipment_id = b.phy_eqp_id and e.equipment_code = b.point_no

    恢复原表并插入数据

    create table tb_cablecheck_equipment
    as
    select * from tb_equipment_20170112

    查询原表

    select * from tb_cablecheck_equipment
    select count(1) from tb_cablecheck_equipment
  • 相关阅读:
    Java使用jxl修改现有Excel文件内容,并验证其是否对公式的结果产生影响
    Java使用MyBatis的ScriptRunner执行SQL脚本
    Linux下批量解压.Z格式文件
    Java中将一个反斜杠转换成两个反斜杠
    mysql线上操作常用命令
    MySQL主从不一致修复
    slave_exec_mode参数对主从复制的影响
    ssh访问跳过RSA key"yes/no"验证
    k8s更新Pod镜像
    Go 延迟函数 defer 详解
  • 原文地址:https://www.cnblogs.com/xyhero/p/688715582ebb0c5c3430aabb28aa2401.html
Copyright © 2011-2022 走看看