MySQL--数据库基础

文章目录

1.ubentu下安装MySQL数据库

1.1查看操作系统版本

cpp 复制代码
lsb_release -a

1.2添加 MySQL APT 源

1.21访问下载页面并下载发布包

下载地址:下载地址




下载完后打开所在文件夹

1.22安装发布包

安装 rz 工具

cpp 复制代码
apt install lrzsz 

这是以及安装过的

rz 主要作用是从本地计算机向远程计算机上传文件。

rz安装完后将刚刚下载的文件拖拽至你的Linux界面上

查看目录:

1.23执行安装命令

cpp 复制代码
dpkg -i mysql-apt-config_0.8.32-1_all.deb

这里的版本和刚刚查看的版本对应相同

1.24从MySQL APT 源更新包信息

cpp 复制代码
apt-get update 

1.3安装MySQL

1.31执行安装命令

cpp 复制代码
apt-get install mysql-server

1.32确认安装的MySQL版本为8.0

设置密码:

选择密码策略:

1.4查看MySQL状态

cpp 复制代码
systemctl status mysql

1.5开启自启动

cpp 复制代码
systemctl enable mysql #设置⾃启动
systemctl list-unit-files|grep mysql #查看状态

1.6登录MySQL

cpp 复制代码
 mysql -uroot -p

2.数据库基础


2.1数据库理解

1.mysql是数据库服务的客户端
2.mysqld是数据库服务的服务器端
3.mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务

mysql是一套给我们提供数据存取的服务的网络程序

数据库一般指的是,在磁盘或内存中存储的特定结构组织的数据

数据库服务--mysqld

一般文件确实提供了数据的存储功能,但文件并没有提供非常好的数据管理能力。

数据库本质:对数据内容存储的一套解决方案,你给我字段或要求,我直接给你要求后的结果。

2.11建立数据库

先看一下mysql目录下的文件:

白色的是文件,蓝色的是目录

再在复制的会话中创建一个helloworld数据库

查看mysql目录

发现mysql目录下多了一个helloworld目录

得到结论:建立数据库,本质就是Linux下的一个目录。

2.12选择数据库

cpp 复制代码
use (数据库名)

2.13创建数据库表


进入helloworld数据库,发现建立了文件

结论:在数据库建表,本质是在Linux下创建文件

2.14表中插入数据

cpp 复制代码
insert into student ( name,age, gender) values ( '张三',22, '男');

2.15查询表中数据

cpp 复制代码
select * from student;

数据库本质也是文件,只是不由程序员进行操作,由数据库服务帮我们操作。

2.2主流数据库

SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。

Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。

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

PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研 究使用,可以免费使用,修改和分发。

SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 低,在嵌入式设备中,可能只需要几百K的内存就够了。

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

2.3服务器,数据库,表之间的关系

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

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

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

2.4MySQL架构

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

2.5sql分类

DDL【data definition language】 数据定义语言,用来维护存储数据的结构

代表指令: create, drop, alter

DML【data manipulation language】 数据操纵语言,用来对数据进行操作

代表指令: insert,delete,update

DML中又单独分了一个DQL,数据查询 语言,代表指令: select

DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务

代表指令: grant,revoke,commit

2.6存储引擎

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

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

2.61查看存储引擎:

cpp 复制代码
show engines;

2.62存储引擎对比:

相关推荐
小黄人软件几秒前
20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
数据库·sql·mysql
张声录15 分钟前
【ETCD】【实操篇(三)】【ETCDCTL】如何向集群中写入数据
数据库·chrome·etcd
无为之士11 分钟前
Linux自动备份Mysql数据库
linux·数据库·mysql
小汤猿人类25 分钟前
open Feign 连接池(性能提升)
数据库
阳冬园1 小时前
mysql数据库 主从同步
数据库·主从同步
XiaoH2331 小时前
培训机构Day15
sql·mysql
ThisIsClark1 小时前
【后端面试总结】MySQL主从复制逻辑的技术介绍
mysql·面试·职场和发展
Mr.132 小时前
数据库的三范式是什么?
数据库
Cachel wood2 小时前
python round四舍五入和decimal库精确四舍五入
java·linux·前端·数据库·vue.js·python·前端框架
Python之栈2 小时前
【无标题】
数据库·python·mysql