MySQL数据库 || 增删改查操作详解
创始人
2024-04-04 18:17:48

目录

前言:

插入数据

查询数据

全列查询

指定列查询

带表达式查询

去重查询

查询结果排序

条件查询

比较运算符

逻辑运算符

示例

模糊查询

示例

空值比较

分页查询

修改数据

删除数据

注意:


前言:

🎈增删改查是数据库的一些基本操作,我们要能够熟练掌握这些操作,并且能够理解其中的原理。这样我们对于数据库的操作就会得心应手。

插入数据

语法:insert into 表名 values(列,列,列....)

insert into person values(1,'唐僧',90,85.5,87),-> (2,'八戒',50,60,87.6),-> (3,'孙权',60,55,62.2),-> (4,'曹操',50,56,70),-> (5,'刘皇叔',70,75,62),-> (6,'张飞',56,80,96);

注意:括号后以逗号分开,可一次插入多条记录。

 注意:可以清楚看见数据已经插入成功。一次插入多条数据,比一次插入一条数据,代码执行效率要高。因为数据库是客户端服务器的结构,插入数据时,要通过网络,把数据写入服务器的硬盘中。可以想到一次性传输和一次性写入执行效率要比多次高。

查询数据

全列查询

语法:select * from 表名;

select * from person;

注意:全列查询会读取数据库服务器硬盘中的数据(当下选中的表)。我们如果在操作上线数据库(数据量特别大),它将会大量增加网络带宽和硬盘IO的压力。所以我们在操作时需要特别谨慎。

指定列查询

语法:select 列名,列名... from 表名;

 select name,math from person;

注意:指定多列时需用逗号隔开。

带表达式查询

语法:select 列名/表达式...from 表名;

select name,math + 10 from person;

注意:可以为表达式起别名   表达式 as 名称

 

注意:查询的表只是一个临时表,然后展现给使用者,和服务器硬盘没有关系,不会修改数据。

去重查询

语法:select distinct 列名,列名... from person;

select distinct math from person;
select distinct math,chinese from person;

 注意:可以看见重复的50已经被去重。在指定多列时去重时,指定的每一列数据都一致才会被去重。 

查询结果排序

语法:表名后 order by 子句;

select name,math from person order by math;

注意:默认排序是升序(asc),指定降序(desc)。全单词:ascend,descend。MySQL中没有指定数据显示的顺序,那么它就是不可预期的。如果数据中有null,则null为最小值。

表达式排序

select name,math + chinese + english as total from person order by total;

注意:如果为表达式起了别名,则排序指定时也可以用别名。

 多列排序

注意:先以第一列为准,如果第一列数据相同,再比较第二列。这里插入了一条数据。

insert into person values(7,'孙悟空',null,null,null);
select name,math,chinese from person order by math desc,chinese;

条件查询

语法:表名后 where 条件;

注意:

🤞条件查询会将每一条记录带入条件中,如果为true保留(作为临时表结构),为false舍弃。

🤞where后可带入表达式,但不能使用别名。MySQL中可能先执行条件判断部分,如果使用别名则会报错。

比较运算符

逻辑运算符

 

注意:

🪖用null做运算结果都是null为false(除了特殊的<=>)。

🪖区间都是左闭右闭。

示例

 数学成绩小于60

select name,math from person where math < 60;

 数学成绩小于60包含null

 select name,math from person where math < 60 or math is null;

数学成绩大于英语成绩(自己和自己比较)

 select name,math,english from person where math > english;

 总分在200分以上同学

select name,math + chinese + english as total from person where math + chinese + english > 200

 数学大于80且语文大于80

select name,math,chinese from person where math > 80 and chinese > 80;

 数学大于80或者语文大于80(这里插入一条记录)

 insert into person values(8,'关羽',70,90,60);select name,math,chinese from person where math > 80 or chinese > 80;

数学成绩在60到80之间

​​​​ select name,math from person where math between 60 and 80;

 数学成绩在60,70,80,90之中

 select name,math from person where math in (60,70,80,90);

模糊查询

语法:like关键字

示例

姓孙同学(插入了两条记录)

注意:%为通配符,可表示任意多个字符

insert into person values(9,'哈哈孙',null,null,null); 
insert into person values(10,'哈哈孙哈哈',null,null,null);
select * from person where name like '孙%';

 

 最后一个字为孙

select * from person where name like '%孙';

 

包含孙的同学

select * from person where name like '%孙%';

指定位置查询

select * from person where name like '孙_';

 

select * from person where name like '__孙';

 

空值比较

数学为空

select * from person where math is null;

 

数学和语文相等(包含空)

注意:这样比较可比较null。如果直接用一个=和null比较,结构为null,认为是false。插入了一条记录。

insert into person values(11,'哈哈',80,80,70);
select * from person where math <=> chinese;

 分页查询

语法:关键字 limit 数字 offset 数字

注意:limit后的数字为一次性最多可显示的记录数量。offet后的数字为每次显示的起始位置。

select * from person limit 5;

设置起始位置

select * from person limit 5 offset 0;
select * from person limit 5 offset 5;
select * from person limit 5 offset 10;

修改数据

语法:update 表名 set 列名 = 值 where 条件;(可搭配order by/limit子句使用)

注意:数据修改的是数据库服务器硬盘上的数据,是持久化的。需要谨慎操作。

修改孙悟空的math为0

update person set math = 0 where name = '孙悟空';

修改所有同学数学成绩加5

注意:null的值运算结果还是null

 update person set math = math + 5;

修改孙悟空的数学和语文成绩为0

update person set math = 0,chinese = 0 where name = '孙悟空';

总成绩倒数3名同学数学成绩设置为20

update person set math = 20 order by math + chinese + english limit 3;

删除数据

语法:delete from 表名 where 条件(可以搭配order by/limit子句使用)

删除孙悟空成绩

delete from person where name = '孙悟空';

 删除表中所有记录(后面不写条件)

delete from person;

注意:

🐵在学习数据库时需多练习,还需多去思考,这样会加深我们对其的理解性。

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...