查看表结构:
desc table_name;
查看表详细结构:
show create table table_name;
SELECT语句:
基本查询:
SELECT 列名 FROM 表名 WHERE 限制条件;
-- example:
select id,name from table_name where age>20;
AND 和 OR 和 BETWEEN
AND:
-- example:
select name,age from table_name where age>20 and id<10;
OR:
-- OR example:
select id,name from table_name where age > 20 or age < 10;
BETWEEN:
select id, name from table_name where age between 25 and 30; --[25,30]
select id, name from table_name where age>=25 and age<=30; --[25,30]
IN 和 NOT IN
select id from table_name where name in ('name1', 'name2');
select id from table_name where name not in ('name1', 'name2');
通配符查询
SQL中的通配符是 _
和 %
。其中 _
代表一个未指定字符,%
代表不定个未指定字符,关键字 LIKE
可用于实现模糊查询,常见于搜索功能中。
- 比如,要只记得电话号码前四位数为1101,而后两位忘记了,则可以用两个
_
通配符代替:
--找出所有phone以1101开头后接两位数字的数据:
select name, age, id from table_name where phone like '1101__';
- 比如只记名字的首字母,又不知道名字长度,则用
%
通配符代替不定个字符:
--找出所有name以J开头的数据:
select name, age, id from table_name where name like 'J%';
结果排序:
排序关键字:**order by**
默认情况下,ORDER BY
的结果是升序排列,而使用关键词 ASC
和 DESC
可指定升序或降序排序。
比如,我们按 salary
降序排列,SQL语句为:
--按照salary降序排列结果
select name, age, id, salary from table_name order by salary desc;
--按照age升序排列结果
select age, id from table_name order by age;
select age, id from table_name order by age asc;
MySQL内置函数和计算
函数名: | COUNT | SUM | AVG | MAX | MIN |
---|---|---|---|---|---|
作用: | 计数 | 求和 | 求平均值 | 最大值 | 最小值 |
- MAX
--选出最大的age
SELECT MAX(age) FROM table_name;
--效果等同于:
SELECT age FROM table_name;
MAX(age);
- MIN
--AS可以作为别名,和php,python中的as效果类似
SELECT MIN(age) AS min_age FROM table_name;
- COUNT
--计算name有多少数量,不包含NULL数据
SELECT COUNT(name) FROM table_name;
子查询
- [ ] TODO
连接查询
- [ ] TODO
网友评论