运算符
1.算数运算符
加(+):mysql> SELECT 1+1;
减(-):mysql> SELECT 3-2;
乘(*):mysql> SELECT 2*3;
除(/):mysql> SELECT 5/3;
商(DIV):mysql> SELECT 5 DIV 2;
模(%或MOD()):mysql> SELECT 5%2 或 mysql> SELECT MOD(5,2);
2.比较运算符
等于(=):mysql> SELECT 1=0;
不等于(!=或<>):mysql> SELECT 1<>0;
安全等于(<=>):mysql> SELECT 1<=>1;
小于(<):mysql> SELECT ‘a’<’b’;
小于等于(<=):mysql> SELECT ‘abc’<=’a’;
大于(>):mysql> SELECT ‘a’>’b’;
大于等于(>=):mysql> SELECT ‘a’>=’b’;
BETWEEN:mysql> SELECT 10 between 10 and 20;
IN:mysql> SELECT 1 in (1,2,3);
IS NULL:mysql> SELECT 0 IS NULL;
IS NOT NULL:mysql> SELECT 0 IS NOT NULL;
LIKE:mysql> SELECT 123456 LIKE ‘123%’;
REGEXP:mysql> SELECT ‘abcdef’ REGEXP ‘ab’;
3.逻辑运算符
非(NOT 或 !):
mysql> SELECT NOT 0,NOT 1,NOT NULL;
mysql> SELECT !0, !1, !NULL;
与(AND 或 &&):
mysql> SELECT (1 AND 1), (0 AND 1), (3 AND 1), (1 AND NULL);
mysql> SELECT (1 && 1), (0 && 1), (3 && 1), (1 && NULL);
或(OR或 ||):
mysql> SELECT (1 OR 0), (0 OR 0), (1 OR NULL), (1 OR 1), (NULL OR NULL);
mysql> SELECT (1 || 0), (0 || 0), (1 || NULL), (1 || 1), (NULL || NULL);
异或(XOR 或 ^):
mysql> SELECT (1 XOR 1), (0 XOR 0), (1 XOR 0), (0 XOR 1), (NULL XOR 1);
mysql> SELECT (1 ^ 1), (0 ^ 0), (1 ^ 0), (0 ^ 1), (NULL ^ 1);
4.位运算符
位与(&):
mysql> SELECT 2&3;
mysql> SELECT 2&3&4;
位或(|)
mysql> SELECT 2|3;
位异或(^)
mysql> SELECT 2^3;
位取反(~)
mysql> SELECT ~1,~18446744073709551614;
位右移(>>)
mysql> SELECT 100>>3;
位左移(<<)
mysql> SELECT 100<<3;
5.运算符优先级顺序
最高优先级:=
01. ||, OR, XOR
02. &&, AND
03. BETWEEN, CASE, WHEN, THEN, ELSE
04. =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
05. |
06. &
07. <<, >>
08. -, +
09. *, /, DIV, %, MOD
10. ^
11. - (unary minus), ~ (unary bit inversion)
12. !, NOT
最低优先级:BINARY, COLLATE
函数
1.字符函数:
SELECT CONCAT(employee_id,',',first_name) from employees; --在数据库中将不同的字符连接在一起; SELECT CONCAT_WS('|',employee_id,first_name) FROM employees; --以我们制定的格式给用户显示出来; SELECT FORMAT(1200000,2); --数字格式化; SELECT LOWER("LLLLAAAaaaSSss"); --将所有的字母转换为小写; SELECT LOWER("LLLLAAAaaaSSss"); --将所有的字母转换为大写; SELECT LEFT('Mysql',2); --获取左侧字符 SELECT RIGHT('Mysql',3); --获取右侧字符 SELECT LENGTH(“tom") --获取字符串长度 SELECT TRIM(“tom ") --删除前后空格 SELECT SUBSTRING("Mysql",1,2) --字符串截取,表示从第一个截取 截取两个(在程序中从第0开始,在MySql中从第一个开始) SELECT REPLACE("!!My!!Sql!!","!","") --字符串替换 SELECT * FROM employees WHERE first_name LIKE '%Y%'; --模式匹配 |
2.数值运算符和函数:
SELECT CEIL(3.01); SELECT FLOOR(3.99); SELECT 4 DIV 3; SELECT 5 MOD 2; SELECT ROUND(3.52); SELECT POWER(3,3); SELECT TRUNCATE(188.099,2); |
3.比较运算符和函数:
SELECT 25 BETWEEN 1 AND 25; --表示是否在两个数之间 1代表为真,0代表为假 |
4.日期时间函数:
SELECT NOW(); SELECT CURDATE(); SELECT CURTIME(); SELECT DATE_ADD('2014-11-09',INTERVAL 10 MONTH); --可以进行年月日星期都可以 SELECT DATEDIFF('2015-11-11','2011-11-01'); SELECT DATE_FORMAT('2015-11-11','%Y/%m/%d'); |
5.MySql信息函数:
SELECT CONNECTION_ID(); SELECT datebase(); SELECT LAST_INSERT_ID(); SELECT USER(); SELECT VERSION(); |
6.聚合函数:
SELECT AVG(salary) FROM employees; select count(salary) from employees; |
7.加密函数:
SELECT MD5("12356"); SELECT PASSWORD("admin") |