zoukankan      html  css  js  c++  java
  • 绝对经典的表记录操作(超越版)

    ***一次性插入多条记录:
    table1表结构
    -----------
    id,name
    -----------
    同时插入多条记录:
    insert  into table1( id,name) values (1,'name1'),(2,'name2'),(3,'name3'),(4,'name4'),(5,'jname1');

    ///////////////////////////////////////////

    ***表与表之前的记录复制
    table2,table3
    -------------
    id,name
    -------------
    将表table2中的数据复制到表table3中:

    insert  into table3 select name from table2

    ///////////////////////////////////////////

    ***建立表并从一个表中复制数据

    create table mytable as select * from emp


    ///////////////////////////////////////////

    ***显示字段值占用百分比(绝对原创)

     SELECT id,name,((CASE WHEN NAME='jname1' THEN 1 ELSE 0 END)*0.1 + (CASE WHEN NAME='name1' THEN 1 ELSE 0 END)*0.1) AS a FROM mytable

    ///////////////////////////////////////////

    ***一个复杂的记录插入操作
    insert into T_EMPLOYEE_ROLE( employee_id,role_id, org_id )
          select empid,roleid,orgid from (    
                 select e.id empid,r.id roleid,o.id orgid   ,(
                                select count(*) from T_EMPLOYEE_ROLE where employee_id=e.id and role_id=r.id and org_id=o.id
                 ) ifExisted     
          from T_EMPLOYEE e,T_ROLE r,T_ORGANIZATION o    
          where e.id in (10001041,10001030,   111111111)  --员工id串    
                  and r.id in (3,1065,                22222222)   --角色id串    
                  and o.id in (10000000,10000002,     333333333)  --组织id串 ) t
    where ifExisted=0  --IFEXISTED=0的意思为:如果查出来的记录为0的话就插入,否则不作处理

  • 相关阅读:
    优化页面响应时间
    php性能优化
    加快compser install 和update的方法
    好用的类库
    php会话(session)实现原理
    mysql引擎
    数据库事物四大特性
    数据库索引
    insert和insertSelective区别
    java面试题之int和Integer的区别
  • 原文地址:https://www.cnblogs.com/cyjch/p/2376261.html
Copyright © 2011-2022 走看看