目录

基本概率

代码与实例


基本概率

CURRENT_TIMESTAMP()可以把MYSQL中TIMESTAMP类型设置为当前的时间。

ON UPDATE个人觉得这个是个神器,一般用于当某个字段是updateTIme,最后修改时间的时候,使用这个ON UPDATE即可。这样就不用开发者自己去处理了,MySQL能自动将其处理。

最后来说下索引,这个是来源于百度,具体是谁的,我也忘记了:索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。要注意的是,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。

代码与实例

如下建表代码:

CREATE TABLE timeDemo(id VARCHAR(64) NOT NULL,timeTest TIMESTAMP NOT NULL,PRIMARY KEY (id)
);

当添加一个新数据的时候:

他会自动创建时间,比如某个订单表,他要记录下订单的时间,就可以使用这种方法进行处理。

包括updateTime,最后更新时间:

CREATE TABLE timeDemo2(id VARCHAR(64) NOT NULL,createTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),updateTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(),PRIMARY KEY (id));

//上面这个mysql5.7以上版本不会有问题,但5.7以下版本就会有问题
//5.7以下的版本推荐使用程序去插入。

这里用5.5演示下ON UPDATE的效果

CREATE TABLE timeDemo3(id VARCHAR(64) NOT NULL,updateTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(),PRIMARY KEY (id)
);

当修改了这个表的某些数据后,updateTime这个数值会自动更新。

每次对这条记录进行更新,updateTime就会自动更新,这样的话,就不用程序员自己去处理了。
这里可以发现,难过很多互联网公司都喜欢用MySQL5.7以上的版本,而传统行业还是在用MySQL5.5版本。

说下索引key和index

CREATE TABLE timeDemo4(id VARCHAR(64) NOT NULL,id2 VARCHAR(64) NOT NULL,updateTime TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(),PRIMARY KEY (id),KEY(id2)
)ENGINE=INNODB DEFAULT CHARSET=utf8

普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。因此,应该只为那些最经常出现在查询条件(WHERE column = ...)或排序条件(ORDER BY column)中的数据列创建索引。只要有可能,就应该选择一个数据最整齐、最紧凑的数据列(如一个整数类型的数据列)来创建索引。

MySQL笔记-CURRENT_TIMESTAMP()和ON UPDATE及索引相关相关推荐

  1. MySQL 笔记8 -- 存储过程和索引

    MySQL 笔记8 – 存储过程和索引 MySQL 系列笔记是笔者学习.实践MySQL数据库的笔记 课程链接: MySQL 数据库基础入门教程 参考文档: MySQL 官方文档 SQL 教程 一.存储 ...

  2. 【数据库笔记】高性能MySQL:chapter 5 创建高性能的索引

    文章目录 前置知识 5.0 引言 5.1 索引基础 1. 索引的类型 B-Tree 索引 哈希索引 空间数据索引(R-Tree) 全文索引 5.2 索引基础 5.3 高性能的索引策略 1. 独立的列 ...

  3. MySQL 5.6.5之前版本不支持多条DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP

    创建数据表时失败,提示以下信息: 09-13-2016 07:47:49 ERROR o.h.t.h.SchemaUpdate [https-jsse-nio-443-exec-6] HHH00038 ...

  4. MySQL 设置和取消“ON UPDATE CURRENT_TIMESTAMP”

    文章目录 1. 设置"ON UPDATE CURRENT_TIMESTAMP" 2. 取消"ON UPDATE CURRENT_TIMESTAMP" 1. 设置 ...

  5. 徐无忌MySQL笔记:索引的使用规则

    徐无忌MySQL笔记:索引的使用规则 完成:第一遍 1.索引的使用大致分为哪两类? 单列索引 联合索引 2.单列索引? 比如:SELECT uid FROM people WHERE name='Ad ...

  6. MySQL笔记5:如何创建和删除索引?

    MySQL数据库中如何创建和删除索引? 一.创建索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引. 1.使用CREA ...

  7. mysql第五章项目二_高性能MySQL笔记 第5章 创建高性能的索引

    索引(index),在MySQL中也被叫做键(key),是存储引擎用于快速找到记录的一种数据结构.索引优化是对查询性能优化最有效的手段. 5.1 索引基础 索引的类型 索引是在存储引擎层而不是服务器层 ...

  8. mysql事务手写笔记_兴奋了!阿里技术官手写“MySQL笔记”,传授你年薪百万级干货...

    前言 MySQL重要吗?重要!为什么重要?因为它在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展.阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的.My ...

  9. MySql 笔记(五)InnoDB引擎页分裂与页合并的原理

    MySql 笔记(五)InnoDB引擎页分裂与页合并的原理 一.文件表(File-Table)结构 二.根,分支与叶子 三.页的内部原理 四.页合并的原理 五.页分裂的原理 六.主键的使用 七.总结 ...

最新文章

  1. Windows Server 2012 RDS系列:虚拟桌面化(5)
  2. QT在VS2013中的配置
  3. vue移动端优秀框架收集
  4. linux-epoll研究
  5. 《研磨设计模式》chap20 享元模式 Flyweight (2)模式介绍
  6. 【优达学城测评】求T-test值,P-value值
  7. 5.7 echo:显示一行文本
  8. Android之failed for task ‘:app:dexDebug‘致gradle编译OOM问题解决(android-support-multidex)
  9. pandas - AttributeError: Series object has no attribute reshape
  10. 2018辛苦一年了,程序员这样跟大boss谈2019加薪,谈薪杯具变喜剧
  11. MySQL缓存推荐使用吗_Mysql 查询缓存利弊
  12. android 银行接口,iOS/Android银行卡识别sdk/开发包/api/接口
  13. Ubuntu18.04 下载与安装(阿里云官方镜像站)
  14. html-菜鸟--书架仿饿了么首页—Html学习(1)
  15. win10 屏幕保护时间到了不触发_你真的了解Win10么?网友教你玩转Win10!
  16. 独孤木专栏Delayed Project(中) (转)
  17. [解决]IDEA每次启动都会打开Licenses激活弹窗、IDEA打不开
  18. 人工智能架构图和产业链构成
  19. 字节跳动40W大数据开发岗,面试也不过如此
  20. JAVA笔记- JAVA集合类之HashMap集合

热门文章

  1. 实现textarea限制输入字数
  2. 上午绿茶下午菊花茶晚上枸杞
  3. 实战 | 尝鲜 Svelte 前端框架,开发读书笔记
  4. C/C++知识分享:C++标准库之 string 类型,各种运算全部掌握
  5. Internet Explorer 6 中的 CSS 增强功能
  6. 微软内部文件:Longhorn相关工作外包印度
  7. 03MFC的ODBC类简介
  8. 分享几个神奇有效的Python学习网站
  9. 程序员年纪越大,工作被取代性越强
  10. 一个程序员的逗逼瞬间(三)