mysql 中 datetime和 timestamp的区别

我看书上是说存储的格式不同,前者是1999-03-1212:30:12这种类型的,后者则是19990312123012这样子的,可是我实际操作时貌似timestamp也是... 我看书上是说存储的格式不同,前者是1999-03-12 12:30:12这种类型的,后者则是19990312123012这样子的,可是我实际操作时貌似timestamp也是datetime那种显示方式呢,求解 展开
 我来答
丿穷奇灬
高粉答主

2018-03-31 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:267
采纳率:100%
帮助的人:4.3万
展开全部

DATETIME、DATE和TIMESTAMP,除了DATE用来表示一个不带时分秒的是日期,另外两个都带时分秒。TIMESTAMP还可以精确到毫秒。

  1. TIMESTAMP列必须有默认值,默认值可以为“0000-00-00 00:00:00”,但不能为null。

  2. TIMESTAMP列不可以设置值,只能由数据库自动去修改。

  3. 一个表可以存在多个TIMESTAMP列,但只有一个列会根据数据更新而改变为数据库系统当前值。因此,一个表中有多个TIMESTAMP列是没有意义,实际上一个表只设定一个TIMESTAMP列。

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

百度网友596c5240a73
2019-05-16 · TA获得超过3867个赞
知道大有可为答主
回答量:3189
采纳率:30%
帮助的人:204万
展开全部
创建一张表,一种有3个字段:
编号
datetime_info
timestamp_info
datetime_info字段的类型datetime
范围在1000---9999之间
保存时间:1000-11-30
20:42:01没有提示报错
timestamp_info的字段类型是timestamp
范围在1970
--2037
之间
比如:1900-11-30
20:42:01
就会提示报错
如果输入:1970-11-30
20:42:01
就不会报错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sostrong
2011-04-07 · TA获得超过165个赞
知道答主
回答量:156
采纳率:0%
帮助的人:69.4万
展开全部
timestamp有时间范围的限制,目前1970年之前月2037年之后的时间都不能使用timestamp.
而dateTime 支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱可生云数据库
2021-03-15 · MySQL开源数据库领先者
爱可生云数据库
爱可生,金融级开源数据库和数据云服务整体解决方案提供商;优秀的开源数据库技术,企业级数据处理技术整体解决方案提供商;私有云数据库云服务市场整体解决方案提供商。
向TA提问
展开全部
timestamp:占用 4 字节,内部实现是新纪元时间(1970-01-01 00:00:00)以来的秒,那么这种格式在展示给用户的时候就需要做必要的时区转换才能得到正确数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szccxb
推荐于2018-02-23 · TA获得超过153个赞
知道答主
回答量:70
采纳率:0%
帮助的人:26.7万
展开全部
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操作时记录日期和时间。如果你不分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。

TIMESTAMP值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在TIMESTAMP 列添加+0。

注释:MySQL 4.1以前使用的TIMESTAMP格式在MySQL 5.1中不支持;关于旧格式的信息参见MySQL 4.1 参考手册。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式