目录
1.create(新增)
2.retrieve(查询)
1.全列查询:*代表所有;
2.指定列查询:
3.取别名
4.去重--distinct
5.排序--order by 类型 asc
6.条件筛选--where 类型=数值;
7.筛选null--is/not is
8.范围查找between and
9.or和in
10.模糊匹配--like
11.where语句为什么不能使用别名
12.分页查找--limit
3.update(新增)
4.delete(删除)
- mysql的增删查改也叫做CRUD:即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。
1.create(新增)
格式:
insert into 表名 (要插入的类型) values (插入的数据)
单行数据插入:into可以省略,如果所有的成员都要选择那么可省略;
多行数据插入:规则和单行数据插入一样;
1.主键没有冲突就插入,冲突就修改数据:
语法:insert into 表名 values (数据) on duplicate key updata 类型=‘数据’ ...
1.1.两行被影响
1.2.一行被影响
1.3.零行被影响
2.retrieve(查询)
创建一个表
CREATE TABLE exam_result (
id INT,
name VARCHAR(20),
chinese DECIMAL(3,1),
math DECIMAL(3,1),
english DECIMAL(3,1)
);
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
(1,'唐三藏', 67, 98, 56),
(2,'孙悟空', 87.5, 78, 77),
(3,'猪悟能', 88, 98.5, 90),
(4,'曹孟德', 82, 84, 67),
(5,'刘玄德', 55.5, 85, 45),
(6,'孙权', 70, 73, 78.5),
(7,'宋公明', 75, 65, 30);
1.全列查询:*代表所有;
2.指定列查询:
3.取别名
- as可以省略,只是对查询出来的数据计算,不会对原始数据修改;
4.去重--distinct
- 必须放在最前面,也就是selecrt之后
- 是指定列的信息都重复才去重
5.排序--order by 类型 asc
6.条件筛选--where 类型=数值;
运算符筛选--(=,>,<,<=,>=,!=);
7.筛选null--is/not is
8.范围查找between and
- 查找的结果是闭区间
9.or和in
10.模糊匹配--like
% | 匹配多个字符(包括0及以上) |
_ | 匹配1个字符 |
11.where语句为什么不能使用别名
- 因为在where筛选的时候还没有取别名
12.分页查找--limit
3.update(新增)
update 表名 set 类型=修改的数据 指明对象(不指明修改所有的数据);
把语文成绩最低的3个人增加20分;
4.delete(删除)
删除一条数据;
delete删除所有数据
截断表--truncate table 表名; 删除所有数据