2023年---MySQL数据库 (个人学习记录)

为什么需要数据库?

◼ 任何的软件系统都需要存放大量的数据,这些数据通常是非常复杂和庞大的:

 比如用户信息包括姓名、年龄、性别、地址、身份证号、出生日期等等;

 比如商品信息包括商品的名称、描述、价格(原价)、分类标签、商品图片等等;

 比如歌曲信息包括歌曲的名称、歌手、专辑、歌曲时长、歌词信息、封面图片等等;

◼ 那么这些信息不能直接存储到文件中吗?可以,但是文件系统有很多的缺点:

 很难以合适的方式组织数据(多张表之前的关系合理组织);

 并且对数据进行增删改查中的复杂操作(虽然一些简单确实可以),并且保证单操作的原子性;

 很难进行数据共享,比如一个数据库需要为多个程序服务,如何进行很好的数据共享;

 需要考虑如何进行数据的高效备份、迁移、恢复;

 等等...

◼ 数据库通俗来讲就是一个存储数据的仓库,数据库本质上就是一个软件、一个程序。

常见的数据库有哪些?

◼ MySQL的介绍:

 MySQL原本是一个开源的数据库,原开发者为瑞典的MySQL AB公司;

 在2008年被Sun公司收购;在2009年,Sun被Oracle收购;

 所以目前MySQL归属于Oracle;

◼ MySQL是一个关系型数据库,其实本质上就是一款软件、一个程序:

 这个程序中管理着多个数据库;

 每个数据库中可以有多张表;

 每个表中可以有多条数据;

一·认识SQL语句

1.1 SQL语句的分类

1.2数据库的操作

1.3 数据表的操作

1.4 SQL的数据类型 -- 数字类型

1.5 SQL的数据类型 -- 日期类型

1.6 SQL的数据类型 -- 字符串类型

1.7 表约束

二、表的相关操作

2.1 创建一个完整的表

2.2 修改表

2.3创建新表-删除操作(DML语句)

2.4删除操作-更新操作(DML语句)

三、DQL语句

3.1 准备数据:

执行成功后:

3.2 基本查询

3.3、where查询条件

3.4、查询结果排序

3.5、分页查询

四、聚合函数

4.1 认识Group By

4.2、Group By的约束条件

4.3 创建多张表

4.4、插入模拟数据

4.5创建外键

4.6 外键存在时更新和删除数据

4.7 如何进行更新呢?

4.8什么是多表查询?

4.9 默认多表查询的结果

五、多表之间的连接

5.1 左连接(重要)

5.2 右连接(了解即可)

5.3 内连接(重要)

5.4 全连接(了解即可)

六、多对多关系数据准备

6.1创建关系表

6.2查询多对多数据(一)

6.3 查询多对多数据(二)

6.4 查询多对多数据(三)

相关推荐
Rain5095 小时前
mini-cc 的 MCP 协议:给 AI 装个 USB-C 接口
c语言·开发语言·前端·人工智能·架构·node.js·ai编程
YANQ6628 小时前
7.bundlesdf本地安装
前端·webpack·node.js
代码N年归来仍是新手村成员13 小时前
【AWS】Lambda 初识与服务部署
javascript·react.js·ai·node.js·云计算·ai编程·aws
wgc2k14 小时前
Nest.js基础-4:Nest.js,游戏服务器,微服务架构
游戏·typescript·node.js
wgc2k14 小时前
Nest.js基础-3:常用框架比较
typescript·node.js
乐于分享的阿乐1 天前
最新长期支持版本nodejs安装及环境配置(保姆级图文+安装包)
node.js
m0_535817551 天前
macOS上Claude Code安装配置保姆级教程:国内直连API,从0到1跑通(附避坑指南)
gpt·macos·ai·node.js·claude·claudecode·88api
五月君_2 天前
放弃 Python,Kimi 用 TS + Node.js 重写了一个 Kimi Code
开发语言·python·node.js
涛声依旧-底层原理研究所2 天前
Node.js在高并发低延迟场景中的优势
java·人工智能·python·node.js
晓杰'2 天前
从0到1实现Balatro游戏后端(5):得分计算与单局结算流程实现
后端·typescript·node.js·游戏开发·项目实战·nestjs·webscoket