《剑指数据库:MySQL基础·古风溯源》

打印 上一主题 下一主题

主题 982|帖子 982|积分 2946

 



一、前言

         在安装完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 毗连服务器 

输入:
  1. mysql -h 127.0.0.1 -P 3306 -u root -p
复制代码
输出:
  1. ​Enter password: ****
  2. Welcome to the MySQL monitor. Commands end with ; or \g.
  3. Your MySQL connection id is 2
  4. Server version: 5.7.21-log MySQL Community Server (GPL)
  5. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  6. Oracle is a registered trademark of Oracle Corporation and/or its
  7. affiliates. Other names may be trademarks of their respective
  8. owners.
  9. Type 'help;' or '\h' for help. Type '\c' to clear the current input
  10. statement.
  11. mysql>
复制代码
  留意
  如果没有写 -h 127.0.0.1 默认是毗连当地
  如果没有写 -P 3306 默认是毗连3306端口号
  1.3.3 服务器管理

   ●执行 win+r 输入 services.msc 打开服务管理器
  ●通过下图左侧停止,暂停,重启动按钮举行服务管理
  

1.3.4 服务器,数据库,表关系

   ●所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统步伐,这个管理步伐可以管理多个数据库,一样平常开辟人员会针对每一个应用创建一个数据库
  ●为保存应用中实体的数据,一样平常会在数据库中创建多个表,以保存步伐中实体的数据
  ●数据库服务器、数据库和表的关系如下:
  

1.3.5 利用案例

● 创建数据库
  1. create database helloworld;
复制代码
● 利用数据库
  1. use helloworld;
复制代码
● 创建数据库表
  1. create table student(
  2.   id int,
  3.   name varchar(32),
  4.   gender varchar(2)
  5. );
复制代码
● 表中插入数据
  1. insert into student (id, name, gender) values (1, '张三', '男');
  2. insert into student (id, name, gender) values (2, '李四', '女');
  3. insert into student (id, name, gender) values (3, '王五', '男');
复制代码
● 查询表中的数据
  1. select * from student;
复制代码
1.3.6 数据逻辑存储


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‌:一种集群存储引擎,支持高可用性和高扩展性。
  

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 查看存储引擎

  1. show engines;
复制代码

1.6.3 存储引擎对比


三、 结语

             到此为止,本文关于MySQL基础内容到此竣事了,如有不足之处,欢迎小同伴们指出呀!
           关注我 _麦麦_分享更多干货:_麦麦_-CSDN博客
           各人的「关注❤️ + 点赞
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表