Mysql脚本升级之根据查询条件进行insert动作
2017-05-26 17:49
447 查看
一、目标
根据业务需要,进行选择性数据脚本升级插入动作。
二、关键属性
Dual临时表,条件过滤,连接查询
三、代码
-- 先在服务中添加优先级参数 INSERT INTO t_service_parameter SELECT "2017052609325500014", (SELECT id FROM t_service_info WHERE service_code = "ServVSATDurn"),"QoSPrir","服务优先级参数",3,"high,medium,low" FROM DUAL WHERE EXISTS(SELECT service_code FROM t_service_info WHERE service_code = 'ServVSATDurn'); INSERT INTO t_service_parameter SELECT "2017052609325500015", (SELECT id FROM t_service_info WHERE service_code = "ServVSATTraf"),"QoSPrir","服务优先级参数",3,"high,medium,low" FROM DUAL WHERE EXISTS(SELECT service_code FROM t_service_info WHERE service_code = 'ServVSATTraf'); -- 再在产品参数表中添加默认优先级参数 INSERT INTO t_product_parameter SELECT r.id,r.id,p.id,"medium" FROM t_product_info r LEFT JOIN t_product_service s ON r.id = s.`product_id` LEFT JOIN t_service_parameter p ON s.service_id = p.service_id WHERE p.`parameter_code`='QoSPrir';
四、sql解释
一、普通insert插入动作 insert into table(field1,field2,field3) values(val1,val2,val3) 二、加判断条件执行插入动作 insert into table(field1,field2,field3) select val1,val2,val3 FROM DUAL WHERE EXISTS(sql condition); a、如果不满足sql condition这个sql条件,将不会执行这个插入动作 b、中间表DUAL用来封装需要插入的数据,可以是批量的数据。
相关文章推荐
- MySQL中进行树状所有子节点的查询 . mysql根据父id 查询所有的子id
- shell自动连接mysql后进行查询和自动备份脚本
- mysql怎么查询条件以另一个表中条件进行查询
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍
- mysql查询数据,根据条件更新到另一张表
- 统计查询-根据条件进行count的两种实现方式- oracle
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法
- mysql 中如何取得汉字字段的各汉字首字母, 并根据首字母进行查询
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍
- mysql根据查询条件去修改另一张表
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,效率提高2125倍
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法,
- PHP,Mysql-根据一个给定经纬度的点,进行附近的人查询
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–合理利用算法
- Java,Mysql-根据一个给定经纬度的点,进行附近500米地点查询–合理利用算法
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- MySQL 查询 根据某个字段查询,且字段值为整数,放在Where 条件上
- PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询