mysql怎么设置日期 mysql日期默认设置为当前

怎样在MySQL中操作日期

方法/步骤 select curDate(); #获取当前日期select curTime(); #获取当前时间select now(); #获取当前日期+时间 列举1个天数加减的例子,其他的看英文意思就可以理解了 select date_add(now(), interval 1 day); #当前日期天数+1 select date_add(now(), interval -1 day); #当前日期天数-1 select date_add(now(), interval 1 hour); select date_add(now(), interval 1 minute); select date_add(now(), interval 1 second); select date_add(now(), interval 1 microsecond); select date_add(now(), interval 1 week); select date_add(now(), interval 1 month); select date_add(now(), interval 1 quarter); select date_add(now(), interval 1 year); date_sub与date_add功能整合相反 select date_sub(now(), interval 1 day); #当前日期天数-select date_sub(now(), interval -1 day); #当前日期天数+select date_sub(now(), interval 1 hour); select date_sub(now(), interval 1 minute)select date_sub(now(), interval 1 second)select date_sub(now(), interval 1 microsecond)select date_sub(now(), interval 1 week)select date_sub(now(), interval 1 month)select date_sub(now(), interval 1 quarter)select date_sub(now(), interval 1 year); datediff函数计算两个日期间隔的天数 datediff(date1, date2); #date1 - date2 timediff函数计算两个时间间隔 timediff(time1, time2); #time1 - time2 time1和time2的格式必须要一样,返回时间差 str_to_date(str, format) 字符串转换为日期 select str_to_date('11/09/2014', '%m/%d/%Y'); -- 2014-11-09

我们提供的服务有:成都做网站、网站建设、微信公众号开发、网站优化、网站认证、西城ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的西城网站制作公司

mysql 中怎么设置默认值为系统日期

--

方法一:

由于MySQL目前

字段

默认值

不支持

函数

,所以以create_time

datetime

default

now()

的形式设置默认值是不可能的。代替的

方案

是使用TIMESTAMP类型代替DATETIME类型。

TIMESTAMP列类型自动地用当前的

日期

和时间

标记

INSERT或UPDATE的操作。如果有多个TIMESTAMP列,只有第一个自动更新。

自动更新第一个TIMESTAMP列在下列任何条件下发生:

1.列值没有明确地在一个INSERT或LOAD

DATA

INFILE语句中指定。

2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)

3.你明确地设定TIMESTAMP列为NULL.

4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。

所以把日期类型

选择成timestamp

允许空就可以了

CREATE

TABLE

test

(

uname

varchar(50)

NOT

NULL,

updatetime

timestamp

NULL

DEFAULTCURRENT_TIMESTAMP

ON

UPDATE

CURRENT_TIMESTAMP

)

ENGINE=InnoDB

DEFAULT

CHARSET=utf8;

如果要在navicat下操作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可

如何向mysql数据库中插入日期

java中有date和datetime,mysql中也有date和datetime,这里我们来说说mysql中的date和datetime。

1 mysql中的date和datetime

1.1 DATETIME

类型可用于需要同时包含日期和时间信息的值。MySQL 以:

‘YYYY-MM-DD HH:MM:SS’

格式检索与显示 DATETIME 类型。支持的范围是:

‘1000-01-01 00:00:00’

‘9999-12-31 23:59:59’。

(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。)

1.2 DATE

类型可用于需要一个日期值而不需要时间部分时。MySQL 以

‘YYYY-MM-DD’

格式检索与显示DATE值。支持的范围则是

‘1000-01-01’

‘9999-12-31’。

2 与java数据的交互

能看出来mysql中的date和datetime区别还是挺大的,date没有保存时间。但是java中的date(java.util.Date)记录的还是挺细的,日期和时间都可以记下来,那么现在问题来了,如果想在mysql中存储日期和时间,也就是用datetime,而在数据中应该如何对应呢?

我使用hibernate测了一下,发现当把mysql数据库中设置了datetime,反向工程生成的hbm.xml文件中,使用的是timestamp,如下:

property name="Publishdate" column="publishdate" type="timestamp" not-null="false" length="10" /1

反向生成java的pojo时,生成的还是Date。

由此可见对于mysql中datetime,与java中的date,如果要使二者正确交互,中间要使用timestamp。

如果要在JAVA中直接插入MySql的datetime类型,则可以使用:

Date date = new Date();

Timestamp timeStamp = new Timestamp(date.getTime());12

再用setTimestamp()设置数据库中的“日期+时间”。

这样放入数据库的就是“yyyy-mm-dd hh:mm:ss”格式的数据。

注意,mysql中如果使用date而不是datetime是保存不下“日期+时间”的,只能保存“时间”。

如何在mysql中定义时间格式

Mysql中经常用来存储日期的数据类型有三种:Date、Datetime、Timestamp。

Date数据类型:用来存储没有时间的日期。Mysql获取和显示这个类型的格式为“YYYY-MM-DD”。支持的时间范围为“1000-00-00”到“9999-12-31”。

Datetime类型:存储既有日期又有时间的数据。存储和显示的格式为 “YYYY-MM-DD HH:MM:SS”。支持的时间范围是“1000-00-00 00:00:00”到“9999-12-31 23:59:59”。

Timestamp类型:也是存储既有日期又有时间的数据。存储和显示的格式跟Datetime一样。支持的时间范围是“1970-01-01 00:00:01”到“2038-01-19 03:14:07”。

所有不符合上面所述格式的数据都会被转换为相应类型的0值。(0000-00-00或者0000-00-00 00:00:00)


分享标题:mysql怎么设置日期 mysql日期默认设置为当前
网站路径:http://csdahua.cn/article/hjdcos.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流