Mysql数据库中数据的操作CRUD详解

2025-05-18 02:50

本文主要是介绍Mysql数据库中数据的操作CRUD详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括...

本文内容: 详细描述对mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括where、in、like、ifnull、与或非、order by、聚集函数等。

一、插入数据(insert)

1.插入数据的语法

  • insert into 表名 (字段1,字段2,字段3) values (值1,值2,值3);
  • insert into 表名 values (值1,值2,值3);

2.注意事项

  • 插入的数据与字段类型必须是相同的
  • 数据的大小范围在字段范围内
  • 值与字段一一对应
  • 字符串或者日期类型数据需要使用单引号

示例:

insert into user values (1,'meimei','1956‐1‐1','1957‐1‐1','HR',5000,'meimeimei','xx');
insert into user values (2,'小凤','1996‐1‐1','2013‐1‐1','BOSS',15000,'mei','xx');
insert into user values (3,'聪聪','1993‐11‐11','2015‐09‐10','WORKER',500.0,'chou','yy');
insert into user values (4,'如花','1994‐1‐1','2013‐1‐1','BOSS',25000,'mei','xx');
insert into user values (5,'小苍','1991‐1‐1','2014‐1‐1','BOSS',15000,'mei','xx');
insert into user values (6,'小泽','1986‐1‐1','2013‐1‐1','BOSS',15000,'mei','xx');

问题:若MySQL插入中文数据乱码

解决:

1.先把MySQL服务停止。
2.找到MySQL安装文件的my.ini的配置文件
   [client] port=3306 [mysql]
  default‐character‐set=gbk
3.重启MySQL服务

二、修改数据(update)

1.语法

update 表名 set 字段1=值,字段2=值 where 条件;  where username = 'meimei';

2.有无where

如果没有where条件语句,默认更新hZQEwF所有的数据。

如果有where条件,默认更新符合条件的记录。

示例:

将所有员工薪水修改为5000元。
update user set salary = 5000;
将姓名为'聪聪'的员工薪水修改为3000元。
update user set salary = 3000 where username = '聪聪';
将姓名为'小凤'的员工薪水修改为4000元,job改为ccc。
update user set salary = 4000,job = 'ccc' where username = '小凤';
将如花的薪水在原有基础上增加1000元。
update user set salary = salary+1000 where username = '如花';

三、删除数据(delete)

1.语法

delete from 表名 where 条件;

2.有无where

如果没有where条件,默认删除所有的数据。

3. truncate 表名;删除表中所有的数据。

delete from 表名; 也可以删除所有数据。

  • 区别: truncate先把你整个表删除掉,默默创建一个空的表(和原来的表结构是一样的)。
  • delete from 表名 一行一行的删除。(使用它)
  • 事物的概念:事物提交和事物回滚。

示例:

删除表中名称为'聪聪'的记录。
delete from user where username = '聪聪';
删除表中所有记录。
delete from user; drop table user;删除数据

四、查询数据(select)(重点)

1.基本的select语句

语法:

      select * from 表名;                                  ‐‐ 查询所有列的记录

      select 字段1,字段2,字段3 from 表名;   ‐‐ 查询字段123的记录

      DISTINCT                                              ‐‐ 去除重复的数据

示例:select distinct english from stu;

练习:

create database day15;
use day15;
create table stu(
    id int,
    name varchar(30),
    math int,
    english int,
    chinese int
);
insert into stu values (1,'美美',78,93,56);
insert into stu values (2,'聪聪',18,13,16);
insert intowww.chinasem.cn stu values (3,'小凤',98,96,89);
insert into stu values (4,'如花China编程',90,100,46);
insert into stu values (5,'欧阳锋',74,93,56);
insert into stu values (6,'吴彦祖',37,11,89);
insert into stu values (7,'聪大',88,77,66);
insert into stu values (8,'聪二',55,44,33);

2.查询语句中使用运算和别名(数据库中数据不变)

在所有学生分数上加10分特长分。
select name,(math+10) m,(english+10) e,(chinese+10) c from stu;
统计每个学生的总分。
select name,(math+english+chinese) 总 分 from stu;
使用别名表示学生分数
select name,(math+english+chinese) 总 分 from stu;

