在Mysql环境下对数据进行增删改查的操作方法

2025-02-09 04:50

本文主要是介绍在Mysql环境下对数据进行增删改查的操作方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并...

一、插入数据:

insert into 表名 [(字段名)] values (字段对应的值1,字段对应的值2,…)[,(字段对应的值1,字段对应的值2,…)];

insert into students (id,name,age,height,gender,cls_id,is_delete)
values (0,'小明',18,180.00,2,1,0)

在Mysql环境下对数据进行增删改查的操作方法

在学生表中插入“小明”数据的效果

二、修改数据:

update 表名 set 字段名1=新的数据值,字段名2=新的数据值 php[where 条件];

UPDATE students SET name= '邓超';

在Mysql环境下对数据进行增删改查的操作方法

将所有学生的姓名改成邓超的效果

三、删除数据:

1、delete from 表名;

----------删除表里的数据,但是表仍然存在

delete from 表名 [where 条件];------------根据条件进行删除表里的数据

DELETE FROM students where id = 1;

在Mysql环境下对数据进行增删改查的操作方法

delete from删除可以加条件

2、truncate table 表名;

---------清空表里的数据,但表仍然存在,而且不能加条件

TRUNCATE TABLE students where id = 1;

在Mysql环境下对数据进行增删改查的操作方法

truncate table删除数据会报错

四、数据查询:

1、基本查询:

①查询全部字段的全部数据:

select * from 表名;

select * from students;

在Mysql环境下对数据进行增删改查的操作方法

查询所有学生信息

②查询部分字段的全部数据:

select 字段名1,字段名2…from 表javascript名;

select name,gChina编程ender from students;

在Mysql环境下对数据进行增删改查的操作方法

查询所有学生的姓名,性别

③根据条件查询数据:

elect * from 表名 where 条件;

select name,gender from students where id = 1;

在Mysql环境下对数据进行增删改查的操作方法

查询id为1学生的姓名,性别

④多个条件的查询:

条件与条件之间可以用and、or、in、between…and…来进行条件的连接

select * from students  where  gender='女' and  cls_id=2;

在Mysql环境下对数据进行增删改查的操作方法

查询性别为女并且在2班的学生的信息

⑤模糊查询:

select * from 表名 where 字段名 like ‘值’;----------% _

select * from students where name like '小%';

在Mysql环境下对数据进行增删改查的操作方法

查询名字里面包含’小’的学生的信息

⑥去重:

select distinct 字段名 from 表名;

select distinct gender from students;

在Mysql环境下对数据进行增删改查的操作方法

查询性别有几种分类

⑦排序: 按照单个字段排序:

select * from 表名 order by 字段名 asc/desc;(asc升序-默认,desc降序)

select * from students order by height;

在Mysql环境下对数据进行增删改查的操作方法

javascript学生的身高按照升序排列

按照多个字段排序:

select * from 表名 order by 字段名1 asc/desc,字段名2 asc/desc;

select * from students order by height,age;

在Mysql环境下对数据进行增删改查的操作方法

将学生的身高、年龄按照升序排列

有条件的排序:

select * from 表名 where 条件 order by 字段名 asc/desc;

select * from students where age = 18 order by height;

在Mysql环境下对数据进行增删改查的操作方法

将年龄为18岁的学生按照身高升序排列

⑧限制查询结果的数量:

limit

select * from students limit 2;

在Mysql环境下对数据进行增删改查的操作方法

只看前2条学生信息

2、连接查询:

(涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健)

①内连接

显示内连接:select 字段 from 表名1 inner join 表名2 on 两个表连接的条件 [where 条件];

select s.name,c.name from students s inner join classes c on s.cls_id=c.id;

在Mysql环境下对数据进行增删改查的操作方法

查看学生所在班级

隐式内连接:select 字段 from 表名1,表名2 where 两个表连接的条件 [and 其他查询的条件];

select s.name as ‘名字',c.name as ‘班级' from students s, classes c where s.cls_id = c.id;

在Mysql环境下对数据进行增删改查的操作方法

查看学生所在班级

②外连接

左外连接:select 字段 from 表名1 left join 表名2 on 两个表连接的条件 [where 条件];------左表的数据全部查询出来,右表符合条件的查询出来

