Mysql 根据一个表数据更新另一个表的某些字段(sql语句)

下面一段代码给大家介绍Mysql 根据一个表数据更新另一个表的某些字段,具体代码如下所示:

DROP TABLE IF EXISTS T_U_TEMPLATE;
-- 模版表
CREATE TABLE T_U_TEMPLATE (
 ID     INT NOT NULL AUTO_INCREMENT comment '模版表ID',
 TEMPLATE_CODE   VARCHAR(50) BINARY comment '模版编码',
 TEMPLATE_NAME   VARCHAR(300) BINARY comment '模版名称',
 CREATE_TIME   datetime DEFAULT NULL COMMENT '创建时间',
 CREATE_BY varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建者' ,
 UPDATE_BY varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '更新者' ,
 UPDATE_DATE datetime COMMENT '更新时间' ,
 constraint PK_U_TEMPLATE primary key (ID)
)DEFAULT CHARSET=utf8 comment '模版表';
DROP TABLE IF EXISTS TEMPLATE_TEMP_CREATE;
-- 模版临时表
CREATE TABLE TEMPLATE_TEMP_CREATE (
 ID     INT NOT NULL AUTO_INCREMENT comment '模版表ID',
 OBJECT_ID   VARCHAR(50) BINARY comment '模版编码',
 OPERATER_NAME varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '更新者' ,
 CREATE_TIME datetime NOT NULL COMMENT '更新时间' ,
 constraint PK_U_TEMPLATE primary key (ID)
)DEFAULT CHARSET=utf8 comment '模版临时表';
-- 修改创建人创建时间到T_U_TEMPLATE表
UPDATE T_U_TEMPLATE a,TEMPLATE_TEMP_CREATE b SET a.CREATE_TIME=b.CREATE_TIME WHERE a.TEMPLATE_CODE = b.OBJECT_ID;
UPDATE T_U_TEMPLATE a,TEMPLATE_TEMP_CREATE b SET a.CREATE_BY=b.OPERATER_NAME WHERE a.TEMPLATE_CODE = b.OBJECT_ID ;

总结

以上所述是小编给大家介绍的Mysql 根据一个表数据更新另一个表的某些字段,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 分析Mysql表读写、索引等操作的sql语句效率优化问题

    上次我们说到mysql的一些sql查询方面的优化,包括查看explain执行计划,分析索引等等.今天我们分享一些 分析mysql表读写.索引等等操作的sql语句. 闲话不多说,直接上代码: 反映表的读写压力 SELECT file_name AS file, count_read, sum_number_of_bytes_read AS total_read, count_write, sum_number_of_bytes_write AS total_written, (sum_number

  • 提升MYSQL查询效率的10个SQL语句优化技巧

    MySQL数据库执行效率对程序的执行速度有很大的影响,有效的处理优化数据库是非常有用的.尤其是大量数据需要处理的时候. 1. 优化你的MySQL查询缓存 在MySQL服务器上进行查询,可以启用高速查询缓存.让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一.当同一个查询被执行多次时,如果结果是从缓存中提取,那是相当快的. 但主要的问题是,它是那么容易被隐藏起来以至于我们大多数程序员会忽略它.在有些处理任务中,我们实际上是可以阻止查询缓存工作的. // query cache does NOT

  • PHP获取MySQL执行sql语句的查询时间方法

    如下所示: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = explode(" ",$t); list($m1,$s1) = explode("

  • MySQL根据某一个或者多个字段查找重复数据的sql语句

    sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2.查询出所有数据进行分组之后,和重复数据的重复次数的查询数据,先列下: select count(username) as '重复次数',username from xi group

  • Mysql查询最近一条记录的sql语句(优化篇)

    下策--查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36" order by create_time desc limit 1 这样做虽然可以取出当前时间最近的一条记录,但是一次查询需要将表遍历一遍,对于百万以上数据查询将比较费时:limit是先取出全部结果,然后取第一条,相当于查询中占用了不必要的时间和空间:还有如果需要批量取出最近一条记录,比方说:"一个订单表,有用户,订

  • MySQL语句整理及汇总介绍

    SQL(Structured Query Language)语句,即结构化查询语言,是操作和检索关系数据库的标准语言.SQL语句一般分为以下几种: DCL(Database Control Language,数据控制语言)语句:主要由GRANT和REVOKE两个关键字完成 DDL(Database Definition Language,数据定义语言)语句:主要由CREATE.ALTER.DROP和TRUNCATE四个关键字完成 DML(Database Manipulation Languag

  • 完美解决mysql in条件语句只读取一条信息问题的2种方案

    今天同事在编写MYSQL查询语句时遇到一个很奇怪的问题,使用mysql多表查询,一个表中的某个字段作为另一表的in查询条件,只能读取一条信息,而直接用数字的话可以正常读取 SQL语句如下: select a.id,a.title,b.idlist,b.aid from table a,table2 b where a.id in(b.idlist) and b.aid=2 table2表中的idlist字段是varchar类型,保存table表中的多个id信息即1,2,3,4 用上面的语句可以正

  • 一条sql语句完成MySQL去重留一

    前几天在做一个需求的时候,需要清理mysql中重复的记录,当时的想法是通过代码遍历写出来,然后觉得太复杂,心里想着应该可以通过一个sql语句来解决问题的.查了资料,请教了大佬之后得出了一个很便利的sql语句,这里分享下这段sql语句和思路. 需求分析 数据库中存在重复记录,删除保留其中一条(是否重复判断基准为多个字段) 解决方案 碰到这个需求的时候,心里大概是有思路的.最快想到的是可以通过一条sql语句来解决,无奈自己对于复杂sql语句的道行太浅,所以想找大佬帮忙. 找人帮忙 因为这个需求有点着

  • 使用SQL语句查询MySQL,SQLServer,Oracle所有数据库名和表名,字段名

    MySQL中查询所有数据库名和表名 查询所有数据库 show databases; 查询指定数据库中所有表名 select table_name from information_schema.tables where table_schema='database_name' and table_type='base table'; 查询指定表中的所有字段名 select column_name from information_schema.columns where table_schema

  • MySQL 截取字符串函数的sql语句

    1.left(name,4)截取左边的4个字符 列: SELECT LEFT(201809,4) 年 结果:2018 2.right(name,2)截取右边的2个字符 SELECT RIGHT(201809,2) 月份 结果:09 3.SUBSTRING(name,5,3) 截取name这个字段 从第五个字符开始 只截取之后的3个字符 SELECT SUBSTRING('成都融资事业部',5,3) 结果:事业部 4.SUBSTRING(name,3) 截取name这个字段 从第三个字符开始,之后

随机推荐