3.使用where条件过滤

查询姓名为聪聪的学生成绩
select name,math,chinese from stu where name = '聪聪';
查询英语成绩大于90分的同学
select name,english from stu where english > 20;
查询总分大于200分的所有同学
select name,math+english+chinese from stu where (math+english+chinese) > 200;

4.where子句中出现的运算(3个)

4.1  >  <  <=  >=  =  <>  大于、小于、大于(小于)等于、不等于

4.2 in 表示范围。

select * from stu where math = 18;               查询出一条数据
select * from stu where math in (78,18,99);

4.3 jslike 模糊查询 ‐‐ 符合模糊的条件

select * from stu where name like '张_';    姓张的名称(只有两个)的记录
select * from stu where name like '张%';    姓张的名称(张飞 张翼德 张是是是冠希)的记录。
select * from stu where name like '%张';    末尾是张(聪聪张   XSDF张)
select * from stu where name like '%张%';   只要名称中包含张

4.4 isnull ifnull nullif 判断某一个字段记录是否为空

ifnull:如果xxx为null,可替换成默认值;

4.5 and与 or或者 not非

查询英语分数在 80-90之间的同学。
select * from stu where english >= 10 and english < 19;
查询数学分数为89,90,91的同学。
select * from stu where math in (89,90,91);
查询所有姓小的学生成绩。
select * from stu where name like '小%';
查询数学分>80,语文分>80的同学。
select * from stu where math > 80 or chinese > 80;
总结:select 列名(运算) from 表名(别名) where 条件(运算的符号);

5.order by 对查询的结果进行排序

5.1排序的语法

select * from 表名 where 条件 order by 列名 升序/降序;

5.2升序和降序

  • order by 列名 asc;(升序,默认值)
  • order by 列名 desc;(降序)

5.3 order by 子句必须出现在select语句的末尾。 示例:

China编程数学成绩排序后输出。
select name,math from stu order by math desc;
对总分排序按从高到低的顺序输出
select name,(math+english+chinese) as total from stu order by total desc;
对姓聪的学生成绩按照英语进行降序排序,英语相同学员按照数学降序
select name,english,math from stu order by english desc,math desc;
对姓聪的学生成绩排序输出
select name,(math+english+chinese) as total from stu where name like '聪%' order by total
desc;

6. 聚集函数 where,group by, having,order by

6.1聚集函数:总计某一列数据总和。一列的个数。一列的平均数。一列中最大值和最小值。

6.2聚集函数来操作列的。

count ---计数
sum  ---求和
ifnull --判断是否为空:语法:ifnul(xxx,0) 如果xxx为null,替换成0
avg           ‐‐ 平均值
max          ‐‐ 最大值
min          ‐‐ 最小值

练习:

统计一个班级共有多少学生?
select count(name) from stu;
统计数学成绩大于90的学生有多少个?
select count(math) from stu where math >= 90;
统计总分大于220的人数有多少?
select count(*) from stu where math + english+chinese > 200;
统计一个班级数学总成绩?
select sum(math) from stu;
统计一个班级语文、英语、数学各科的总成绩
select sum(math),sum(english),sum(chinese) from stu;
统计一个班级语文、英语、数学的成绩总和
select sum(ifnull(math,0)+english+chinese) from stu; select sum(math) + sum(english) + sum(chinese)from stu;
编写一条更新语句:update stu set math = null where id = 2;

到此这篇关于Mysql数据库中数据的操作(CRUD)的文章就介绍到这了,更多相关mysql 数据crud内容请搜索编程China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!

这篇关于Mysql数据库中数据的操作CRUD详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

从基础到高级详解Python数值格式化输出的完全指南

《从基础到高级详解Python数值格式化输出的完全指南》在数据分析、金融计算和科学报告领域,数值格式化是提升可读性和专业性的关键技术,本文将深入解析Python中数值格式化输出的相关方法,感兴趣的小伙... 目录引言:数值格式化的核心价值一、基础格式化方法1.1 三种核心格式化方式对比1.2 基础格式化示例

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编