::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);
这里省略了字段列表,所以需要后面的参数与字段列表一一对应
同时名称需要加上引号,那么什么情况下需要对数据加引号呢?
字符串类型和日期类型需要加引号
比如CHAR
、VARCHAR
、TEXT
、DATE
、DATETIME
、TIMESTAMP
、YEAR
、TIME
等数据类型的数据需要加引号
整数和浮点型不需要加
比如TINYINT
、SMALLINT
、MEDIUMINT
、INT
、FLOAT
、DOUBLE
、DECIMAL
等
接下来我们再增加一个学生的成绩,但是这个学生的某一科目缺考了
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::还有一些复杂点的等下次再写
::huaji:huaji13::
::furry:hhh::小狼会MySQL嘛
不会哇qwq