您的位置:首页 > 数据库 > MySQL

mysql研究学习:(偶尔更新中。。)

2011-12-29 14:38 134 查看
1,

mysql 中,计算2个datetime类型的字段,相减得到的分钟数:两个时间相加减(除以60为了得到分钟,直接想减去,是得到了秒):

SELECT (UNIX_TIMESTAMP('2012-02-21 09:00:00')-UNIX_TIMESTAMP('2012-02-21 08:30:00'))/60

------------------------------------------------------

数据库连接不再说,以下均为一些基本操作或者一些需要了解的知识点:

1,批量导入和导出数据:转载+转载:MySQL批量导出、导入文本数据/合并文本文件等;

2,在ms sql server中或access中,若要查询前10条记录,使用top 10即可,但在mysql中不支持这个写法,它用limit 10。

我们可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。

LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下:

SELECT * FROM MYTABLE ORDER BY AFIELD LIMIT offset, recnum

其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例:

select * from mytable order by afield limit 2, 5

3,select
* from yourTablewhere date(dateColumn)=curdate();
查询今天

sqlserver:INSERT INTO Leaf(TodayTime,TimesToday) VALUES(getdate(),0)

mysql:INSERT INTO Leaf(TodayTime,TimesToday) VALUES(curdate(),0)

select CONVERT(varchar(10), getDate(),120) --2009-05-15 13:32:53这样子的格式;

select convert(char(8),getdate(),112) ----20020101

select convert(char(8),getdate(),108) ---06:05:05

2012-01-09: select TodayTime from Leaf where DATE(TodayTime)=CURDATE()

加一秒:

若位于另一端的表达式是一个日期或日期时间值 , 则INTERVAL expr type只允许在 +操作符的两端。对于 –操作符, INTERVALexpr type只允许在其右端,原因是从一个时间间隔中提取一个日期或日期时间值是毫无意义的。 (见下面的例子)。

mysql> SELECT '1997-12-31 23:59:59' + INTERVAL 1 SECOND;

-> '1998-01-01 00:00:00'

加一天:select DATE(HotTime + INTERVAL 1 day) from Leaf

mysql> SELECT DATE_ADD('1997-12-31 23:59:59',

-> INTERVAL 1 DAY);

-> '1998-01-01 23:59:59'

3,

用于日期值的函数通常会接受时间日期值而忽略时间部分。而用于时间值的函数通常接受时间日期值而忽略日期部分。

返回各自当前日期或时间的函数在每次询问执行开始时计算一次。这意味着在一个单一询问中,对诸如NOW() 的函数多次访问总是会得到同样的结果(未达到我们的目的,单一询问也包括对存储程序或触发器和被该程序/触发器调用的所有子程序的调用 )。这项原则也适用于 CURDATE()、 CURTIME()、 UTC_DATE()、
UTC_TIME()、UTC_TIMESTAMP(),以及所有和它们意义相同的函数。

CURRENT_TIMESTAMP()、 CURRENT_TIME()、 CURRENT_DATE()以及FROM_UNIXTIME()函数返回连接当前时区内的值,这个值可用作time_zone系统变量的值。此外, UNIX_TIMESTAMP()假设其参数为一个当前时区的时间日期值。请参见5.10.8节,“MySQL服务器时区支持”。

以下函数的论述中返回值的范围会请求完全日期。 若一个日期为“零” 值,或者是一个诸如'2001-11-00'之类的不完全日期, 提取部分日期值的函数可能会返回 0。 例如, DAYOFMONTH('2001-11-00')会返回0。

ADDDATE(date,INTERVAL expr type) ADDDATE(expr,days)

当被第二个参数的INTERVAL格式激活后, ADDDATE()就是DATE_ADD()的同义词。相关函数SUBDATE()则是DATE_SUB()的同义词。对于INTERVAL参数上的信息 ,请参见关于DATE_ADD()的论述。

mysql> SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY);

-> '1998-02-02'

4,ORDER BY TimesDESC LIMIT 0,8 注意sql之间的一些顺序问题

5,``,有关键字的时候加··符号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: