MySQL cookbook读书笔记第六章

1,修改MySQL中的日期的格式


在显示一个日期值时,如果没有特别指定,MySQL按照ISO格式显示日期即(CCYY-MM0DD)。如果不希望按照MySQL的默认格式输出时间和日期值,可以使用date_format()或者time_format()函数按照用户期望的格式重写日期或者时间值

date_format(),time_format()和str_to_date()三个函数都接受格式化串作为参数:

2,设置客户端时区

如果客户端和服务器处在不同的时区,那么客户端在服务器上保存timestamp类型值时,实际保存的结果不是正确的utc时间。

解决方法:当客户端连接到服务器时,通过设置系统变量time_zone来改变客户端时区.

假定服务器和客户端是同一时区:

客户端查询的值与数据库中值相同,但是如果与服务器不在同一时区就会错误,我们更改session
time_zone=’+04:00’那么查询之后相应地时间也会变化

3,获取当前日期或者时间

可以使用curdate(),curtime()或者now()函数来获得当前的日期和时间,使用utc_date,utc_time或者utc_timestamp()函数获得当前的utc日期和时间

使用timestamp来跟踪行修改时间:

首先创建一个包含timestamp类型列的表tsdemo1:

查看此时的tsdemo1的属性:

此时如果想tsdemo1表中插入之,ts列会记录插入的时间

更新操作,同样也会记录更新时的时间(更新为原来值时,时间不做更新):

如果只希望timestamp列自动初始化为行插入的日期和时间,不希望以后发生变化,那么可以使timestamp列举有

auto-initialize属性,但没有auto-update属性

此时,表的属性:

没有tsdemo1中的on update current_timestamp

update后,timestamp不做更新:

4,从日期或者时间值中分解出个部分值

a,使用特定函数从时间或者日期中取出一个特定部分,例如month()函数,minute()函数

b,使用格式化函数date_format()或者time_format()和一个特定的格式化串来得到一个日期或者时间值中分解出需要的部分

c,将一个时间或者日期当作一个字符串,然后使用left()或者mid()函数从其中得到所需要的部分。

extract()用于分解日期或者时间值的函数

使用格式化函数分解日期或者时间值:

好处:按照用户指定的格式来显示分解得到的结果

使用字符串分解时间或者日期值:

5,计算两个日期或时间之间间隔

使用时间差函数:

计算间隔,并将间隔分为时、分、秒显示:

还可以使用timestampdiff(unit,val1,val2):

使用基本时间单位来计算时间间隔:

6,将一个日期和时间切换时区

convert-tz()函数接受三个参数:一个date-and-time值,两个时区指示器。

因为我的mysql数据库中没有支持时区名的时区表,我尝试安装时区表不知道为什么还是NULL,使用utc是ok的

找到了出错的原因是我登录mysql时指定了登录的表为cookbook,而时区表是在mysql目录下的,这里不成功是正常的

MySQL cookbook读书笔记第六章,布布扣,bubuko.com

时间: 2024-10-26 01:42:19

MySQL cookbook读书笔记第六章的相关文章

MySQL Cookbook读书笔记第三章

1,查询指定列/从指定列中查询 若需要指定每一列在查询结果中出现的先后顺序,可以在select语句中指定(dstuser在dsthost之后): 查询显示用户所关注的列: 2,指定查询行 使用where关键字可以查询符合条件限制的数据例如:查找srchost为venus或者srchost以s开头的行记录: 使用操作符like进行模式匹配,其中%表示通配符,代表一个差多为任意值的字符串. where使用操作符and可以查询多个条件: 条件并集: 3,格式化显示查询结果 当查询语句中没有重命名列名,

MySQL Cookbook读书笔记第5章

1,字符串属性 查看系统拥有那些字符集: 若需要来自多种语言存放到同一列中,会考虑Unicode字符集(utf8或ucs2),只有它能表示多语言的字符 有些字符集支持多字节,有些只包含单字节,判断是否支持多字节的方法是对比Length()h和char_length函数的返回值来判定字符串中是否有多字节.例如使用ucs2的字节长度为6,字符数目为3. 另外虽然Unicode字符集utf8包含多字节字符,但是一个具体的字符串有可能只包含单字节字 非二进制字符串另一特征是collation,决定字符集

