mysql添加timestamp有什么用_mysql中timestamp的使用

mysql中timestamp的使用

mysql> CREATE TABLE t1 (

->   id mediumint(9) NOT NULL auto_increment,

->   name char(11) default NULL,

->   rq timestamp default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

->   PRIMARY KEY (id)

-> ) ;

Query OK, 0 rows affected (0.04 sec)

mysql> select * from t1; +----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 1 | a    | 2008-03-22 10:36:30 |

| 2 | b    | 2008-03-22 10:36:33 |

+----+------+---------------------+

2 rows in set (0.00 sec)

mysql> update t1 set name='f'where id=2;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from t1;

+----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 1 | a    | 2008-03-22 10:36:30 |

| 2 | f    | 2008-03-22 10:37:04 |

+----+------+---------------------+

2 rows in set (0.00 sec)

注意:id=2的字段的日期字段值由“2008-03-22 10:36:33”自动变为了“”2008-03-22 10:37:04!

★思考:rq字段自动变化有什么好处呢?

★解决:现在要根据两个表找出哪些记录变化了,哪些记录是增加的。

演示步骤:

★将t1表备份为t2表,注意备份表t2与t1表中的rq字段值也是完全相同的:

mysql> create table t2 as select * from t1

Query OK, 2 rows affected (0.08 sec)

Records: 2 Duplicates: 0 Warnings: 0

mysql> select * from t2;

+----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 1 | a    | 2008-03-22 10:36:30 |

| 2 | f    | 2008-03-22 10:37:04 |

+----+------+---------------------+

2 rows in set (0.00 sec)

★修改id=2的字段:

mysql> update t1 set name='g'where id=2;

Query OK, 1 row affected (0.01 sec)

Rows matched: 1 Changed: 1 Warnings: 0

★增加新记录:

mysql> insert into t1(name) values('h');

Query OK, 1 row affected (0.01 sec)

mysql> select * from t1;

+----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 1 | a    | 2008-03-22 10:36:30 |

| 2 | g    | 2008-03-22 10:43:38 |

| 3 | h    | 2008-03-22 10:44:46 |

+----+------+---------------------+

3 rows in set (0.00 sec)

★查出新增加的记录(ID不在t2表中的):

mysql> select a.*

-> from t1 a

-> where not exists

-> (

-> select b.*

-> from t2 b

-> where a.id=b.id

-> );

+----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 3 | h    | 2008-03-22 10:44:46 |

+----+------+---------------------+

1 row in set (0.00 sec)

★说明:查询哪些记录是被修改过的(ID相同而RQ不同)

mysql> select a.*

-> from t1 a

-> where exists

-> (

-> select b.*

-> from t2 b

-> where a.id=b.id

-> and   a.rq!=b.rq

-> )

-> ;

+----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 2 | g    | 2008-03-22 10:43:38 |

+----+------+---------------------+

1 row in set (0.00 sec)

★同理,也可以删除哪些记录是被删除的(id在t2中却不在t1中的):

mysql> delete from t1 where id=2;

Query OK, 1 row affected (0.00 sec)

mysql> select a.*

-> from t2 a

-> where not exists

-> (

-> select b.*

-> from t1 b

-> where a.id=b.id

-> );

+----+------+---------------------+

| id | name | rq                  |

+----+------+---------------------+

| 2 | f    | 2008-03-22 10:37:04 |

+----+------+---------------------+

1 row in set (0.00 sec)

说明:

1、在数据仓库系统的设计中,经常会将系统1的定期送到系统2中中,但是系统1中的数据有增加的、删除的和修改的。其中,哪些记录修改的,一直是比较难于解决的问题。

2、在Oracle、SQLServer都有类似的字段,所以上面的方法是通用的。

来源:hi.baidu.com/it培训网

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-03-15 14:51

浏览 1552

分类:数据库

评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVAWEB企业级开发关于Tomcat的安装和配置