select c.name,t.name from classes c left join teachers t on c.teacher_id = t.id;

在Mysql环境下对数据进行增删改查的操作方法

查看老师所在班级

右外连接:select 字段 from 表名1 right join 表名2 on 两个表连接的条件 [where 条件];------右表的数据全部查询出来,左表符合条件的查询出来

select c.name,t.name from classe c right join teachers t on c.teacher_id = t.id;

在Mysql环境下对数据进行增删改查的操作方法

查看老师所在班级

3、聚合函数查询:

①count()-计数

select count(*) as '学生总数' from students;

在Mysql环境下对数据进行增删改查的操作方法

查询班级有多少同学

②sum()-求和

select sum(height) as '身高之和' from students;

在Mysql环境下对数据进行增删改查的操作方法

查询班级学生的身高之和

③max()-最大值

select max(height) as '最高身高' from students;

在Mysql环境下对数据进行增删改查的操作方法

查询班级学生的最高身高

④min()-最小值

mysql> select min(height) as '最矮身高' from students;

在Mysql环境下对数据进行增删改查的操作方法

查询班级学生的最矮身高

⑤avg()-平均值

select avg(height) as '平均身高' from students;

在Mysql环境下对数据进行增删改查的操作方法

查询班级学生的平均身高

⑥select 聚合函数名(字段名) from 表名 [where 条件];

SELECT AVG(height) AS '1班平均身高' FROM students WHERE cls_id = 1;

在Mysql环境下对数据进行增删改查的操作方法

查询1班学生的平均身高

⑦select 分组的字段名,聚合函数名(字段名) from 表名 [group by 分组的字段名];

SELECT cls_id AS class_id, COUNT(*) AS student_count, AVG(age) AS average_age, MAX(height) AS max_height, MIN(height) AS min_height FROM students GROUP BY cls_id;

在Mysql环境下对数据进行增删改查的操作方法

按班级分组查询每个班级的学生人数、平均年龄、最高身高和最低身高

4、子查询:

查询嵌套查询

①子查询的结果只有一个值

select * from 表名 where 字段名=(select 字段名 from 表名);

select * from students where cls_id = (select cls_id from students where name = '刘德华');

在Mysql环境下对数据进行增删改查的操作方法

查看刘德华同学的所在班级的所有同学

②子查询的结果有多个值,等于其中的任意一个值

select * from 表名 where 字段名=any(select 字段名 from 表名);

select * from students where cls_id = any(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

在Mysql环境下对数据进行增删改查的操作方法

查看赵老师所带的学生信息

③子查询的结果有多个值,大于所有值

selecjst * from 表名 where 字段名>all(select 字段名 from 表名);

select * from students where cls_id >= all(select id from classes where teacher_id = (select id from teachers where name='赵老师'));

在Mysql环境下对数据进行增删改查的操作方法

查看学生所在班级

④子查询如果有查询的结果,外查询就执行

select * from 表名 where exists (select 字段名 from 表名);

select * from classes where exists (select * from teachers where name='李老师');

在Mysql环境下对数据进行增删改查的操作方法

查看存在李老师的班级表

到此这篇关于在Mysql环境下对数据进行增删改查的文章就介绍到这了,更多相关Mysql数据增删改查内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于在Mysql环境下对数据进行增删改查的操作方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153357

相关文章

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下

MySQL表的CURD使用

《MySQL表的CURD使用》文章主要介绍了MySQL数据库操作的基本方法,包括创建表、插入数据、查询数据、更新数据和删除数据等,涵盖了表结构设计、数据插入、查询条件、排序、分页、更新和删除操作,以及... 目录一、Create1.1单行数据+全列插入1.2多行数据+指定列插入1.3插入否则更新主键冲突1.

开启mysql的binlog日志步骤详解

《开启mysql的binlog日志步骤详解》:本文主要介绍MySQL5.7版本中二进制日志(bin_log)的配置和使用,文中通过图文及代码介绍的非常详细,需要的朋友可以参考下... 目录1.查看是否开启bin_log2.数据库会把日志放进logs目录中3.查看log日志总结 mysql版本5.71.查看

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问