您的位置:首页 > 健康 > 美食 > MySQL复习1

MySQL复习1

2024/10/6 8:30:07 来源:https://blog.csdn.net/H520xcodenodev/article/details/141827882  浏览:    关键词:MySQL复习1

基本概念

OLTP

OLTP(On-Line transaction processing)翻译为联机事物处理;主要对数据库增删改查。

OLTP 主要用来记录某类业务事件的发生;数据会以增删改查的方式在数据库中更新处理操作,要求实施性强,稳定性高,确保数据及时更新。

OLAP

OLTP(On-Line Analytical Procesing)翻译为联机分析处理;主要对数据库查询。

当数据积累到一定程度,我们需要对过去发生的事情做一个总结,就需要将过去一段时间产生的数据拿出来统计分析,获取我们需要的信息。

SQL

结构化查询语言(Structured Query Language)简称 SQL,是一种特殊目的的编程语言,用来存取数据和查询、更新和管理关系数据库系统。SQL 是关系数据库系统的标准语言。

关系型数据库包括:MySQL, SQL Server, Oracle, Sybase, postgreSQL 和 MS Access 等;

SQL 包括:DQL,DML,DDL,DCL 和 TCL。

DQL

Data Query Languate:数据查询语言;

  • select :从一个或多个表中检索特定的记录。
DML

Data Manipulate Language:数据操作语言;

  • insert:插入记录;
  • update:更新记录;
  • delete:删除记录。
DDL

Data Define Language:数据定义语言;

  • create:创建一个新的表、表的视图、或在数据库中的对象;
  • alter:修改现有的数据库对象,例如修改表的属性或者字段。

MySQL 体系结构

image.png

从图中可以看到 MySQL 的组成部分:

  1. 连接池组件
  2. 管理服务和工具组件
  3. SQL 接口组件
  4. 查询分析器组件
  5. 缓冲组件
  6. 插件式存储引擎
  7. 物理文件

连接者

不同语言的代码程序和数据库交互(SQL 交互)。

MySQL 内部连接池

管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求。

查询解析器

将 SQL 对象交给解析器验证和解析,并生成语法树。

查询优化器

SQL 语言执行前使用查询优化器进行优化。

缓冲组件

数据库设计范式

为了建立冗余较小,结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则称为范式。范式是符合一种设计要求的总结。想要设计一个结构合理的关系型数据库,必须满足一定的范式。

范式一

确保每一列保持原子性,数据库表中所有字段都是不可分解的原子值;

例如某个表中有一个地址字段,如果需要经常访问地址字段中的城市属性,则需要将该字段拆为多个字段,省份、城市、详细地址等。

范式二

确保表中每列都和主键相关,而不能只与主键的某一部分相关;

范式三

确保每一列都和主键直接相关,而不是间接相关;减少冗余;

反范式

CRUD

执行过程

创建数据库

create database `firstdb` default character set utf8;

删除数据库

drop database `firstdb`;

选择数据库

use `firstdb`;

创建表

create table if not exists `animaltb` (  `id` int unsigned auto_increment comment '编号',  `type` varchar(10) not null comment '类别',  `height` decimal(8, 2) not null comment '身高',  primary key (`id`)  
)engine = innoDB default charset = utf8 comment = '动物表';

删除表

drop table `animaltb`;

清空数据表

truncate table `animaltb`; -- 截断表 以页为单位(至少有两行数据),有自增索引的话,从初始值开始累加
delete table `animaltb`; -- 逐行删除,有自增索引的从之前的继续累加

insert into `animaltb` (`type`, `height`) values  ('lion', 7.9);

delete from `animaltb` where id = 3;

update `animaltb` set `type` = 'lion' where id = 2;
update `animaltb` set `height` = `height` + 1 where id = 3;

select field1, field2, ...fieldn from table_name [where clause];

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com