首先,我们来了解一下什么是JSP:动态网页 静态:规定不会变化 动态:随着时间、地点、用户操作改变而改变 1.动态网页: 需要使用到 服务器端脚本语言(JSP) 2.使用的架构: CS:Client Server 不足…

mysql api 连接池_SpringBoot-整合HikariCP连接池

HikariCP连接池概述池化思想 池化思想是我们项目开发过程中的一种非常重要的思想,如整数池,字符串池,对象池、连接池、线程池等都是池化思想的一种应用,都是 通过复用对象,以减少因创建和释放对象所带来的资源消耗&…

JAVAWEB入门tomcat服务器配置

1.配置&#xff1a; 部署项目的方式&#xff1a; 一、直接新建一个项目hello文件放到webapps目录下即可 C:\apache-tomcat-8.5.45\webapps\hello 再在hello文件中编辑hello.html 测试内容如下 <font colorred>hellotomcat </font> 接下来在网页的搜索栏输入 …

steam成就解锁器_MC技术指南如何使用SAM成就解锁?

点击蓝字关注我哦核心内容提前看:本文教大家如何轻松配置使用SAM程序&#xff0c;主要教大家如何正确使用。不正当的操作&#xff0c;可能会受到小红信&#xff0c;同时建议非必要情况下手动解锁成就更有乐趣。请下载群文件中MillionClub整合工具 SAM软件小百科&#xff1a;SA…

JAVAWEB入门第一篇

Servlet: server applet 概念&#xff1a;运行在服务器的小程序 所以Servlet就是一个接口&#xff0c;里面定义了java类被浏览器访问到(tomcat识别)的规则。 将来我们自定义一个类&#xff0c;实现Servlet接口&#xff0c;复写方法 在src路径下新建一个包cn.itcast.web.ser…

JAVAWEB入门之Sevlet的执行原理

上一节我们学习了快速入门&#xff0c; 但是里面的问题是ServletDemo1里面既没有创建对象&#xff0c;又没有写方法&#xff0c;竟然就被执行了&#xff0c;为什么呢&#xff1f; 我们来分析一下Sevlet的执行原理 1.当服务器接收到客户端浏览器的请求后&#xff0c;会解析请求…

JAVAWEB入门之Servlet的注解配置

1.我们发现&#xff0c;配置servlet很麻烦&#xff0c;要一直在web.xml里面配置<servlet></servlet> 因此官方给了我们一个新的版本servlet3.0 好处&#xff1a;支持注解配置。可以不用web.xml了 步骤&#xff1a;1.创建javaEE项目&#xff0c;选择Servlet的版本…

JAVAWEB入门之IDEA与tomcat相关配置

IDEA与tomcat相关配置 IDEA会为每一个tomcat部署的项目单独建立一份配置文件&#xff0c;查看启动项目后的控制台的log&#xff1a;Using CATALINA_BASE: "C:\Users\14811\.IntelliJIdea2017.1\system\tomcat\_test2"打开这个文件路径后&#xff0c;我们发现里面有…

mysql 自增id replace_MySQL--REPLACE INTO与自增

####测试环境&#xff1a;MySQL版本&#xff1a;MySQL 5.7.19复制模式&#xff1a;ROW####执行下面操作&#xff1a;##测试脚本&#xff1a;CREATE TABLET_AUTO_TEST(IDINT AUTO_INCREMENT PRIMARY KEY,C1INT NOT NULL,UNIQUE KEYUNI_C1(C1))INSERT INTO T_AUTO_TEST(ID,C1)VAL…

JAVAWEB入门之Servlet_体系结构

我们建的这个类要继承复写Servlet的所有方法&#xff0c;但是这会很麻烦&#xff0c;所有的写出来很繁琐当摆设&#xff0c;所以我们想&#xff0c;可不可以定义一个类&#xff0c;然后继承这些类和方法&#xff0c; Servlet的体系结构&#xff0c; Servlet----接口----爷爷 …

JAVA入门级教学之HTTP

