【数据库基础】基本认识数据库--入门引导

什么是数据库?

数据库是指在磁盘和内存中存储特定结构组织数据。数据库通常用于存储于某个系统、组织或应用相关的信息。和文件系统存储管理数据的方式不同,数据库以结构化的方式进行存储,比如按行列式(类似于表格)
等形式。除此之外,相比于文件系统,数据库保存数据还有以下优点:

  • 数据更加安全
  • 更有利于数据的查询和管理
  • 有利于存储大量数据
  • 控制数据方便

数据库存储的介质:磁盘和内存

主流数据库

  • SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好
  • PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中

基本使用

安装MySQL

在安装MySQL之前建议先去查看当前linux系统的版本,版本越新的系统最好搭配越新的MySql。如果你是ubuntu系统,直接使用指令sudo apt install mysql-server就可以安装了。这是因为ubuntu内置了最新版本的MySql。

连接服务器

当我们安装好MySql之后,一般都会默认启动MySql服务。可以使用指令ps ajx | grep mysql观察mysql进程:
在这里插入图片描述
此时要想进入mysql,需要先登录。本地登录指令mysql -u root -p
-u选项后面跟着登录的用户名
-p选项后面跟密码
此外 -h选项后面跟登陆的主机号 -P后面接访问的端口号
在这里插入图片描述
默认没有密码,直接按回车就可以进去了。退出输入quit

服务器、数据库、表关系

值得注意的是,mysql是数据库服务的客户端,mysqld是数据库服务的服务端(后端)。
在这里插入图片描述
mysql的本质是基于C(mysql,客户端)S(mysqld,服务端) 模式的一种网络服务。我们常说的mysql其实只是指mysql服务的客户端数据库服务才是指mysqld

  • 所谓的安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库。
  • 数据库中一般会有多个表,表是数据库的基本单位,每张表存储具体的数据

数据库服务器、数据库、和表的关系如下:
在这里插入图片描述
DB是存储引擎。

使用案例

登录mysql,简单使用一下mysql指令,目前不用考虑指令的细节,观察结果即可。

  • 创建数据库
create database helloworld;

在这里插入图片描述
在mysql创建的数据库一般会存放在/var/lib/mysql目录下,并且我们可以看到,数据库本质是一个文件目录。

  • 查看当前数据库
show databases;

在这里插入图片描述

  • 使用数据库
use helloworld;

这条指令表示接下来的操作都是在helloworld数据库中进行。比如新建一张表,该表就属于该数据库。

  • 在数据库中创建表
create table student(
   id int,
   name varchar(32),
   gender varchar(2)
);

sudent是表的名字,括号里面的是表的属性,以键值对的形式描述,左边是属性名,右边是类型,()里面是字节大小。
在这里插入图片描述

  • 在表中插入数据
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

查询并显示student表中所有信息
在这里插入图片描述

数据逻辑存储

数据库中的存储逻辑是指数据在数据库系统中组织和表示方式,主要关注数据的结构和关系,而不是物理存储的的具体实现。简单理解为,逻辑存储方式是用来描述人看到的数据的表现形式,而物理存储方式是数据具体在磁盘中存储形式。

mysql的逻辑存储方式就是行列式
在这里插入图片描述

MySQL架构

MySQL是一个可移植的数据库服务程序,几乎能在当前所有操作系统上运行。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性

MySQL的架构从上到下一般可以分为4个层次:

  1. 连接层:客户端通过连接层与 MySQL 服务器建立连接
  2. 服务层:解析SQL语句,优化查询,生成执行计划
  3. 存储引擎层:查询执行计划通过存储引擎 API 与相应的存储引擎交互,读取或写入数据
  4. 存储层:数据最终存储在文件系统中

在这里插入图片描述
这种分层结构使MySQL具有良好的可扩展性和灵活性,各个层次之间的职责分明,方便优化和扩展

SQL语句分类

mysql中的指令我们称为SQL语句。

  • DDL(data definition language):数据定义语言,用来维护存储数据的结构,代表指令有:create(创建表)、drop(删除表)、alter(修改表)。
  • DML(data manipulation language):数据操纵语言,对数据进行操作。代表指令有:insert(向表中插入数据)、delete(向表中删除数据)、update(修改表中数据)
  • DCL(data Control language):数据控制语言。主要负责权限事务管理。代表指令有:grant(授予用户权限)、revoke(撤销用户权限)、commit(提交事务)

什么叫存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术
实现方法。我们输入的sql指令最后都是由存储引擎来实现的。并且,MySQl针对不同的场景,提供了不同的存储引擎。这种插件式存储引擎使得MySQL更加灵活且高效。

我们在mysql种可以使用指令show engines;来查看不同的引擎:
在这里插入图片描述

其中呢InnoDB存储引擎是最常用的,其次是MyISAM。这些引擎目前了解即可

  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值