MySQL数据库篇

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 1.约束• 1.1约束的概念和分类a. 约束的概念• 约束是作业于表中列上的规则,用于限制加入表的数据• 约束的存在保证了数据库中数据的正确性,有效性和完整性

数据库

1.约束

  • 1.1约束的概念和分类
  1. 约束的概念
  • 约束是作业于表中列上的规则,用于限制加入表的数据
  • 约束的存在保证了数据库中数据的正确性,有效性和完整性
  1. 约束的分类
约束名称 描述 关键字
非空约束 保证列中所有数据不能有null值 NOT NULL (not null)
唯一约束 保证列中所有数据各不相同 UNIQUE (unique)
主键约束 主键是一行数据的唯一标识,要求非空且唯一 PRIMARY KEY primary key)
检查约束 保证列中的值满足某一条件 CHECK (check)
默认约束 保存数据时,未指定值则采用默认值 DEFAULT (default)
外键约束 外键用来让两个表的数据之间建立连接,保证数据的一致性和完整性 FOREIGN KEY (foreign key)
  1. 注:后面关键字建议使用大写,MySql不支持检查约束

2.数据库设计

  1. 软件的研发步骤
  • image-20220415150715068.png
  1. 数据库设计概念 
  • 数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型
  • 建立数据库中的表结构以及表与表之间的关联关系的过程
  • 表关系有一对一,一对多,多对多
  1. 数据库设计的步骤
  1. 需求分析(数据是什么?数据具有哪些属性?数据与属性的特点是什么?)
  2. 逻辑分析(通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)
  3. 物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)
  4. 维护设计1.对新的需求进行建表;2.表优化
  1. 表关系
一对多 多对多 一对一
一对多如:部门表和员工表,一个部门对应多个员工,一个员工对应一个部门 多对多如:订单和商品,一个商品对应多个订单,一个订单对应多个商品 一对一如:用户与用户详情,一对一关系多用于表拆分,将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,用于提升查询性能
实现方式:在多的一方建立外键,指向一的一方的主键 实现方式:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键 实现方式:在任意一方加入外键,关联另一方主键,并且设置外键为唯一(UNIQUE)

3.多表查询

  1. 多表查询:从多张表查询数据
  • 连接查询
  • 内连接:相当于查询AB交集数据
  • 隐式内连接:SELECT  字段列表  FROM  表一,表二...  WHERE  条件;
  • 显示内连接:SELECT  字段列表  FROM  表1  [INNER] JOIN 表2  ON  条件;
  • 外连接:
  • 左外连接:相当于查询A表所有数据和交集部分数据
  • SELECT  字段列表  FROM 表1 LEFT  [OUTER]  JOIN  表2  ON  条件;
  • 右外连接:相当于查询B表所有数据和交集部分数据
  • SELECT  字段列表  FROM 表1 RIGHT  [OUTER]  JOIN  表2 ON  条件;
  • 如图:image-20220415155505389.png
  • 子查询
  1. 查询中嵌套查询,称嵌套查询为子查询
  2. 子查询根据查询结果不同,作用不同分
单行单列 多行单列 多行多列
作为条件值,使用=!= > < 等进行条件判断 作为条件之,使用in等关键字进行条件判断 作为虚拟表
SELECT 字段列表 FROM 表 WHERE 字段名 = (子查询); SELECT 字段列表 FROM 表 WHERE 字段名 in (子查询); SELECT 字段列表 FROM 子查询 WHERE 条件;

4.事务

  • 事物简介
  • 数据库的事务是一种机制,一个操作序列,包含了一组数据库操作命令
  • 事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同时成功,要么同时失败。
  • 事物是一个不可分割的逻辑单元
开启事务 提交事务 回滚事务
START TRANSACTION; COMIT ROLLBACK
或 BEGIN;
  • MySQL事务默认自动提交
  • 查看事务的默认提交方式  SELECT @@autocommit;
  • 修改事务提交方式:1自动提交0手动提交  set @@autocommit = 0;
  • 事务四大特征
原子性 一致性 隔离性 持久性
事务是不可分割的最小操作单位,要么同时成功,要么同时失败 事务完成时,必须所有的数据都保证一致状态 多个事务之间,操作的可见性 事务一旦提交或回滚,它对数据库中的数据的改变就是永久的
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
SQL 存储 关系型数据库
什么时候用sql数据库
在以下情况下,使用SQL数据库是合适的: 1. **数据存储在关系型数据库中**:如MySQL、PostgreSQL、Oracle等。因为SQL是关系型数据库的标准查询语言,能够方便地从数据库中
|
4月前
|
SQL 存储 关系型数据库
SQL数据库
【7月更文挑战第30天】SQL数据库
42 8
|
5月前
|
存储 SQL 关系型数据库
初步认识Mysql数据库
初步认识Mysql数据库
32 1
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库
【6月更文挑战第14天】MySQL数据库
55 2
|
SQL 存储 关系型数据库
MYSQL数据库2
MYSQL数据库2
142 0
|
6月前
|
SQL NoSQL 关系型数据库
初识MySQL数据库——“MySQL数据库”
初识MySQL数据库——“MySQL数据库”
|
SQL 关系型数据库 MySQL
MySQL数据库(三)
MySQL数据库(三)
|
关系型数据库 MySQL 数据库
MySQL数据库(二)下
MySQL数据库(二)下
|
存储 关系型数据库 MySQL
|
SQL 存储 监控
简单说一下使用SQL数据库的心得
简单说一下使用SQL数据库的心得
106 1