MySQL learning notes
运算符
xor
One or the other (but not both)
round
round(gdp/1000000000,2)
取到2位小数round(gdp/1000000000,-3)
取到nearst 1000
LEFT(name,1)
选出开头的几个字母
不等于 <>
,!= ,<=>
- <> 或 != 只能判断基本数据类型,不包括null
- is 关键字只能判断null
- <=> 既能判断null 又能判断 基本数据类型
SELECT DISTINCT
返回唯一不同的值
SELECT DISTINCT column1, column2, ...
FROM table_name;
UNION 合并两个或多个 SELECT 语句的结果
- UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同
- 默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL
WHERE 中运算符
NOT
非
select * from emp where not sal > 1500;
is null
空值判断
Select * from emp where comm is null;
LIKE 粗略查找
WHERE name LIKE 'B%'
来找出以B开头的名字WHERE name LIKE '%B'
来找出以B结尾的名字WHERE name LIKE '%B%'
来找出包括B的名字WHERE name LIKE '%B%B%'
来找出包括两个以上B的名字WHERE name LIKE '_n%'
以n为第二个字母,'_'为万用字母元位WHERE name LIKE '____'
找出名字为4个字母的- 顯示所有國家名字,其首都是國家名字加上”City”
SELECT name FROM world WHERE capital LIKE concat(name, ' City')
通配符
%
选取 url 包含模式 “oo” 的所有网站:
SELECT * FROM Websites
WHERE url LIKE '%oo%';
_
选取 name 以 “G” 开始,然后是一个任意字符,然后是 “o”,然后是一个任意字符,然后是 “le” 的所有网站
SELECT * FROM Websites
WHERE name LIKE 'G_o_le';
[ ]
选取 name 以 “G”、“F” 或 “s” 开始的所有网站
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]'; --REGEXP 是正则表达式
选取 name 以 A 到 H 字母开头的网站:
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';
选取 name 不以 A 到 H 字母开头的网站:
SELECT * FROM Websites
WHERE name REGEXP '^[^A-H]';
BETWEEN
选取 date 介于 ‘2016-05-10’ 和 ‘2016-05-14’ 之间的所有访问记录:
SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND &