《剑指数据库:MySQL基础·古风溯源》
https://i-blog.csdnimg.cn/direct/65ab0fb99f874bb494f7dc8c3a6163f9.gifhttps://i-blog.csdnimg.cn/direct/8097b308fd3b422eb7f2c32b443ce448.png
一、前言
在安装完MySQL后,接下来就为小同伴先容一下数据库基础,渴望各人能够有所劳绩!!!
二、正文
1.数据库基础
1.1 什么是数据库
有小同伴可能会问存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
①文件的安全性问题
②文件不利于数据查询和管理
③文件不利于存储海量数据
④文件在步伐中控制不方便
数据库存储介质:
①磁盘
②介质
为了办理上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有用的管理数据。数据库的水平是衡量一个步伐员水平的重要指标。
1.2 主流数据库
SQL Sever: 微软的产物,.Net步伐员的最爱,中大型项目。
Oracle: 甲骨文产物,适合大型项目,复杂的业务逻辑,并发一样平常来说不如MySQL。 MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。重要用在电商,SNS,论坛。对简朴的SQL处理效果好。
PostgreSQL :加州大学伯克利分校计算机系开辟的关系型数据库,不管是私用,商用,还是学术研 究利用,可以免费利用,修改和分发。
SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库 中。它的设计目的是嵌入式的,而且目前已经在很多嵌入式产物中利用了它,它占用资源非常的低,在嵌入式设备中,可能只必要几百K的内存就够了。
H2: 是一个用Java开辟的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
1.3 基本利用
1.3.1 MySQL安装
CentOS 6.5下编译安装MySQL 5.6.14_
CentOS 7 通过yum安装 MariaDB
Windows下安装MySQL5.7
1.3.2 毗连服务器
输入:
mysql -h 127.0.0.1 -P 3306 -u root -p
输出:
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21-log MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
mysql>
留意:
如果没有写 -h 127.0.0.1 默认是毗连当地
如果没有写 -P 3306 默认是毗连3306端口号
1.3.3 服务器管理
●执行 win+r 输入 services.msc 打开服务管理器
●通过下图左侧停止,暂停,重启动按钮举行服务管理
https://i-blog.csdnimg.cn/direct/24cb40d6700243fea2035b67214ea7cc.png
1.3.4 服务器,数据库,表关系
●所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统步伐,这个管理步伐可以管理多个数据库,一样平常开辟人员会针对每一个应用创建一个数据库。
●为保存应用中实体的数据,一样平常会在数据库中创建多个表,以保存步伐中实体的数据。
●数据库服务器、数据库和表的关系如下:
https://i-blog.csdnimg.cn/direct/08b1364532bf40f885a0555427e9ae60.png
1.3.5 利用案例
● 创建数据库
create database helloworld; ● 利用数据库
use helloworld; ● 创建数据库表
create table student(
id int,
name varchar(32),
gender varchar(2)
);
● 表中插入数据
insert into student (id, name, gender) values (1, '张三', '男');
insert into student (id, name, gender) values (2, '李四', '女');
insert into student (id, name, gender) values (3, '王五', '男');
● 查询表中的数据
select * from student; 1.3.6 数据逻辑存储
https://i-blog.csdnimg.cn/direct/31b73948baa34909a6e8da5abbf459e6.png
1.4 MySQL架构
MySQL 是一个可移植的数据库,险些能在当前所有的操作系统上运行,如 Unix/Linux、Windows、 Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的同等性。
1. MySQL数据库的基本架构组成
MySQL的架构可以分别为两个重要部门:
[*]服务器层(Server Layer):负责处理客户端的毗连、查询解析、优化和执行等操作。
[*]存储引擎层(Storage Engine Layer):负责数据的存储和提取,MySQL支持多种存储引擎,可以根据必要选择符合的存储引擎。
2. MySQL架构中的服务器层
服务器层是MySQL的核心部门,它包含以下几个关键组件:
[*]毗连器(Connector):处理客户端的毗连哀求,包罗用户认证和权限检查。
[*]查询缓存(Query Cache):在MySQL 8.0之前的版本中,查询缓存用于存储常用的查询结果,以减少重复查询的开销。但由于查询缓存的失效问题,MySQL 8.0已经移除了这一功能。
[*]分析器(Parser):对SQL语句举行词法分析和语法分析,确保SQL语句的正确性。
[*]优化器(Optimizer):根据分析器的结果,选择最优的执行操持,包罗索引选择和表毗连序次等。
[*]执行器(Executor):按照优化器天生的执行操持,调用存储引擎的API来执行SQL语句,并返回结果。
3. MySQL架构中的存储引擎层
存储引擎层是MySQL的数据存储和提取机制,它支持多种存储引擎,每种存储引擎都有其独特的特点和适用场景。MySQL支持的重要存储引擎包罗:
[*]InnoDB:支持事务处理、外键约束和行级锁,是MySQL的默认存储引擎。
[*]MyISAM:不支持事务和外键,但访问速度快,适合只读或读多写少的场景。
[*]Memory:数据存储在内存中,速度极快,但数据在数据库重启后会丢失。
[*]NDB:一种集群存储引擎,支持高可用性和高扩展性。
https://i-blog.csdnimg.cn/direct/74b723c9519e4853a9c02271c89bd4b7.png
1.5 SQL分类
●DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create, drop, alter DML【data manipulation language】 数据利用语言,用来对数据举行操作 代表指令: insert,delete,update
●DML中又单独分了一个DQL,数据查询语言,代表指令: select
●DCL【Data Control Language】 数据控制语言,重要负责权限管理和事务 代表指令: grant,revoke,commit
1.6 存储引擎
1.6.1 存储引擎
存储引擎是:数据库管理系统怎样存储数据、怎样为存储的数据创建索引和怎样更新、查询数据等技术 的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。
存储引擎是:数据库管理系统怎样存储数据、怎样为存储的数据创建索引和怎样更新、查询数据等技术 的实现方法。
1.6.2 查看存储引擎
show engines; https://i-blog.csdnimg.cn/direct/75b163af24ed403b8bc331e6863d6357.png
1.6.3 存储引擎对比https://i-blog.csdnimg.cn/direct/7df20a095b894a52a4f8d1fcd117834b.png
三、 结语
到此为止,本文关于MySQL基础内容到此竣事了,如有不足之处,欢迎小同伴们指出呀!
关注我 _麦麦_分享更多干货:_麦麦_-CSDN博客
各人的「关注❤️ + 点赞
页:
[1]