mysql中Timestamp,time,datetime 区别??
DATETIME、DATE和TIMESTAMP,除了DATE用来表示一个不带时分秒的是日期,另外两个都带时分秒。TIMESTAMP还可以精确到毫秒。
TIMESTAMP列必须有默认值,默认值可以为“0000-00-00 00:00:00”,但不能为null。
TIMESTAMP列不可以设置值,只能由数据库自动去修改。
一个表可以存在多个TIMESTAMP列,但只有一个列会根据数据更新而改变为数据库系统当前值。因此,一个表中有多个TIMESTAMP列是没有意义,实际上一个表只设定一个TIMESTAMP列。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。
TIMESTAMP[(M)]
时间戳。范围是’1970-01-01
00:00:00’到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。
如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。
也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
TIMESTAMP值返回后显示为’YYYY-MM-DD
HH:MM:SS’格式的字符串,
显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP
列添加+0。
TIME
时间。范围是’-838:59:59’到’838:59:59’。
MySQL以’HH:MM:SS’格式显示TIME值,但允许使用字符串或数字为TIME列分配值。
DATETIME
日期和时间的组合。
支持的范围是’1000-01-01
00:00:00’到’9999-12-31
23:59:59’。
MySQL以’YYYY-MM-DD
HH:MM:SS’格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
时间戳。范围是’1970-01-01 00:00:00’到2037年。
TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。
如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。
也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。
TIMESTAMP值返回后显示为’YYYY-MM-DD HH:MM:SS’格式的字符串,
显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。
TIME
时间。范围是’-838:59:59’到’838:59:59’。
MySQL以’HH:MM:SS’格式显示TIME值,但允许使用字符串或数字为TIME列分配值。
DATETIME
日期和时间的组合。
支持的范围是’1000-01-01 00:00:00’到’9999-12-31 23:59:59’。
MySQL以’YYYY-MM-DD HH:MM:SS’格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。
Timestamp:时间格式为 类似 2012-11-11 12:23:00 ,默认值为当前时间
time时间格式类似12:23:00 默认值为null
datetime时间格式类似2012-11-11 12:23:00 默认值为null
timestamp
英 ['taimstæmp]
美 ['taimstæmp]
n. 时间戳;时间邮票
dateTime
历法日期和时间
格式表示
结构支持
在mysql中, select*, max(create_ time) from
select*,max(create_time)froma wherecreate_time groupbyuser_id 这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。
mysql中的datetime类型如何格式化输出?
datetime包含毫秒,要格式化输出,用fffDateTime t = DateTime.Now;Console.WriteLine(t.ToString("yyyy-MM-dd hh:mm:ss fff"));注:mysql里面的datetime类型的精确度是可以到1\/ 10 ^ 6 秒的,某些客户端(如navicat for mysql)的显示经常只能看到精确到秒,其实是设计表的时候的配置问题。
mysql 时间字段用什么类弄,长度是多少
mysql时间字段用:Date、Datetime和Timestamp。(1)“Date”数据类型:用于存储没有时间的日期。 Mysql获取并显示此类型的格式为“ YYYY-MM-DD”,支持的时间长度范围是“ 1000-00-00”至“ 9999-12-31”。(2)“Datetime”类型:存储日期和时间的数据。 存储和显示格式为“ YYYY-MM-DD HH:MM:...
mysql中DATETIME,DATE和TIMESTAMP的区别
DATE 类型可用于需要一个日期值而不需要时间部分时。MySQL 以 'YYYY-MM-DD' 格式检索与显示 DATE 值。支持的范围是 '1000-01-01' 到 '9999-12-31'。TIMESTAMP 列类型提供了一种类型,通过它你可以以当前操作的日期和时间自动地标记 Insert 或Update 操作。如果一张表中有多个 TIMESTAMP 列,...
mysql中“datetime”和“timestamp”的区别是什么?
TIMESTAMP列不可以设置值,只能由数据库自动去修改。一个表可以存在多个TIMESTAMP列,但只有一个列会根据数据更新而改变为数据库系统当前值。因此,一个表中有多个TIMESTAMP列是没有意义,实际上一个表只设定一个TIMESTAMP列。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle...
mysql数据库里的日期用timestamp还是datetime好
8. 以后任何时间修改表中的记录时,对应记录的timestamp值会自动被更新为当前的系统时间。结论:timestamp类型适合用来记录数据的最后修改时间,因为只要你更改了记录中其他字段的值,timestamp字段的值都会被自动更新。看完这个比较你就知道用哪个好啦 我们公司一般用datatime,可控性比较强 jdbc查询Mysql数据...
mysql 表字段名称如何设置成time吗
重命名是吗?是的话使用:alter table 表名 change 原字段名 time 字段类型;
mysql中DATETIME,DATE和TIMESTAMP的区别
一、TIMESTAMP 显示格式:YYYY-MM-DD HH:MM:SS 时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59']TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有记录的时候都对这个数据列刷新。TIMESTAMP DEFAULT CURRENT_TIMESTAMP 在创建新记录的时候...
mysql中DATETIME,DATE和TIMESTAMP的区别
DATETIME 日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式显示DATETIME值,但允许使用字符串或数字为DATETIME列分配值。TIMESTAMP[(M)]时间戳。范围是'1970-01-01 00:00:00'到2037年。TIMESTAMP列用于INSERT或UPDATE操作时...
数据库中所有的数据类型?
SQL 用于各种数据库的数据类型:一、MySQL 数据类型:在 MySQL 中,有三种主要的类型:Text(文本)、Number(数字)和 Date\/Time(日期\/时间)类型。1、Text 类型。2、Number 类型。这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED 属性,那么范围将从 0 开始,而...
陀实参茸: DATETIME、DATE和TIMESTAMP,除了DATE用来表示一个不带时分秒的是日期,另外两个都带时分秒.TIMESTAMP还可以精确到毫秒. 1、TIMESTAMP列必须有默认值,默认值可以为“0000-00-00 00:00:00”,但不能为null. 2、...
泸溪县15273152767: mysql中Timestamp,time,datetime 区别?? - ?
陀实参茸: TIMESTAMP[(M)] 时间戳.范围是'1970-01-01 00:00:00'到2037年.TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间.如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间.也可以通过分配一...
泸溪县15273152767: MYSQL 设计表的时候 选的TIMESTAMP 类型来记录时间 但我只想要它记录年月日该怎么设置呢? - ?
陀实参茸: 如果你是用PHP+MySQL的组合 那么建议设置为int(11) 存储时间戳 使用时用PHP的date()函数进行转换,时间戳是精确到秒的,转化成什么格式都可以 date("Y-m-d",$time);//转化为2012-12-06 年月日 这种格式 date("Y-m-d H:i:s",$time);//转化为2012-12-06 14:14:14 年月日时分秒这种格式
泸溪县15273152767: Mysql时间字段格式如何选择,TIMESTAMP,DATETIME,INT? - ?
陀实参茸: 其次,TIMESTAMP类型在默认情况下,insert、update 数据时,TIMESTAMP列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新.第三,TIMESTAMP比较受时区timezone的影响以及MYSQL版本和服务器的SQL MODE的影响 所以一般来说,我比较倾向选择DATETIME,至于你说到索引的问题,选择DATETIME作为索引,如果碰到大量数据查询慢的情况,也可以分区表解决.
泸溪县15273152767: mysql数据库里的日期用timestamp还是datetime好? - ?
陀实参茸: Mysql中经常用来存储日期的数据类型有2种:Date、Datetime.1.Date数据类型:用来存储没有时间的日期.Mysql获取和显示这个类型的格式为“YYYY-MM-DD”.支持的时间范围为“1000-00-00”到“9999-12-31”.2.Datetime类型:存储既...
泸溪县15273152767: mysql timestamp 怎么查询 - ?
陀实参茸: 一、当天或当日插入的数据: 1、传统对比判断:SELECT * FROM `t` WHERE DATE_FORMAT(addTime,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')"); 2、第一点的简写:SELECT * FROM `t` WHERE addTime >= date_format(NOW(),'%Y-%m-%d');
泸溪县15273152767: MySQL的timestamp字段可以使用的范围是多少 - ?
陀实参茸: 范围是从1970-01-01 08:00:01 到 2038-01-19 11:14:07.timestamp类型的起始时间是1970-01-01 00:00:01 UTC,和时区是关系的.如果我没有理解错的话,MySQL将timestamp类型的值保存的时候,会从当前时区转成UTC时间,正好解释了前面1970-01-01 00:00:00或1970-01-01 00:00:01两个值保存时出错的问题了.从当前时区转成UTC时间需要减去『8小时』,结果就不在timestamp类型的范围内了.
泸溪县15273152767: MYSQL - datatime和timestamp的区别 - ?
陀实参茸: MYSQL-datatime和timestamp的区别 date 表示的日期,如2013-03-30,这样的格式; datatime和timestamp表示的是日期加时间,如2013-03-03 23:23:23,这样的; datetime和timestamp相比就是datetime表示的范围比timestamp大得多, datetime 支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59' TIMESTAMP值不能早于1970或晚于2037
泸溪县15273152767: mysql 表中只能使用一次字段类型为timestamp 的吗 - ?
陀实参茸: 是的当一个表中数据类型为timestamp时,只能有一个列用CURRENT_TIMESTAMP设置为default值.考虑用datetime吧
泸溪县15273152767: sql server表中timestamp类型的具体说明?
陀实参茸: timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的.timestamp 一般用作给表行加版本戳的机制.存储大小为 8 字节. 注释Transact-SQL timestamp 数据类型与在 SQL-92 标准中定义的 timestamp 数据类型不...