MySQL(小白也能学会的增删改查--筑基篇)

在这里插入图片描述

大家好,本篇是MySQL的第二篇,重点讲述查询
接下来,让我们一起来学习MySQL的增删改查吧

创建表

基本格式:

create table 表名 (
列名 类型,
列名 类型
);

例子:

--创建一张学生表
create table student(
       id int,
       sn int comment '学号',
       name varchar(20) comment '姓名',
       qq_email varchar(20) comment 'QQ邮箱'
);


--创建一张考试表
create table exam(
      id int,
      name varchar(20),
      chinese decimal(3,1),
      math decimal(3,1),
      english decimal(3,1)
);

插入数据

基本格式:

insert into 表名
values(值,值…);

例子:
在student表中插入唐三藏,孙悟空的数据

--插入数据
insert into student 
values(1,001,'唐三藏',null),
values(2,002,'孙悟空',null);

多方数据,指定列插入:

--多方数据,指定列插入
insert into student(id, sn, name)
values(3,003,'孙权'),
values(4,004,'曹操');
-- 要一一对应

查询

全列查询

基本格式:

全列查询
select *
from 表名

如图所示:

在这里插入图片描述

指定列查询

基本格式:

select 列名
from 表名

在这里插入图片描述

表达式查询

基本格式:

select 表达式
from 表名

如图:
在这里插入图片描述

别名查询

基本格式:

select 表达式 as 别名
from 表名

如图:

在这里插入图片描述

去重

去重 (值相同的行只会保留一个,两个列名的值都一样会去掉)

基本格式

select distinct 列名,列名
from 表名

去除name这一列中相同的名字

select distinct name
from exam;

如图:
在这里插入图片描述
在这里插入图片描述

排序

基本格式:

查询的时候进行排序
select 列名
from 表名
order by 列名 asc / desc

小tips:

  1. asc(默认是升序) , desc 是降序
  2. 排序是针对临时数据排序的, 不影响原有数据在Mysql服务器上的存储的顺序
  3. 不加order by 查询的结果一定是无序的

如图:
在这里插入图片描述

例子:

select *
from 表名
order by math desc, chinese desc;
先按math降序排序, 如果数学成绩相同,则再按Chinese的成绩降序排序

在这里插入图片描述

关于null的计算结果

select name, chinese + math + english
from exam
where chinese + math + english < 380
–查询总分低于380分的人
![[条件查询 1.png]]

在这个表中的最后一列唐三藏的总分也是低于380的,但是为什么没有被查出来呢?

因为 : null参与各种运算,结果还是null

如图:
在这里插入图片描述

条件查询(where)

基本格式:

select *
from exam
where 条件表达式;

例子: 查询English小于60的同学

select *
from exam
where english < 60;

如图:
在这里插入图片描述

例子: 查询总分低于380分的人

select name, chinese + math + english
from exam
where chinese + math + english < 380;

如图:
在这里插入图片描述

and or

and 和or的应用:

例子:
查询Chinese和enlish 都大于75的

select name, chinese, english
from exam
where chinese > 75 and english > 75;

例子:
查询Chinese或者english > 75的

select name, chinese, english
from exam
where chinese > 75 or english > 75;

如图:
在这里插入图片描述

between and

between and的使用:

between and 是区间[60,85]

例子:
查询数学分数在[60,85]这个区间的人

select name, math
from exam
where math between 60 and 85;

如图:
在这里插入图片描述

模糊查询(like)

模糊查询:

  1. 模糊查询like搭配通配符% 以及 _
  2. % : 代表任意个字符
  3. _ :表示一个字符

例子: 查姓孙的人:

查询姓孙的人
select name,math
from exam
where name like ‘孙%’;

例子:
查询姓名只有两个字,而且姓孙的

select name, chinese
from exam
where name like ‘孙_’;

如图:
在这里插入图片描述

分页查询 (limit)

分页查询的使用:
目的: 限制查询结果数量,并给出分页查询的效果
例子1:

查询3个记录,从下标为0开始

select name
from exam
limit 3 offset 0;

例子2:

查询2个记录,从下标为3开始

select *
from exam
limit 2 offset 3;

如图:
在这里插入图片描述

修改数据(update)

基本格式:

update 表名
set 列名 = 值
where 条件

例子:

将id为1 的记录的语文成绩改为80分
update exam
set chinese = 80.0
where id = 1;

在这里插入图片描述

好啦,以上就是最基础的增删改查啦,
我们下次见,另外,小编也只是一个初学者,如果有误的地方,希望大家可以指出呀.
预告:下一篇会讲数据库的约束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值