MySQL数据库(表的CRUD基础操作(最常用))(二)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: MySQL数据库(表的CRUD基础操作(最常用))

条件查询:  (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(1),结果才是 TRUE(1)
OR 任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT 条件为 TRUE(1),结果为 FALSE(0)

注:

1. WHERE条件可以使用表达式,但不能使用别名。

2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

条件查询:

比如查询英语不及格的同学及英语成绩 ( < 60 )

select name,english from student where english<60;

又或者语文成绩比英语好的:

select name,chinese,english from student where chinese>english;

又或者总分在200以下的:

select name,chinese+math+english from student where chinese+math+english>200;

或者查询语文和英语都在80以上的:

select name,chinese,english from student where chinese>80 and english>80;

或者查询语文或英语在80以上的:

select name,chinese,english from student where chinese>80 or english>80;

范围查询:

或者找语文成绩在80到90之间的:

select name,chinese from student where chinese between 80 and 90;

and也可以实现:

select name,chinese from student where chinese>=80 and chinese <=90;

然后我们可以查询语文成绩是88,82的学生:

select name,chinese from student where chinese in (88,82);

用or也可以实现:

select name,chinese from student where chinese=88 or chinese=82;

模糊查询:

模糊查询用like,当加%的时候表示%位置可以是任意个字符,用_代表只能是一个字符,并且要严格遵守位置要求:

select name from student where name like '张%';

如果只是想查询一个张?这样的名字:

select name from student where name like '张_';

NULL 的查询:

查询数学成绩为null的同学:

select name from student where math is null;

同理,不为空的数学成绩的学生:

select name from student where math is not null;

分页查询:LIMIT:

语法定义:

select ....from table_name [where....] [order by....] limit n offset s;

意思是从 s行开始,筛选 n 条结果。

如果去掉s,就是从0开始,筛选n条结果。

如以id为序查看前三个:

select id,name,chinese,math,english from student order by id limit 3 offset 0;

修改(Update):

语法形式:

update 表 set 字段1=value1, 字段2=value2... where 条件

例如把王五的数学成绩改为66:

update student set math=66 where name='王五';

又或者:将总成绩倒数前三的 3 位同学的数学成绩加上 5 分

update student set math=math+10 order by chinese+math+english limit 3;

删除(Delete):

注意:我们这里删除的是表的数据,实际的表依然存在,如果需要删除表,需要使用drop

语法形式:

delete from 表 where 条件

如:删除张三的信息:

delete from student where name='张三';

删除整个表的数据:

delete from student;

只是删除了数据,表还在!!!

好的,以上就是MySQL数据库(表的CRUD基础操作(最常用))的全部内容了,希望对大家能有所帮助,留下你的点赞和收藏吧!!!

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Oracle 关系型数据库 MySQL
【mysql】—— 表的内连和外连
【mysql】—— 表的内连和外连
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的增删改查
【mysql】—— 表的增删改查
|
23天前
|
存储 SQL 关系型数据库
【MySQL】4. 表的操作
【MySQL】4. 表的操作
21 0
|
22天前
|
存储 关系型数据库 MySQL
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
MySQL数据库性能大揭秘:表设计优化的高效策略(优化数据类型、增加冗余字段、拆分表以及使用非空约束)
|
22天前
|
缓存 关系型数据库 MySQL
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
MySQL 查询优化:提速查询效率的13大秘籍(索引设计、查询优化、缓存策略、子查询优化以及定期表分析和优化)(中)
|
23天前
|
关系型数据库 MySQL
【MySQL】12. 表的内连和外连(重点)
【MySQL】12. 表的内连和外连(重点)
13 0
|
1月前
|
存储 关系型数据库 MySQL
【mysql】—— 表的约束
【mysql】—— 表的约束
|
1月前
|
存储 SQL 关系型数据库
【mysql】—— 表的操作
【mysql】—— 表的操作
|
1月前
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之从EARLIEST_OFFSET启动就报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】——用SQL语句实现数据库和基本表的创建
【MySQL】——用SQL语句实现数据库和基本表的创建
66 3
【MySQL】——用SQL语句实现数据库和基本表的创建