全国二级建造师注册信息查询网站河南品牌网站建设
🔥博客主页🔥:【 坊钰_CSDN博客 】
欢迎各位点赞👍评论✍收藏⭐
目录
1. CRUD 简介
2. Create -- 新增
2.1 语法
2.2 练习
3. Retrieve -- 检索
3.1 Select -- 查询
3.1.1 全列查询
3.1.2 指定列查询
3.1.3 表达式查询
3.1.4 为结果命名
3.1.5 为结果去重
3.1.6 Select 注意事项
3.2 Where -- 条件查询
3.2.1 语法
3.2.2 示例
3.2.2.1 限制条件查询
3.2.2.2 范围查询
3.2.2.3 模糊查询
3.2.2.4 NULL-- 查询
3.3 Order by -- 排序
3.3.1 语法
3.3.2 排列示例
3.4 分页查询
3.4.1 语法
3.4.2 分页示例
3.5 Update -- 修改
3.5.1 语法
3.5.2 修改示例
3.6 Delete -- 删除
4. 小结
1. CRUD 简介
在数据库中的操作,增删查改是最基本的操作,简称 CRUD
Create -- 新增Retrieve -- 读取Update -- 更新Delete -- 删除
2. Create -- 新增
那么在一张表中,如何插入数据呢?
2.1 语法
insert into table——name 列名 value 数据值
- 这是较简略的写法,后续还有各种语法组装在一起,后续讲解
2.2 练习
创建一张考试成绩表,如下:
-- 使用库
use store;-- 创建一张成绩表
create table if not exists exam(id bigint comment '序号',name varchar(20) comment '学生姓名',chinese float comment '语文成绩',math float comment '数学成绩',english float comment '英语成绩'
);-- 插入数据
insert into exam (id,name,chinese,math,english) value (1,'唐三藏', 67, 80, 92),(2,'孙悟空', 87, 78, 77),(3,'猪悟能', 88, 98, 90),(4,'沙和尚', 85, 78, 80),(5,'曹孟德', 82, 84, 67),(6,'刘玄德', 55, 85, 45),(7,'孙权', 70, 73, 78);
先看表的内容: (具体语句在代码中,不作过多讲解)
3. Retrieve -- 检索
那我们如何查看表中的数据呢?
3.1 Select -- 查询
-- 语法
mysql> select 列名 from 表名;
3.1.1 全列查询
- 使用 * 可进行全列查询
mysql> select * from exam;
3.1.2 指定列查询
- 使用要查的列名去查询,例:查询同学的数学,英语成绩
mysql> select id,name,math,english from exam;
3.1.3 表达式查询
- 例:把所有同学的英语成绩加10分
mysql> select id,name,english + 10 from exam;
- 例:查询所有同学的总分
mysql> select id,name,chinese+math+english from exam;
3.1.4 为结果命名
- 为总分命名,以上述为例
mysql> select id,name,chinese+math+english 总分 from exam;
3.1.5 为结果去重
- 去除重复的数学成绩
mysql> select distinct math from exam;
3.1.6 Select 注意事项
- select 查询时,如果不加限制条件,会查询服务器中所有数据,导致服务器资源的浪费
- 生产环境中最好不要写出不带限制条件的查询语句
3.2 Where -- 条件查询
有限制条件的查询如何写呢?
3.2.1 语法
mysql> select 列名 from exam where 条件;
3.2.2 示例
3.2.2.1 限制条件查询
- 查询英语成绩不及格的同学
mysql> select id,name,english from exam where english < 60;
- 总分在200分以下的同学
mysql> select id,name,chinese + math + english 总分 from exam where chinese + math + english < 200;
3.2.2.2 范围查询
- 查询语文成绩在【80,90】的同学
mysql> select id,name,chinese from exam where chinese between 80 and 90;
- 查询数学成绩为 78 或 79 或 98 的同学
mysql> select id,name,math from exam where math in (78, 79, 98);
3.2.2.3 模糊查询
- 查询所有姓孙的同学
mysql> select * from exam where name like '孙%';
- 查询所有姓孙且名字只有2个字的同学
mysql> select * from exam where name like '孙_';
3.2.2.4 NULL-- 查询
写入一个数学成绩为 null 的同学
-- 插入数学成绩为null insert into exam (id,name,chinese,math,english) value (1, '赵云', 78, null, 88);
- 查询数学成绩不为空的同学
mysql> select id,name,math from exam where math is not null;
- NULL 与任何值进行计算都为 NULL
mysql> select id,name,chinese+math+english '总分' from exam;
3.3 Order by -- 排序
在数据库中如何排序呢?
3.3.1 语法
-- 升序(从小到大)
ASC-- 降序(从大到小)
DESC-- 默认为 ASCmysql> select 列名 from exam where 条件 order by 排序;
3.3.2 排列示例
- 按数学成绩降序查询
mysql> select name,math from exam order by math desc;
- 总分降序查询
mysql> select name,chinese + math + english 总分 from exam order by 总分 desc;
3.4 分页查询
如果数据库中数据较多,那么我们就要进行分页查询
3.4.1 语法
-- 从 0 开始,筛选 num 条结果
mysql> select 列名 from exam where 条件 order by 排序 limit num;-- 从 start 开始,筛选 num 条结果
mysql> select 列名 from exam where 条件 order by 排序 limit start,num;-- 从 start 开始,筛选 num 条结果
mysql> select 列名 from exam where 条件 order by 排序 limit num offset start;
3.4.2 分页示例
- 按一页有3行数据来查
mysql> select * from exam limit 0,3;
3.5 Update -- 修改
数据库中数据信息如果错误,如何修改呢?
3.5.1 语法
update table_name set [up_options];
3.5.2 修改示例
- 将唐三藏数学成绩改为90分
mysql> update exam set math = 90 where name = '唐三藏';
- 将所有同学数学都乘以2
mysql> update exam set math = math * 2;
3.6 Delete -- 删除
删除是一种非常危险的操作,不建议操作
- 删除赵云的数据
mysql> delete from exam where name = '赵云';
4. 小结
以上就是对MySQL增删查改的了解,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持