-------------+
1 row in set (0.00 sec)
?
注意mysql是从1开始,不是从0开始数数
?
---
?
做匹配
?
mysql> SELECT 'mysql' LIKE 'M%';
+-------------------+
| 'mysql' LIKE 'M%' |
+-------------------+
| 1 |
+-------------------+
1 row in set (0.00 sec)
?
mysql> SELECT * FROM test WHERE username LIKE '%m%';
+----+----------+
| id | username |
+----+----------+
| 1 | Tom |
+----+----------+
?
这里,%代表任意,类似window中的*
?
_代表任意一个字符
?
----数值运算符以及函数
?
几个很通用的函数简单的介绍下
?
CEIL()-向上取整---------FLOOR()-向下取整
?
DIV()-整数除法,也就是结果只有整数
?
MOD()-取余数
?
POWER()-幂运算
?
ROUND()-四舍五入
?
TRUNCATE()-数字截取(不再四舍五入)
?
不是两位参数,就是一位参数,大家自己试试哈
?
----比较运算符与函数
?
---
?
[NOT] BETWEEN...AND...
?
mysql> SELECT 123 BETWEEN 2 AND 123123;
+--------------------------+
| 123 BETWEEN 2 AND 123123 |
+--------------------------+
| 1 |
+--------------------------+
?
---
?
[NOT] IN(),给定几个区间来做判断
?
mysql> SELECT 123 IN(123,23,12);
+-------------------+
| 123 IN(123,23,12) |
+-------------------+
| 1 |
+-------------------+
1 row in set (0.00 sec)
?
mysql> SELECT 123 IN(120,23,12);
+-------------------+
| 123 IN(120,23,12) |
+-------------------+
| 0 |
+-------------------+
?
---
?
IS [NOT] NULL,判断是空么
?
mysql> SELECT 0 IS NULL;
+-----------+
| 0 IS NULL |
+-----------+
| 0 |
+-----------+
?
常用在检查是否为空
?
mysql> SELECT * FROM test WHERE username IS NULL;
Empty set (0.00 sec)
?
----日期时间函数
?
---
?
NOW(),返回当时的日期和时间
?
CURDATE(),CURTIME()
?
---
?
DATE_ADD(),当前日期的变化
?
mysql> SELECT DATE_ADD('2012-2-23', INTERVAL 234 DAY);
+-----------------------------------------+
| DATE_ADD('2012-2-23', INTERVAL 234 DAY) |
+-----------------------------------------+
| 2012-10-14 |
+-----------------------------------------+
1 row in set (0.00 sec)
?
mysql> SELECT DATE_ADD('2012-2-23', INTERVAL -234 DAY);
+------------------------------------------+
| DATE_ADD('2012-2-23', INTERVAL -234 DAY) |
+------------------------------------------+
| 2011-07-04 |
+------------------------------------------+
1 row in set (0.00 sec)
?
---
?
DATEDIFF(),得到两个日期间的差值
?
mysql> SELECT DATEDIFF('2304-2-2','1234-3-22');
+----------------------------------+
| DATEDIFF('2304-2-2','1234-3-22') |
+----------------------------------+
| 390760 |
+----------------------------------+
1 row in set (0.02 sec)
?
---
?
DATE_FORMAT(),日期的格式化,日期的格式是可以选的,也就是说日期的格式转换
?
mysql> SELECT DATE_FORMAT('2013-2-22','%m/%d/%y');
+-------------------------------------+
| DATE_FORMAT('2013-2-22','%m/%d/%y') |
+-------------------------------------+
| 02/22/13 |
+-------------------------------------+
1 row in set (0.00 sec)
?
----信息函数
?
USER(),VERSION(),DATEBASE(),CONNECTION_ID(),LAST_INSERT_ID()
?
----聚合函数
?
只有一个返回值是他们的特点
?
AVG(),COUNT(),MAX(),MIN(),SUM()
?
直接调用可能会有错误,一般是针对数据表的字段进行的操作
?
mysql> SELECT AVG(id) FROM test;
+---------+
| AVG(id) |
+---------+
| 1.5000 |
+---------+
?
----加密函数
?
MD5(),PASSWORD()
?
mysql> SELECT MD5('HELLO