[Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(二)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: [Java Web]MySQL数据库|一文带你了解并熟悉数据库相关知识和各种操作,超6000字详细介绍(二)

7、Data Manipulation Language(DML)

DML主要是对数据进行增(insert)删(delete)改(update)操作。

7.1、添加

给指定列添加数据->insert into 表名(列名1,列名2,…) values(值1,值2,…); (insert 插入、嵌入)

给全部列添加数据->insert into 表名 values(值1,值2,…);

批量添加数据->

insert into 表名(列名1,列名2,…) values(值1,值2,…),(值1,值2,…),(值1,值2,…)…;

insert into 表名 values(值1,值2,…),(值1,值2,…),(值1,值2,…)…;

7.2、修改

修改表数据->update 表名 set 列名1=值1,列名2=值2,… [where 条件] ;

注意:

1. 修改语句中如果不加条件,则将所有数据都修改!

2. 像上面的语句中的中括号,表示在写sql语句中可以省略这部分

编辑

7.3、删除

删除数据->delete from 表名 [where 条件] ;

Ex:delete from stu where name = '张三'; -- 删除张三记录

delete from stu; -- 删除stu表中所有的数据

8、Data Query Language(DQL)

使用背景:当我们浏览网页的时候,像百度搜索或者京东商品展示页面,这些页面上展示的数据肯定是在数据库中的表中存储,而我们需要将数据库中的数据查询出来并展示在页面给用户。但是数据库中的数据很多的,不可能在将所有的数据在一页进行全部展示,则页面上会有分页展示的效果

DQL是对数据进行查询操作

8.1、基础查询

查询多个字段->

select 字段列表 from 表名;

select * from 表名; -- 查询所有数据

去除重复记录->select distinct 字段列表 from 表名;

起别名->AS (AS 也可以省略)

Ex:select name,math as 数学成绩,english as 英文成绩 from stu;

8.2、条件查询

8.2.1、语法

select 字段列表 from 表名 where 条件列表;

8.2.2、条件

条件列表的运算符:

符号

功能

>

大于

<

小于

>=

大于等于

<=

小于等于

=

等于

<>或!=

不等于

BETWEEN . AND…

在某个范围之内(都包含)

IN(…)

多选一

LIKE占位符

模糊查询,"_"单个任意字符;"%"多个任意字符

IS NULL

是NULL

IS NOT NULL

不是NULL

AND或&&

并且

OR或Ⅱ

或者

NOT或!

非,不是

8.2.2.1、like

模糊查询使用like关键字,可以使用通配符进行占位:

(1)_ : 代表单个任意字符

(2)% : 代表任意个数字符

编辑

8.3、排序查询

语法->select 字段列表 from 表名 order BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;

上述语句中的排序方式有两种,分别是:

ASC : 升序排列 (默认值)

DESC : 降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

编辑

8.4、聚合函数

8.4.1、概念

将一列数据作为一个整体,进行纵向计算。

理解:假设有一份学生成绩单,要计算全班数学成绩的总和,即把学生的数学成绩那一列作为一个整体,进行纵向求和

8.4.2、聚合函数分类

函数名

功能

count(列名)

统计数量(一般选用不为null的列)

max(列名)

最大值

min(列名)

最小值

sum(列名)

求和

avg(列名)

平均值

8.4.3、语法

select 聚合函数名(列名) from 表;

注意:null 值不参与所有聚合函数运算

8.5、分组查询

8.5.1、语法

编辑

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

8.5.2、⭐Example

①启动MySQL

编辑

②创建一个数据库student

编辑

③使用数据库,准备开始操作

编辑

④创建表单stu

编辑

编辑

编辑

⑤向表中插入数据

编辑

编辑

⑥分组查询

编辑

可以看到,分组查询命令中,只有聚合函数部分决定结果,其余字段不影响。

8.6、分页查询

语法->select 字段列表 from 表名 limit 起始索引 , 查询条目数;

注意: 上述语句中的起始索引是从0开始

起始索引计算公式:起始索引 = (当前页码 - 1) * 每页显示的条数

9、Data Control Language(DCL)

DCL 是数据库管理系统中的一种语言,主要用于管理数据库中的用户权限和安全性。

DCL常用的命令有:

  • GRANT:用于给用户授予数据库对象的访问权限。
  • REVOKE:用于撤销用户的数据库对象的访问权限。

(grant:授予;revoke:撤回、撤销)

语法:

  • GRANT->grant 权限 on 数据库对象 to 用户 [with grant option];
  • REVOKE->revoke 权限 on 数据库对象 from 用户;

其中权限可以是 SELECT, INSERT, UPDATE, DELETE, EXECUTE 等。

数据库对象可以是表、视图、存储过程等。

例如:

-- 给用户张三授予读取表employee的权限

GRANT SELECT ON employee TO zhangsan;

-- 撤销用户张三读取表employee的权限

REVOKE SELECT ON employee FROM zhangsan;

需要注意的是,DCL 操作会影响到整个数据库的安全性和数据的可用性,因此需要特别小心。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
3月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
441 1
|
3月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
445 0
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
4月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
586 64
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
170 13
|
4月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
388 1
|
5月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
663 0
|
5月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
427 0
|
5月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
113 0
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
169 3

推荐镜像

更多