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

相关文章

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