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

[MySQL初阶]MySQL数据库基础

MySQL数据库基础

  • 1. 数据库基础
    • 1.1 什么是数据库
    • 1.2 主流数据库
  • 2. 数据库的基本使用
    • 2.1 连接服务器
    • 2.2 使用案例
    • 2.3 数据逻辑存储
  • 3. MySQL架构与分类
    • 3.1 MySQL架构
    • 3.2 SQL分类
  • 4. 存储引擎
    • 4.1 存储引擎基本概念
    • 4.2 存储引擎基本操作

1. 数据库基础

1.1 什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便

数据库存储介质:

磁盘(MySQL)
内存

为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。

数据库是一整套的数据存储容灾解决方案。是经过系统化组织的结构化数据集合,本质上是由数据库管理系统(DBMS)管理的特殊格式文件集合。这些文件通过高度优化的二进制格式存储,包含数据表、索引、事务日志等核心组件,普通文本编辑器无法直接解析其内容。
数据库有数据库文件(说白了就是磁盘文件,如fopen、open打开文件等操作),数据库服务器,数据库服务端。

数据库客户端:
在这里插入图片描述
(或是图形界面的mysql客户端)

数据库服务器:

在这里插入图片描述

在这里插入图片描述
mysql本质也是个网络服务,mysql服务本质就是网络服务器进程与文件的关系。

1.2 主流数据库

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

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

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

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

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

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

2. 数据库的基本使用

2.1 连接服务器

mysql服务可以跨网络

# mysql -h  代表连谁

# -P 端口号 
# 在企业中,MySQL不能暴露在公网上
# MySQL一般会更改一下服务端口

# -u 代表是谁

mysql -h 127.0.0.1 -P 3306 -u root -p # 连本地
mysql > quit # 退出mysql

mysql -uroot -p # 也可以登录上mysql

# 如果没有写-h 127.0.0.1 默认是连接本地
# 如果没有写-P 3306 默认是连接3306端口号

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

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

数据库服务器(此处指的mysql软件)、数据库和表的关系如下:
在这里插入图片描述

2.2 使用案例

# root
cd /var/lib/mysql # 默认数据存储目录

在 Linux 系统中,/var/lib/mysql 是 MySQL/MariaDB 数据库的默认数据存储目录,存放着数据库的核心运行数据和系统文件。

创建数据库

create database test;

在这里插入图片描述

-a(–all):显示所有文件(包括以 . 开头的隐藏文件)

-l(–long):以长格式显示详细信息(权限、所有者、大小、时间等)

-d(–directory):仅显示目录本身的信息,而非其内容

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

相关文章:

  • jdk21新特性详解使用总结
  • TypeScript extends 全面解析
  • work02_1 计算这两个日期之间相隔的天数
  • 手机改了IP地址,定位位置会改变吗?
  • Java面试黄金宝典29
  • 蓝桥备赛指南(13):填空签到题(1-1)
  • 车辆控制解决方案
  • 如何通过安当TDE透明加密实现MySQL数据库加密与解密:应用免改造,字段与整库加密全解析
  • MySQL主从复制(四)
  • WEB安全--文件上传漏洞--其他绕过方式
  • OpenLayers:封装Overlay的方法
  • WASM I/O 2025 | MoonBit获Kotlin核心开发,Golem Cloud CEO高度评价
  • 人工智能赋能管理系统,如何实现智能化决策?
  • 操作系统(中断 异常 陷阱) ─── linux第28课
  • 脑影像分析软件推荐 | JuSpace
  • 【kubernetes】pod拉取镜像的策略
  • 关于SQL子查询的使用策略
  • ​自动化网络架构搜索(Neural Architecture Search,NAS)
  • RNN模型与NLP应用——(9/9)Self-Attention(自注意力机制)
  • 1Panel 面板 宝塔面板 Ubuntu 24.04
  • 叁仟数智指路机器人是否支持远程监控和管理?
  • Rclone同步Linux数据到google云盘
  • 【SQL】MySQL进阶3:Innodb引擎结构,事务与ACID的实现
  • Apifox Helper 与 Swagger3 区别
  • 一个服务器算分布式吗,分布式需要几个服务器
  • 电子企业MES管理系统智能排产与动态调度优化
  • 化工网平台API接口开发实战:从接入到数据解析‌
  • 递归(实践版)
  • 阿里云AI Studio 2.0:拖拽搭建企业级智能客服系统
  • 信息学奥赛一本通 1611:仓库建设 | 洛谷 P2120 [ZJOI2007] 仓库建设