MySQL数据增删改查
插入数据
- insert into 表名 (字段名称1, 字段名称2) values (值1, 值2);
🐤创建表
create table if not exists stu(
id int,
name varchar(20)
);
insert into stu (id, name) values (1, 'BNTang');
- 在插入数据的时候,指定的字段名称的顺序不用和表中的字段名称的顺序一致
insert into stu (name, id) values ('zs', 2);
- 在插入数据的时候,指定的取值顺序必须和指定的字段名称顺序一致
insert into stu (name, id) values (3, 'ls');
- 如果插入数据时指定的取值顺序和表中的字段顺序是一致的,那么可以不指定字段名称
insert into stu values (4, 'ww');
- 我们可以通过values同时插入多条数据
insert into stu values (4, 'zl'), (5, 'ws');
更新数据
- update 表名 set 字段名称=值 [where 条件];
- 如果在更新数据的时候没有指定条件,那么就会更新整张表中的数据
update stu set score=77;
- 如果在更新数据的时候指定了条件,那么只会更新满足条件的数据
update stu set score=88 where name='ls';
- 在指定条件的时候,我们可以通过AND来指定多个条件,AND===&&
update stu set score=100 where name='BNTang' AND id=1;
- 在指定条件的时候,我们可以通过OR来指定多个条件,OR===||
update stu set score=66 where name='zs' OR name='ww';
- 在更新数据的时候是可以同时更新多个字段的
update stu set name='BNTang666', score=33 where id=1;
查询数据
- 以下方式会将表中所有的数据都查询出来,所以
性能比较差
- 以下方式会将表中所有的数据都查询出来,不能查询特定字段的值
- select * from 表名;
🐤以下才是查询数据完整的写法
- select 字段名称1, 字段名称2, ... from 表名 [where 条件];
🐤查询特定字段的数据
select name from stu;
🐪查询满足条件的数据
select * from stu where score > 60;
select id, name from stu where score > 60;
select * from stu where score = 77 || score = 88;
select * from stu where score in (77, 88);
select * from stu where score BETWEEN 77 AND 88;
select * from stu where score IS NOT NULL;
select * from stu where score IS NULL;
🐪where条件支持的运算符
运算符 | 作用 |
---|---|
= | 等于 |
!= | 不等于 |
<> | 不等于 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
IN(set) | 固定的范围值 |
BETWEEN…AND | 值在什么范围 |
IS NULL | 为空 |
IS NOT NULL | 不为空 |
AND | 与 |
OR | 或 |
NOT | 非 |
LIKE | 模糊查询 |
删除数据
- delete from 表名 [where 条件];
🐪删除满足条件的数据
delete from stu where score > 60;
🐤删除所有的数据
delete from stu;