《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(1)

<Microsoft Sql server 2008 Internals>索引目录: <Microsoft Sql server 2008 Internals>读书笔记--目录索引 在第五章主要学习了table的内部存储结构,第七章<Special storage>中将继续深入学习存储机制,那将是本书最难理解的一章.第六章主要介绍index的基础知识,第八章是<query Optimizer>,下面我们先来看看第六章:Indexes:Internals an

APUE读书笔记-第六章 系统数据文件和信息

昨天看完了,今天来看看第六章.感觉第六章的内容不是非常重要.简单看看吧 6.2 口令文件 口令文件其实就是/etc文件夹下的passwd文件,但处于安全性的考虑,我们无法直接读取它.就是通过直接限制权限的方式对其进行保护,passwd文件具体权限如下: -rw-r--r-- 1 root root 可以看到只有root用户具有读写权限,与root同组的用户与其他用户仅具有读权限. 不过为了解决以上问题,Linux中给出了一系列数据结构与函数帮助我们操纵口令文件,首先是关键数据结构,定义位于/in

《R语言实战》读书笔记-- 第六章 基本图形

首先写第二部分的前言. 第二部分用来介绍获取数据基本信息的图形技术和统计方法. 本章主要内容 条形图.箱型图.点图 饼图和扇形图 直方图和核密度图 分析数据第一步就是要观察它,用可视化的方式是最好的.本章的主题有两个 1.将变量的分布作可视化展示 2.通过结果变量进行跨组比较 下面从不同的图形开始探索数据. 6.1条形图 条形图是通过条形展示离散变量的频数分布.函数是barplot: barplot(height) height是主要参数,horiz = TRUE就是横向条形图. height可

《Python基础教程》 读书笔记 第六章 抽象 函数 参数

6.1创建函数 函数是可以调用(可能包含参数,也就是放在圆括号中的值),它执行某种行为并且返回一个值.一般来说,内建的callable函数可以用来判断函数是否可调用: >>> x=1 >>> y=math.sqrt >>> callable(x) False >>> callable(y) True 定义函数用def 语句: def fib(num): result=[0,1] for i in range(num-2): resul

MySQL Cookbook学习笔记第四章

1,克隆表(创建一个恰好与某个已有表结构一致的表) create table - like克隆表结构:使用insert into - select语句克隆部分或者全部表数据 2,将查询结果保存到表中 a,使用insert into...select将语句查询结果插入表中,若表不存在需要使用create table -select 语句为查询结果新建一张表. insert into dst_tb1(i,s) select val, name from src_tb1 insert into dst

java并发编程的艺术,读书笔记第六章 concurrentHashMap以及并发容器的介绍

ConcurrentHashMap的原理 将数据一段一段的存储然后给每一段数据分配一把锁,当线程访问数据的一段时,为每段分配一把锁,同时其他段的数据可以被其他线程数据访问 2)concurrentHashMap 的结构 concurrentHashMap 由segament数组和hashentry数组结构组成,segament是一种可靠的重入锁,在里面扮演锁的角色,hashentry用于存储键值对数据,一个segament里面包含一个hashentry数组,每个hashentry是一个链表结构的

读书笔记第六章

第一个Linux驱动程序:统计单词个数 Linux驱动到底是个什么东西. 对于没接触过驱动开发的程序员可能感觉Linux驱动很神秘,其实,这完全是误解.Linux系统将每一个驱动都映射成一个文件,称之为设备文件或驱动文件,保存在/dev中.这样就使得与Linux驱动交换数据相当于与设备文件交换数据.其中与事件类似的概念,就是编写回调函数,否则与设备文件交互的数据将无法得到处理. 编写Linux驱动程序的步骤 建立Linux驱动骨架(装载和卸载Linux驱动) 注册和注销设备文件 指定与驱动相关的