首页 > 数据库 >数据库的基本使用

数据库的基本使用

时间:2024-09-17 09:53:46浏览次数:3  
标签:基本 存储 SQL 数据库 使用 引擎 MySQL 数据

 数据存储逻辑

      数据存储的逻辑是行和列。我们根据数据库中的表的结构来认识数据的存储结构,用什么的结构去呈现我们所要存储的数据。


                             


6.2 数据库架构

      MySQL是一种可移植的数据库,几乎能在当前所有的操作系统中运行,如Unix/Linux,Win上的dows,Mac和Solaris。各种系统在底层实现方面有所不同,但是MySQL基本能保证在各个平台上的物理体系结构的一致性。


MySQL的架构如下图所示:




MySQL架构主要可分为如下四层:


连接层:主要完成一些类似连接处理,授权认证及相关的安全方案。解决安全和权限的管理。

服务层:在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断、SQL接口、SQL解析、SQL分析优化、缓存查询的处理以及部分内置函数执行等。各个存储引擎提供的功能都集中在这一层,如存储过程、触发器、试图等。解决词法、语法的分析。

引擎层:由多种可拔插的存储引擎共同组成,真正负责MySQL中数据的存储和提取,每个存储引擎都有自己的优点和缺陷,服务层是通过存储引擎API来与它们交互的。

存储层:将数据存储在裸设备的文件系统之上,完成存储引擎的交互。利用文件系统将不同类型的数据存储在不同类型的文件中。

6.3 SQL分类

SQL语句分为三类:DDL,DML,DCL:


DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create, drop, alter

DML【data manipulation language】 数据操纵语言,用来对数据进行操作 代表指令: insert,delete,update DML中又单独分了一个DQL,数据查询语言,代表指令: select

DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务 代表指令: grant,revoke,commit

6.4 存储引擎

存储引擎的定义:

      存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。


      MySQL的核心就是插件式存储引擎,支持多种存储引擎。


利用指令查看存储引擎:

利用指令查看存储引擎:show engines;




其中MySQL底层默认使用的存储引擎是InnoDB,该存储引擎支持事务、行级锁、外键等。


存储引擎的对比:

各个存储引擎对比如下:




      在大多数情况下,只用两个存储引擎常用:innoDB,MylSAM。InnoDB存储引擎是支持事务的,而MyISAM存储引擎是不支持的,但是MylSAM支持多并发及其读取。

主流数据库(基本都是关系型数据库)

SQL Server:用于中大型项目


Oracle:用于大型项目,复杂的业务逻辑,并发一般来说不如MySQL


MySQL:世界上最受欢迎的数据库,并发性好,不适合做复杂的业务,主要用于在电商,SNS,论坛,对简单SQL语句处理效果好


PostgeaSQL:关系型数据库,可以进行免费使用,修改和分发


SQLite:一款轻型数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中,其设计目的是嵌入式的,占用资源低


H2:是一个在Java开发的嵌入式数据库,其本身只是一个类库,可以直接嵌入到应用项目中


五、服务器、数据库、表关系

      所谓安装数据库服务器,只是在机器上安装一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。


      为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

1.1 数据库登录选项



-h:指明登录部署了mysql的服务主机

-P:指明我们要访问的端口号

-u:指明登录用户

-p:指明需要输入的密码

1.2 一些细节

目前是免密登录,后面必须设置密码。

密码输入的时候是不会显示的。

二、什么是数据库?

2.1 简要介绍一下mysql和mysqld

mysql是数据库服务的客户端

mysqld是数据库服务的服务器端

mysql本质,是基于 C(mysql)S(mysqld)模式的一种网络服务

2.2 对外提供存储服务

2.2.1 数据库的本质

      MySQL是一套提供数据存取服务的网络程序,数据库一般指的是:在磁盘或者内存中存储特定结构组织的数据——将来在我们的磁盘中存储的数据库方案,数据库服务mysqld


标签:基本,存储,SQL,数据库,使用,引擎,MySQL,数据
From: https://blog.51cto.com/u_16270487/12036107

相关文章

  • Faiss向量数据库
    安装Faiss:......
  • WGCAT使用教程 - 如何导出工单记录
    可以导出的WGCAT工单管理系统,支持将工单数据导出为PDF文件,如下图......
  • 汽车资讯网站|基于springboot+vue的汽车资讯网站(源码+数据库+文档)
    汽车资讯网站目录基于springboot+vue的汽车资讯网站一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领......
  • 企业管理|基于springboot+vue的企业OA管理系统(源码+数据库+文档)
    企业管理目录基于springboot+vue的企业OA管理系统一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域......
  • 智慧宿舍平台|基于Springboot+vue的智慧宿舍系统(源码+数据库+文档)
    智慧宿舍系统目录基于Springboot+vue的智慧宿舍系统一、前言二、系统设计三、系统功能设计四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域......
  • 电子竞技信息交流平台|基于java的电子竞技信息交流平台系统小程序(源码+数据库+文档)
    电子竞技信息交流平台系统小程序目录基于java的电子竞技信息交流平台系统小程序一、前言二、系统设计三、系统功能设计四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计......
  • 课堂助手|微信课堂助手系统小程序(源码+数据库+文档)
    课堂助手|课堂助手系统小程序目录微信课堂助手系统小程序一、前言二、系统设计三、系统功能设计四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台......
  • WinForms_使用StatusStrip控件在窗体底部显示状态信息
    StatusStrip控件的用途·状态信息显示:可以用来显示程序运行时的状态信息,如加载进度、状态提示、时间等。·添加控件:可以在StatusStrip上添加多个控件,比如ToolStripStatusLabel(用来显示标签文本),ToolStripProgressBar(用来显示进度条)等。·布局:StatusStrip控件会自......
  • SQL Server_查询某一数据库中的所有表的内容
    1.查看所有表的表名要列出CrabFarmDB数据库中的所有表(名),可以使用以下SQL语句:USECrabFarmDB;--切换到目标数据库GOSELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_TYPE='BASETABLE';对这段SQL脚本的解释:SELECTTABLE_NAME:这个语句的作用是......
  • Shell脚本——menu菜单(read、while、case的使用)
    ################################################################################Shell脚本提高工作效率;#Shell脚本定义功能函数;#Shell脚本定义功能分支过多,通过相对路径调用功能Shell脚本,另起炉灶。#Shell脚本通过外部交互输入变量值,例如:read-p"变量含义文本信息:"......