查看数据库管理员root@localhost的权限:
mysql> show grants for root@localhost;
+-------------------------------------------------------------------------------
---------------------------------------------------------+
| Grants for root@localhost
|
+-------------------------------------------------------------------------------
---------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION
|
+-------------------------------------------------------------------------------
---------------------------------------------------------+
2 rows in set (0.00 sec)
mysql>
查看MySQL的默认字符集:
show variables like '%character%';
show variables like '%collation%';
代码:
Use data1;
create table t_1(
id int not null auto_increment,
name varchar(30) not null,
shijian1 datetime,
shijian2 datetime,
primary key (id)
);
使用SQLyog查看库data1中的表t_1的表结构:
注释:在TIMESTAMPDIFF()函数里,如果第一个日期大于第二个日期,返回的结果会是负数。
查询两个日期之间的相隔月数:( 不足一个月的话,返回的结果会是0 )
USE data1;
SELECT NAME,shijian1,shijian2,TIMESTAMPDIFF(MONTH,shijian1,shijian2) AS 相隔月数 FROM t_1;
注释:在TIMESTAMPDIFF()函数里,如果第一个日期大于第二个日期,返回的结果会是负数。
查询两个日期之间的相隔年数:( 不足一年的话,返回的结果会是0 )
Use data1;
SELECT name,shijian1,shijian2,TIMESTAMPDIFF(YEAR,shijian1,shijian2) AS 相隔年数 FROM t_1;
注释:在TIMESTAMPDIFF()函数里,如果第一个日期大于第二个日期,返回的结果会是负数。
查询两个日期之间相差超过2年的记录:
Use data1;
SELECT name,shijian1,shijian2 FROM t_1 WHERE TIMESTAMPDIFF(YEAR,shijian1,shijian2) > 2
注释:在TIMESTAMPDIFF()函数里,如果第一个时间大于第二个时间,返回的结果会是负数。
查询两个时间之间相差大于240个小时的记录:
Use data1;
SELECT name,shijian1,shijian2,TIMESTAMPDIFF(HOUR,shijian1,shijian2) AS 相隔小时数 FROM t_1 WHERE TIMESTAMPDIFF(HOUR,shijian1,shijian2) > 240;
查询两个时间之间相差大于或等于240个小时的记录:
Use data1;
SELECT name,shijian1,shijian2,TIMESTAMPDIFF(HOUR,shijian1,shijian2) AS 相隔小时数 FROM t_1 WHERE TIMESTAMPDIFF(HOUR,shijian1,shijian2) >= 240;
查询两个时间之间相差小于3个小时的记录:
Use data1;
SELECT name,shijian1,shijian2,TIMESTAMPDIFF(HOUR,shijian1,shijian2) AS 相隔小时数 FROM t_1 WHERE TIMESTAMPDIFF(HOUR,shijian1,shijian2) < 3;
注释:在TIMESTAMPDIFF()函数里,如果第一个时间大于第二个时间,返回的结果会是负数。
查询两个时间之间的相隔秒钟数:
Use data1;
SELECT name,shijian1,shijian2,TIMESTAMPDIFF(SECOND,shijian1,shijian2) AS 相隔秒钟数 FROM t_1;
注释:在TIMESTAMPDIFF()函数里,如果第一个时间大于第二个时间,返回的结果会是负数。
给用户李丽的字段shijian2加大21年:
USE data1;
UPDATE t_1 SET shijian2 = DATE_ADD(shijian2,INTERVAL 21 YEAR) WHERE NAME = '李丽';
SELECT name,shijian2 FROM t_1;