insert into 表名 values(1,‘lry‘,18,190,200501,‘1‘);
?
# 插入数据
# 语法一: 插入完整数据(顺序插入)
# 注意: 完整插入和指定字段插入时字段数量与值得数量必须对应,非空字段必须有值,并且值类型要与字段类型一致
# 单表查询语法:
select distinct 字段1, 字段2,...from 表名
where 条件
group by 字段
having 筛选
order by 字段
limit限制条数
# 先了解: select 字段... from 表名 where 条件;
1). from 表名: 先找到表
2). where 条件: 根据条件筛选数据
3). select 字段: 显示出筛选出的数据的指定字段
?
?
# 关键字执行优先级
from > where > group by > select > distinct > having > order by > limit
(从哪里分组选择,去重有排序限制)
?
# 说明:
1. from 先找到某张表
2. 用where指定的条件进行查找
3. group by对查找找到的结果进行分组,如果没有group by则作为一组
4. select出指定的字段并去重
5. 将结果进行order by排序
6. 限制结果的显示条数
# 简单查询基础
1). select 字段 from 表 where 条件;
- 字段可以任选
- 全部字段可以使用*代替
- 字段可以起别名
- 字段可以进行运算
- 条件可以使用比较运算和逻辑运算
2). 比较运算符
大于:>
小于:<
大于等于:>=
小于等于:<=
不等于:!=
3). 逻辑运算符:
and
or
not
4). 几种常见情形:
1). 等值查询:
select * from 表名 where id=1;
查询id为1的学生的所有字段信息
2). 条件比较查询:
select * from 表名 where id > 3;
查询id大于3的所有学生的所有字段信息
3). 比较运算与逻辑运算查询:
select * from 表名 where id > 5 and height > 170;
查询id大于5并且身高大于170的所有学生信息
4). between...and的使用
select * from 表名 where height between 170 and 180;
# 注意: between and
查询身高在170到180之间的所有数据
5). 成员运算:
select * from 表名 where id in(1,3,2,4);
查询id值为1,2,3,4的所有学生信息
6). 空与非空判断:
select * from 表名 where height is null;
查询身高数据为空的所有学生信息
select * from 表名 where height is not null;
查询身高数据不为空的所有学生信息
# 排序
1). 语句示例:
select * from 表名 order by height desc;
select 字段 from 表名 order by (要排序的字段名)升降方法;
2). 说明:
1).from stu 指定从stu中查找
2). select * 指定显示记录的所有字段信息
3). order by代表排序为依据身高排序,desc指定排序为从打到小排序,asc从小到大排序。
# 分页
1). 语句示例:
select * from stu limit 0.3;
2).说明:
1):limit m,n代表从第m条开始,向后偏移n条(m称作为起始位置,n称作为偏移量)
2):分页使用数据量较大时的部分查询,提高查询效率
# 分组:
1). 语句示例:
select * from stu where height>150 group by gender;
2). 说明:
1):group by为分组,查询时会根据分组查询出分组字段的第一条数据,所以在实际使用时意义不大。
2):group by与count()函数配合使用,可以查询出指定分类下的数据条数,示例如如下:
select gender, count(*) from stu group by gender;
3):group_concat()结合group by使用: group_从cat()可以将分组下的数据的指定字段放在一起
select gender,group_concat(name) as ‘name‘ from stu group by gender;
# 过滤
1). 语句示例:
select gender, group_concat(age) as age,group_concat(name) as name, count(*)
from stu
where height>120
group by gender;
select gender, group_concat(age) as age, group_concat(name) as name, count(*) as total
from stu
where height>120
group by gender
having total>2;
2) 说明:
1).having用于筛选查询结果
2).where也可以用于查询结果的筛选,但由于执行顺序为where> group by > having,即where不能使用group by后的字段,故使用having来弥补group by查询结果的筛选功能
# 聚合函数
1) 聚合函数有:
max():最大值
min ():最小值
count():统计计数
sum():求和
avg():平均值
2) 语句示例
1). select max(age) from stu; # 查询学生中最大的年龄
2). select min(age) from stu; # 查询学生中最小的年龄
3). select count(*) from stu; # 查询学生总数
4). select sum(age) from stu; # 查询学生年龄的总和
5). select avg(age) from stu; # 查询所有学生年龄的平均值
# 模糊查询
1) like模糊查询:使用like关键字配合通过
配符进行模糊查询
1).语句示例:select * from stu where name like ‘l%‘
2). 通配符: %(任意个任意字符),_(任意一个字符),[...](字符组),[!...]或[^...](非字符组)
2).正则模糊查询: 利用正则进行模糊查询
1)语句示例:
select * from stu where name regexp ‘l.*‘;
?
原文:https://www.cnblogs.com/lry250/p/14848126.html