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

2022-12-01 14:03:23 浏览数 (1)

一、子查询

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

where子句中使用子查询

案例:

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

from 语句中使用子查询

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

案例:

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

select 语句中使用子查询

案例:

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

二、limit的使用

  • limit是mysql特有的,其他数据库中没有。
  • limit取结果集中的部分数据
  • 语法机制: limit startIndex, length startIndex表示起始位置,从0开始,0表示第一条数据。 length表示取几个
  • limit是sql语句最后执行的一个环节:

案例:

  • 取出工资前5名的员工 思路:降序取前5个
  • 找出工资排名在第4到第9名的员工

通用的标准分页sql

每页显示pageSize条记录: 第pageNo页:(pageNo - 1) * pageSize, pageSize

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

三、表

创建表

  • 建表语句的语法格式:
代码语言:javascript复制
		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。

案例:

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

查看表结构:

插入数据:insert

  • 语法格式:
代码语言:javascript复制
insert into 表名(字段名1,字段名2,字段名3,....) values(值1,值2,值3,....)

字段的数量和值的数量相同,并且数据类型要对应相同。 给表中插入数据:

代码语言:javascript复制
 insert into t_student values(1,'jack','0',20200911,'1986-10-23');
 insert into t_student values(2,'lucy','女',20200911,'1986-10-23');

查看表中数据:

修改数据:update

  • 语法格式:
代码语言:javascript复制
	update 表名 set 字段名1=值1,字段名2=值2... where 条件;

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

代码语言:javascript复制
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;

查看表中数据:

删除数据:delete

  • 语法格式:
代码语言:javascript复制
		delete from 表名 where 条件;

删除表中数据:

代码语言:javascript复制
delete from t_student where no=1;
delete from t_student where no=2;

当前表为一个空表:

今天的分享就到这里啦!!~感谢大家的观看,希望对大家有帮助的话麻烦给个丝滑三连击。(点赞+转发 关注) 一起加油,一起努力,一起秃见成效

0 人点赞