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

相关文章

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注