当前位置: 首页 > news >正文

初识MYSQL —— 数据库基础

什么是数据库?

数据库是按照数据结构化来组织、存储和管理数据的仓库。(存放数据的仓库)

它是一个按照特定规则存储在计算机存储设备上的数据集合。

简单来说,数据库就是用来存储数据的仓库;那 文件也可以存储数据啊,为什么要使用数据库存储呢?

我们知道文件存储数据时,从文件中读取数据时,是按字节流读取的;还要将读取到的字节流数据转化为我们需要的数据,这一些列操作都需要我们自己去做。

如果文件中的数据特别多时,我们进行数据查询和管理都会特别的麻烦。

并且使用文件存储数据,文件也无法保证数据的安全性。

而数据库是按照数据结构化来存储和管理数据,在我们进行数据查询和管理时相比于文件会便利很多。

并且使用数据库存储数据,数据安全性也要比文件好。

理解mysql数据库

在安装完成mysql数据库之后,在我们的服务器中,不仅仅只存在mysql、还存在一个mysqld

在这里插入图片描述

  • mysql : 数据库服务的客户端
  • mysqld : 数据库服务的服务器端(守护进程)

mysql数据库本质:基于C/S模式的一种网络服务

所以,mysql是一种提供数据存取服务的网络服务。

在登录mysql时,可以指定ip地址和端口号:

在这里插入图片描述

  • -h : 表示要登录数据库所在主机的ip地址
  • -P : 指明端口号
  • -uuser登录用户
  • -ppassword密码登录

而我们在本机登录时,就可以省略ip地址;如果在/etc/my.cnf中配置了端口号,也可以省略-P端口号。

所以,mysql数据库是存在客户端和服务端的,systemctl start mysql命令就是启动mysqld服务。

那也就是说我们使用的mysql都是服务端,登录数据库之后,进行相关操作(发送请求给服务端);

服务端mysqld在接受请求后,访问磁盘文件,进行对应操作,然后将结果再返回给客户端。

在这里插入图片描述

数据库本质

简单了解了mysql数据库,使用mysql要创建数据库,创建对应的表啊;数据库、表在linux中又是什么呢?

1. 数据库

我们知道,mysql的数据存储在:/var/lib/mysql路径下:
在这里插入图片描述

在这里插入图片描述

当前服务器中是没有创建对应的数据库和表的;使用create database语句可以创建一个数据库

create database helloworld;

在这里插入图片描述

可以看到,创建完helloworld数据库之后,在var/lib/mysql路径下,就多了一个helloworld目录。

Linux中数据库本质上就是一个目录

创建完数据库,要使用该数据库,就要使用use语句。

use helloworld;

2. 数据表

数据库本质就是一个目录,那表呢?

这里,创建表就要使用cteate table语句:

create table student(id int,name varchar(32),gender verchar(2)
);

在这里插入图片描述

在刚创建的helloworld数据库中,当前是没有任何数据表的,现在创建一个student数据表。

在这里插入图片描述

可以看到,在helloworld数据库中创建的student数据表,就是在/var/lib.mysql路径下的一个普通文件。

3. 插入/访问数据

数据库相当于linux中的一个目录,数据表相当于数据库目录中的一个普通文件。

那插入、访问数据呢?

使用insert into语句可以像数据库中插入数据:

insert into student(id,name,gender) values("1","小廉","男");

在这里插入图片描述

这里向表中插入的三条数据,此时再查看student数据表对应的文件,文件大小并没有改变(这里暂时不关注这个问题)

要查看刚插入的三条数据,可以使用select语句:

select * from stident;

在这里插入图片描述

4. 服务器、数据库和数据表

所谓的安装数据库服务器,只不过是在机器上按照了一个数据库管理系统程序,该程序可以管理多个数据库。

一般情况下,在数据库中会创建多个表,用来保存应用中实体的数据。

数据库服务器、数据库和表的关系如下:

在这里插入图片描述

总结:

  • 创建数据库,本质上就是在linux中创建一个目录(数据存储路径下)。
  • 创建数据表,本质上就是在数据库目录文件中,创建对应的文件。
  • 插入数据,本质就是文件写入,访问数据,本质就是文件读取。
  • 创建数据库、表、访问数据,这些工作都是有数据库服务mysqld完成的。

linux中创建一个目录(数据存储路径下)。

  • 创建数据表,本质上就是在数据库目录文件中,创建对应的文件。
  • 插入数据,本质就是文件写入,访问数据,本质就是文件读取。
  • 创建数据库、表、访问数据,这些工作都是有数据库服务mysqld完成的。

这里管理MYSQL架构、存储引擎,这里就不介绍了,感兴趣可以了解一下。

本篇文章到这里就结束了,感谢支持
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2oul0hvapjsws

http://www.dtcms.com/a/406623.html

相关文章:

  • PHP 8.5 升级指南 了解即将废弃的 11 个功能和完整迁移方案
  • 月饼杯II
  • OpenHarmony位置服务模块架构设计
  • 河南制作网站国外wordpress主题
  • C# WPF DataGrid 数据绑定时的单元格编辑类型模板
  • 天津微网站做年报的网站
  • Marin说PCB之POC电路layout设计仿真案例---13
  • 随堂笔记2025-925
  • 龙岩建网站wordpress php7 500
  • 阿里云 iis 多个网站建筑公司资质
  • Python读取MongoDB的JSON字典和列表对象转为字符串
  • 论证框架的四个核心问题(概念界定/基础理论/研究模型/研究假设)的因果链
  • IO流与网络编程
  • 案例18-新增搜索留言功能
  • Codeforces Round 1047 (Div. 3) F题题解记录
  • 基于 Redis 的分布式锁
  • 郑州视频网站建设wordpress登录去不了后台
  • 淮安做网站杨凯企业建站官网运营
  • django 使用绑定多个数据库实现数据的同步
  • 面试复习题---Android技术专家3
  • 云手机与人工智能之间的关系
  • 做网站对电脑要求高吗荆州市住房和城乡建设厅官方网站
  • Python 高效实现 PDF 转 Word:告别手动复制粘贴
  • 9.9元奶茶项目:matlab+FPGA的cordic算法(向量模式)计算相位角
  • 广州越秀公司网站建设电子商务基础网站建设与维护单项选择题
  • 网站技术培训学校世界知名网站
  • 专业做消防工程师的正规网站做网站百度推广多少钱
  • mysql的 启动 与 客户端连接
  • 【星海出品】rabbitMQ队列处理深入研究
  • Mysql常见八股文