HTTP概念&#xff1a;Hyper Text Transfer Protocol 超文本传输协议 传输协议&#xff1a;定义了客户端和服务器端通信时发送数据的格式 特点&#xff1a;1.基于TCP/IP的高级协议&#xff0c;要经过三次握手&#xff0c;说明也是一种安全的协议 2.默认端口号是80 http://…

mysql 取年月日 语句_MySQL学习从这里出发!

MySQL数据库开发学习中&#xff0c;想满足一些需求&#xff0c;无疑需要经常与数据打交道&#xff0c;例如&#xff0c;我们在使用IO的一些技术的时候&#xff0c;常常需要将一些数据存储到外部文件&#xff0c;可能大家会问&#xff0c;我们初学的时候常常会简单的保存一些数据…

JAVAWEB入门之Requset原理

Request 1.request和respinse对象的原理 request和respinse对象是由服务器创建的&#xff0c;我们只是使用他们 request对象是来获取请求消息&#xff0c;response是来设置响应消息 3.request对象的继承体系结构&#xff1a; ServletRequest-------接口 继承 HttpServlet…

mysql事务编号_Mysql事务

一&#xff1a;mysql事务1.需求从orders表中查询最新的销售订单编号&#xff0c;并使用下一个销售订单编号作为新的销售订单编号。在指定客户的orders表中插入新的销售订单。将新的销售订单项目插入orderdetails表中。从orders表和orderdetails中获取数据以确认更改。如果由于数…

java try catch 例子_java try catch

try catch机制非常好。那些觉得try catch不行的人&#xff0c;是他们自己的水平有问题&#xff0c;无法理解这种机制。并且这群人写代码不遵守规则&#xff0c;喜欢偷懒&#xff0c;这才造成try catch不好的错觉。详细解释&#xff1a;1.程序要健壮&#xff0c;必须要设计报错机…

java xss 默认值_一台 Java 服务器可以跑多少个线程?

原标题&#xff1a;一台 Java 服务器可以跑多少个线程&#xff1f;转自&#xff1a;简书&#xff0c;作者&#xff1a;新栋BOOK一台Java服务器能跑多少个线程&#xff1f;这个问题来自一次线上报警如下图&#xff0c;超过了我们的配置阈值。京东自研UMP监控分析打出jstack文件&…

java设计模式初探之装饰者_JAVA设计模式初探之装饰者模式

装饰者模式1、意图&#xff1a; 动态地给一个对象添加一些额外的职责。就增加功能来说&#xff0c; Decorator模式相比生成子类更为灵活。该模式以对客 户端透明的方式扩展对象的功能。2、适用环境(1)在不影响其他对象的情况下&#xff0c;以动态、透明的方式给单个对象添加职责…

redis在java中的方法_redis在java中的使用方法

Redis是key-value方式储存数据的内存数据库。下载后解压&#xff0c;redis-server.exe是redis服务&#xff0c;启动之后就可以使用redis。redis-cli.exe是客户端&#xff0c;可以访问本地或远程的redis。redis-cli.exe -h 127.0.0.1 -p 6379 命令行命令。修改-h后的ip…

Java写一个快速排序_快速排序java实现

1.快速排序的思想快速排序属于交换排序&#xff0c;是冒泡排序的升降版。相对于冒泡排序而言&#xff0c;快速排序增大了记录比较和移动的距离&#xff0c;将关键字较大的记录直接移动到后面&#xff0c;将关键字较小的记录直接移动到前面&#xff1b;不再是相邻两个记录依次进…

java porm.xml_通过Maven仓库安装Spire.PDF for Java

本文将介绍如何通过Maven仓库安装Spire.PDF for Java。首先&#xff0c;在pom.xml文件中配置Maven仓库路径。com.e-icebluee-icebluehttp://repo.e-iceblue.com/nexus/content/groups/public/其次&#xff0c;在pom.xml文件中指定Spire.PDF for Java的Maven依赖e-iceblue spire…