MySQL学习笔记汇总(三)——子查询、limit、表(insert,update,delete)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 子查询、limit、表(insert,update,delete)的相关学习。

一、子查询


子查询就是嵌套的 select 语句,可以理解为子查询是一张表

语法:


1.png


where子句中使用子查询


案例:


找出高于平均薪资的员工信息。

1.png


from 语句中使用子查询


在 from 语句中使用子查询,可以将该子查询看做一张 表


案例:

找出每个部门平均薪水的等级。

1.png


select 语句中使用子查询


案例:


找出每个员工所在的部门名称,要求显示员工名和部门名。


1.png


二、limit的使用


limit是mysql特有的,其他数据库中没有。

limit取结果集中的部分数据

语法机制:

limit startIndex, length

startIndex表示起始位置,从0开始,0表示第一条数据。

length表示取几个


limit是sql语句最后执行的一个环节:


1.png


案例:


取出工资前5名的员工

思路:降序取前5个

1.png


找出工资排名在第4到第9名的员工


1.png



通用的标准分页sql


每页显示pageSize条记录:

第pageNo页:(pageNo - 1) * pageSize, pageSize


pageSize是什么?是每页显示多少条记录

pageNo是什么?显示第几页


三、表


创建表


建表语句的语法格式:

    create table 表名(
      字段名1 数据类型,
      字段名2 数据类型,
      字段名3 数据类型,
      ....
    );


MySql 常用数据类型

类型 描述
Char(长度) 定长字符串,存储空间大小固定,适合作为 主键或外键
Varchar(长度) 变长字符串,存储空间等于实际数据空间
double(有效数字位数,小数位) 数值型
Float(有效数字位数,小数位) 数值型
Int( 长度) 整型
bigint(长度) 长整型
Date 日期型 年月日
DateTime 日期型 年月日 时分秒 毫秒
BLOB Binary Large OBject(二进制大对象)
CLOB Character Large OBject(字符大对象)


char和varchar怎么选择?


在实际的开发中,当某个字段中的数据长度不发生改变的时候,是定长的,例如:性别、生日等都是采用char。

当一个字段的数据长度不确定,例如:简介、姓名等都是采用varchar。


案例:


创建学生表:
    学生信息包括:
      学号、姓名、性别、班级编号、生日
      学号:bigint
      姓名:varchar
      性别:char
      班级编号:int
      生日:char
create table t_student(
  no bigint,
  name varchar(255),
  sex char(1),
  classno int,
  birthday char(10)
);

查看表结构:


1.png


插入数据:insert


语法格式:

insert into 表名(字段名1,字段名2,字段名3,....) values(值1,值2,值3,....)

字段的数量和值的数量相同,并且数据类型要对应相同。


给表中插入数据:


 insert into t_student values(1,'jack','0',20200911,'1986-10-23');
 insert into t_student values(2,'lucy','女',20200911,'1986-10-23');

查看表中数据:


1.png



修改数据:update


语法格式:

  update 表名 set 字段名1=值1,字段名2=值2... where 条件;

注意:没有条件整张表数据全部更新。

修改表中的数据:


update t_student  set name='zhangsan',sex='女',birthday='1995-10-23' where no=1;
update t_student set name='lisa',classno=20200811,birthday='1999-05-06' where no=2;

查看表中数据:

1.png


删除数据:delete


语法格式:

 

    delete from 表名 where 条件;

删除表中数据:


delete from t_student where no=1;
delete from t_student where no=2;

当前表为一个空表:

1.png


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
SQL 关系型数据库 MySQL
在 MySQL 中使用子查询
【8月更文挑战第12天】
198 0
在 MySQL 中使用子查询
|
26天前
|
关系型数据库 MySQL PostgreSQL
postgresql和mysql中的limit使用方法
postgresql和mysql中的limit使用方法
37 1
|
1月前
|
SQL 缓存 关系型数据库
MySQL Limit实现原理
本文详细探讨了MySQL中`LIMIT`子句的实现原理及其在不同场景下的应用。`LIMIT`用于控制查询结果的行数,结合`OFFSET`可实现分页查询。其内部实现涉及解析器、优化器和执行器三部分,通过索引利用、子查询优化等提升性能。文章还提供了性能优化策略,如索引优化、覆盖索引及延迟关联等,并给出实践建议。
76 3
|
2月前
|
SQL 缓存 关系型数据库
MySQL高级篇——关联查询和子查询优化
左外连接:优先右表创建索引,连接字段类型要一致、内连接:驱动表由数据量和索引决定、 join语句原理、子查询优化:拆开查询或优化成连接查询
MySQL高级篇——关联查询和子查询优化
|
1月前
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
471 0
|
3月前
|
关系型数据库 MySQL Shell
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
|
3月前
|
存储 SQL 关系型数据库
MySQL中的update操作与锁机制
本文探讨MySQL中`UPDATE`操作的自动加锁机制及其对数据一致性的保障作用。尤其在InnoDB存储引擎下,系统会在涉及索引的更新操作中加行锁或间隙锁,防止多事务并发修改同一条记录。通过福利码兑换系统的实例展示,当线程A开启事务更新库存时,线程B试图更新相同记录会被阻塞,直至线程A提交。此外,文章还介绍了乐观锁及版本号控制等策略进一步提升并发性能的方法。作者:小明爱吃火锅,来源:稀土掘金。
207 2
|
4月前
|
SQL 关系型数据库 MySQL
MySQL删除表数据、清空表命令(truncate、drop、delete 区别)
MySQL删除表数据、清空表命令(truncate、drop、delete区别) 使用原则总结如下: 当你不需要该表时(删除数据和结构),用drop; 当你仍要保留该表、仅删除所有数据表内容时,用truncate; 当你要删除部分记录、且希望能回滚的话,用delete;
|
4月前
|
SQL Java 数据库
MySQL设计规约问题之为什么应尽量避免使用子查询,而可以考虑将其优化为join操作
MySQL设计规约问题之为什么应尽量避免使用子查询,而可以考虑将其优化为join操作
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1

热门文章

最新文章

下一篇
无影云桌面