MENU

基础的增删改查 | 初学MySQLの学习笔记 No.3

2023 年 12 月 20 日 • 阅读: 643 • 学习时间

::furry:xiao::
咱高考主要考察的还是增删改查,所以这里会学的比较详细点

新增数据

格式:insert into 表名[(字段列表)] values(值列表...); 注:[]中为可省略的数据

例如我这里创建一个学生成绩表

CREATE TABLE scores(
id INT,
name VARCHAR(20),
chinese TINYINT,
math TINYINT,
englist TINYINT
);

然后我们新增一个学生的成绩

insert into scores values(1,"Pudding233",100,100,100);

这里省略了字段列表,所以需要后面的参数与字段列表一一对应
同时名称需要加上引号,那么什么情况下需要对数据加引号呢?
字符串类型和日期类型需要加引号
比如CHARVARCHARTEXTDATEDATETIMETIMESTAMPYEARTIME等数据类型的数据需要加引号
整数和浮点型不需要加
比如TINYINTSMALLINTMEDIUMINTINTFLOATDOUBLEDECIMAL

接下来我们再增加一个学生的成绩,但是这个学生的某一科目缺考了

insert into scores(id,name,math,englist) values(2,"往来无白丁",100,100);

在执行之后所有的数据都会正常的新增,而缺少的chinese字段则会显示NULL
假设需要一次新增多个学生成绩,那么可以这样

INSERT INTO scores
VALUES
    (3,"布丁一号",99,80,45),
    (4,"布丁二号",87,70,90),
    (5,"布丁三号",20,85,60);

修改数据

格式:update 表名 set 字段1=值1,字段值2=值2,字段n=值n ...where 条件

比如现在id为2的学生补考了,那么我们就可以将其成绩补上

update scores set chinese=100 where id=2;

当然也可以将id<5的学生语文成绩全部作废

update scores set chinese=NULL where id between 1 and 4;

删除数据

格式:delete from 表名 [where 条件]

假设现在布丁一到三号作弊,要将其成绩删除作废

delete from scores where id between 3 and 5;

这样id>3同时<5的数据都删除了

查询数据

格式如下
select 字段列表|* from 表名
[where 搜索条件]
[group by 分组字段 [having 分组条件]]
[order by 排序字段 排序规则]
[limit 分页参数]

首先是查询所有学生的成绩

//查询表中所有列 所有数据
select * from scores;

如果这时候只需要查询数学成绩的话

//指定字段列表进行查询
select name,math from scores;

查询英语成绩及格的学生

//查询scores表中 englist > 60的数据
select * from scores where englist > 60;

查询"往来无白丁"的成绩

//指定参数查询
select * from scores where name='往来无白丁';

::furry:owo::还有一些复杂点的等下次再写