当前位置:网站首页>MySQL表sql语句增删查改_查询
MySQL表sql语句增删查改_查询
2022-08-11 09:49:00 【华为云】
查询(Retrieve)
我们插入表中的数据如何查看呢?
- 查看表中全部数据
SQL语句
select * from 表名;
-- 通常情况下不建议使用 * 进行全列查询-- 1. 查询的列越多,意味着需要传输的数据量越大;-- 2. 可能会影响到索引的使用。(索引待后面的博客讲解)
用*
通配符,代表全部列!!!
- 查看指定列
SQL语句
select 列名1,列名2... from 表名;
当我们只对该表中的某些列查询时! - 查询字段为表达式
如果我们今天对书籍进行大促销,想对书籍进行一天的价格下调,我们如何查看表呢?SQL语句
select 表达式 from 表名;
可以看到,我们通过表达式 price-60
就查看到降价60的数据了!
此操作并不会影响服务器中数据库中的内容!!数据并没有改变!!!
我们还可以有多个表达式!!!
别名
我们可以看到当我们使用表达式时,该列的列名也就是该表达式,如果我们想起一个别名呢?又该如何操作呢?SQL语句
select (表达式/列名) as 别名 from 表名;
as
也可以省略!!!去重
distinct
当我们一个表中含有重复的数据时,但我们只想查看一个,如何去重呢?
使用distinct
关键字对某列数据进行去重:SQL语句
select distinct 列名 from 表名;
注意:这里的distinct
在查询列的列名前!!!排序
order by
SQL语句
select 列1,列2....from 表名 order by 列名 排序方方式(asc/desc);
-- ASC 为升序(从小到大)-- DESC 为降序(从大到小)-- 默认为 ASC (没有说明,默认升序!)
- 没有
order by
子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序 NULL
数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
使用表达式排序!!!
使用别名排序!
可以对多个字段排序,排序优先级随书写顺序!
-- 查询同学各门成绩,依次按数学降序,英语升序,语文升序的方式显示SELECT name, math, english, chinese FROM exam_resultORDER BY math DESC, english, chinese;
- 条件查询
where
比较运算符
运算符 | 说明 |
---|---|
> ,>=,<,<= | 大于,大于等于,小于,小于等于 |
= | 等于,判断NULL不安全,列如:NULL=NULL结果是NULL |
<=> | 等于,NULL安全,例如:NULL<=>NULL的结果是true(1) |
!=,<> | 不等于 |
between a0 and a1 | 范围匹配,[a0,a1],如果a0<=value <= a1,返回true(1) |
in(option,…) | 如果是option其中的任何一个返回true(1) |
is NULL | 是NULL |
is not NULL | 不是NULL |
like | 模糊匹配,% 表示任意多个(包括0)任意字符;_ 表示任何一个字符 |
逻辑运算符:
运算符 | 说明 |
---|---|
and | 多个条件为true,结果才为true |
or | 任意一个条件为true,结果就为true |
not | 条件为true ,结果为false |
SQL语句
select * from 表名 where 条件;
where
条件可以使用表达式,但不能使用别名。and
的优先级高于or
,在同时使用时,需要使用小括号( )
包裹优先执行
举例:
当我们要根据某些特殊的条件进行查询时!!!
比如我们要查询数学优秀的人数!!!
- 基本查询:
-- 查询英语不及格的同学及英语成绩 ( < 60 )SELECT name, english FROM exam_result WHERE english < 60;-- 查询语文成绩好于英语成绩的同学SELECT name, chinese, english FROM exam_result WHERE chinese > english;-- 查询总分在 200 分以下的同学SELECT name, chinese + math + english 总分 FROM exam_resultWHERE 总分<200;
英语高于60分
语文成绩高于数学成绩
总分低于200分!!
注意:
在条件查询中,条件不能为别名,否者查询错误!!!
- and 与 or:
- 查询语文成绩大于80分,且英语成绩大于80分的同学SELECT * FROM exam_result WHERE chinese > 80 and english > 80;-- 查询语文成绩大于80分,或英语成绩大于80分的同学SELECT * FROM exam_result WHERE chinese > 80 or english > 80;-- 观察AND 和 OR 的优先级:SELECT * FROM exam_result WHERE chinese > 80 or math>70 and english > 70;SELECT * FROM exam_result WHERE (chinese > 80 or math>70) and english > 70;
语文成绩大于80且数学成绩大于80
语文成绩大于80或英语成绩大于80
and和or的优先级!
- 范围查询:
between and
-- 查询语文成绩在 [80, 90] 分的同学及语文成绩SELECT name, chinese FROM exam_result WHERE chinese BETWEEN 80 AND 90;-- 使用 AND 也可以实现SELECT name, chinese FROM exam_result WHERE chinese >= 80 AND chinese<= 90;
查询语文成绩在 [80, 90] 分的同学及语文成绩in(option)
-- 查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩SELECT name, math FROM exam_result WHERE math IN (58, 59, 98, 99);-- 使用 OR 也可以实现SELECT name, math FROM exam_result WHERE math = 58 OR math = 59 OR math= 98 OR math = 99;
查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩
- 模糊查询
like
-- % 匹配任意多个(包括 0 个)字符SELECT name FROM exam_result WHERE name LIKE '孙%';-- 匹配到孙悟空、孙权-- _ 匹配严格的一个任意字符SELECT name FROM exam_result WHERE name LIKE '孙_';--匹配到孙权!
- NULL的查询 is (not) NULL
--查询书籍分类为空的书籍select * from book where class is NULL;--插叙书籍分类不为空的书籍select * from book where class is not NULL;
- 分页查询
limit
语法:
-- 起始下标为 0-- 从 0 开始,筛选 n 条结果SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;-- 从 s 开始,筛选 n 条结果SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
查询前3条:
从第3条开始查询4条结果!
从offset
偏移量为3的位置,查询4条结果!
边栏推荐
- Array, string, date notes [Blue Bridge Cup]
- 基于卷积的神经网络系统,卷积神经网络毕业论文
- The mathematical knowledge required for neural networks, the mathematical foundation of neural networks
- nodejs worker_threads的事件监听问题
- Primavera Unifier advanced formula usage sharing
- MySQL性能调优,必须掌握这一个工具!!!(1分钟系列)
- 数字钱包红海角逐,小程序生态快速引入可助力占领智慧设备入口
- 验证拦截器的执行流程
- Primavera Unifier - AEM Form Designer Essentials
- 数据库事务
猜你喜欢
网络模型(U-net,U-net++, U-net+++)
OAK-FFC Series Product Getting Started Guide
疫情当前,如何提高远程办公的效率,远程办公工具分享
深度学习100例 —— 卷积神经网络(CNN)识别眼睛状态
Primavera Unifier custom report creation and print sharing
canvas图像阴影处理
PowerMock for Systematic Explanation of Unit Testing
Validate the execution flow of the interceptor
如何在移动钱包中搭建一个小程序应用商店
零基础创作专业wordpress网站12-设置标签栏图标(favicon)
随机推荐
清除微信小程序button的默认样式
unity初级面试分享
MySQL性能调优,必须掌握这一个工具!!!(1分钟系列)
Oacle数据库使用问题
Data middle platform program analysis and development direction
利用mindspore下面mindzoo里面的yolov3-darknet53进行目标识别,模型训练不收敛
关于ts中的指针问题call,bind, apply
Validate the execution flow of the interceptor
Software custom development - the advantages of enterprise custom development of app software
Simple strokes on the Internet
保证金监控中心保证期货开户和交易记录
How to use QTableWidget
PowerMock for Systematic Explanation of Unit Testing
HDRP shader gets pixel depth value and normal information
代码签名证书可以解决软件被杀毒软件报毒提醒吗?
Typora和基本的Markdown语法
halcon实例
Oracle database use problems
QTableWidget 使用方法
突破次元壁垒,让身边的玩偶手办在屏幕上动起来!