select current_date();+----------------+| current_date() |+----------------+| 2017 - 11 - 19 |+----------------+
获得时分秒:
select current_time();+----------------+| current_time() |+----------------+| 13 :51:21 |+----------------+
获得时间戳:
lect current_timestamp();+---------------------+| current_timestamp() |+---------------------+| 2017 - 11 - 19 13 :51:48 |+---------------------+
在日期的基础上加日期:
select date_add( '2017-10-28' , interval 10 day);+-----------------------------------------+| date_add( '2017-10-28' , interval 10 day) |+-----------------------------------------+| 2017 - 11 - 07 ??????????????????????????????? |+-----------------------------------------+
在日期的基础上减去时间:
select date_sub( '2017-10-1' , interval 2 day);+---------------------------------------+| date_sub( '2017-10-1' , interval 2 day) |+---------------------------------------+| 2017 - 09 - 29 ???????????????????????????? |+---------------------------------------+
计算两个日期之间相差多少天:
select datediff( '2017-10-10' , '2016-9-1' );+------------------------------------+| datediff( '2017-10-10' , '2016-9-1' ) |+------------------------------------+|? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 404 |+------------------------------------+
create table tmp(id int primary key auto_increment,birthday date);
添加当前日期:
insert into tmp(birthday) values(current_date()); ?
mysql> select * from tmp;+----+------------+| id | birthday |+----+------------+| 1 | 2017 - 11 - 19 |+----+------------+
mysql> create table msg (id int primary key auto_increment,content varchar ( 30 ) not null ,sendtime datetime);
插入数据
mysql> insert into msg(content,sendtime) values ( 'hello1' , now());mysql> insert into msg(content,sendtime) values ( 'hello2' , now());mysql> select * from msg;+----+---------+---------------------+| id | content | sendtime |+----+---------+---------------------+| 1 | hello1 | 2017 - 11 - 19 14 :12:20 || 2 | hello2 | 2017 - 11 - 19 14 :13:21 |+----+---------+---------------------+
显示所有留言信息,发布日期只显示日期,不用显示时间 ?
select content,date(sendtime) from msg; ?
请查询在2分钟内发布的帖子
select * from msg where date_add(sendtime, interval 2 minute) > now();理解:------------------------------|-----------|-------------|------------------>????????????????????????????????初始时间 now() 初始时间+ 2 min ?
charset(str) | 返回字符串字符集 |
const(string2[,...]) | 连接字符串 |
instr(string,substring) | 返回substring在string中出现的位置,没有返回0 |
ucase(string2) | 转换成大写 |
lcase(string2) | 转换成小写 |
left(string2,length) | 从string2中的左边起取length个字符 |
right(string2,length) | 从string2中的右边起取length个字符 |
length(string) | string的长度 |
replace(str,search_str,replace_str) | 在str中用replace_str替换search_str |
strcmp(string1,string2) | 逐字符比较两字符串大小 |
substring(str,position [,length]) | 从str的position开始,取length个字符 |
ltrim(string)? rtrim(string) trim(string) | 去除前空格或后空格 |
select user();
md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串
select md5('admin') ?
+----------------------------------+| md5( 'admin' ) |+----------------------------------+| 21232 f297a57a5a743894a0e4a801fc3 |+----------------------------------+
database()显示当前正在使用的数据库
select database(); ?
password()函数,MySQL数据库使用该函数对用户加密
select password( 'root' );+-------------------------------------------+| password( 'root' ) |+-------------------------------------------+| * 81 F5E21E35407D884A6CD4A731AEBFB6AF209E1B |+-------------------------------------------+
ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
select ifnull( 'abc' , '123' );+----------------------+| ifnull( 'abc' , '123' ) |+----------------------+| abc |+----------------------+1 row in set ( 0.01 sec)select ifnull( null , '123' );+---------------------+| ifnull( null , '123' ) |+---------------------+| 123 |+---------------------+1 row in set ( 0.00 sec)