语法结构
-- ---查询所有的内容
select * from 表名;
-- 查询指定列的内容
select 列名 ,列名 from 表名;
-- ---别名查询.使用的关键字是as (as可以省略的).
select * from 表名 as 表别名自定义;
-- --- 列别名:
select 列名 ,列名 as 列别名自定义 from 学生表;
-- ---去掉重复值.
select distinct 列名 from 表名;
-- ---查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select 列名+10 别名 from 表名;
-- ---模糊查询 %用来匹配任意字符 下划线匹配单个字符
select * from 列名 where like '要查询的内容';
select * from 列名 where like '_要查询的内容%';
语法案例
-- ---查询所有的内容
select * from 学生表;
-- ---查询指定列的内容
select id ,birth from 学生表;
-- ----- 别名查询.使用的关键字是as (as可以省略的).
select * from 学生表 as p;
-- --- 列别名:
select id as 序号id from 学生表;
-- --- 去掉重复值 可以把if换成*
select distinct id from 学生表;
-- ---查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select id+10 别名 from 学生表;
算数运算符
算数运算符 | 说明 |
---|---|
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/或DIV | 除法运算,返回商 |
%或MOD | 求余运算,返回余数 |
IS NUL 或 ISNULL | 判断一个值是否为NULL |
IS NOT NULL | 判断一个值是否不为NULL |
like | 模糊匹配 |
逻辑运算符
逻辑运算符 | 说明 |
---|---|
NOT 或者 ! | 逻辑非 |
AND 或者 && | 逻辑与 |
OR 或者 || | 逻辑或 |
XOR | 逻辑异或 |
语法结构
asc代表升序,desc代表降序,如果不写默认升序
order by用于子句中可以支持单个字段,多个字段,表达式,函数,别名
order by子句,放在查询语句的最后面。LIMIT子句除外
select * from 表名 order by 列名 asc;
select * from 表名 order by 列名 desc;
语法案例
select * from 学生表 order by id;
select * from 学生表 order by id asc;
select * from 学生表 order by id desc;
聚合函数 | 作用 |
---|---|
cont() | 统计指定列不为NULL的记录行数; |
sum() | 计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为o |
max() | 计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算; |
min() | 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算; |
avg() | 计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为o |
语法结构
select count(列名) from 表名;
-----查询大于200的总个数
select count(列名) from 表名 where 列名>200 ;
语法案例
select count(id) from 学生表;
--------查询大于200的总个数
select count(id) from 表名 where id>200 ;
分组查询是指使用group by字句对查询信息进行分组。
分组之后对统计结果进行筛选的话必须使用having,不能使用where
where子句用来筛选 FROM子句中指定的操作所产生的行
group by子句用来分组WHERE子句的输出。
having子句用来从分组的结果中筛选行
语法结构
select count(列名) from 表名 group by 列名;
--只显示大于4的内容
select count(列名) 列名 from 表名 group by 列名 having 列名>4;
语法案例
select count(id) from 学生表 group by id;
--只显示大于4的内容
select count(id) id from 学生表 group by id having id>2;
limit分页查询在项目开发中常见,由于数据量很大,显示屏长度有限,因此对数据需要采取分页显示方式。例如数据共有30条,每页显示5条,第一页显示1-5条,第二页显示6-10条。
语法结构
-- m:整数,表示从第几条索引开始,计算方式(当前页-1) *每页显示条数
-- n:整数,表示查询多少条数据
select * from 表名 limit m,n
语法案例
-- 分页查询 查询前3条数据
select * from 学生表 limit 3;
-- 分页查询 查询3到5条数据
select * from 学生表 limit 3,5;
语法结构
inser into 表1 select * from 表2
语法案例
把表2插入到表1
inser into 表1 select * from 表2;
语法结构
select 'abc' regexp 'a$';
语法案例
select * from 表名 where regexp '^小明';