mysql数据库基础

发布于:2025-04-19 ⋅ 阅读:(20) ⋅ 点赞:(0)

一、连接服务器

mysql是一个网络服务,有很多的选项

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

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

-u:指明登录的用户

-p:指明需要输入密码
在这里插入图片描述

  1. 如果没有写 -h 127.0.0.1,默认连接的是本地的
  2. 如果没有写 -P 3306,默认连接的是3306端口号
  3. 目前是免密码登录的,后面一定要设置密码
  4. 密码输入的时候是不会回显的

二、什么是数据库

2.1 在服务器的角度

1. mysql是数据库服务的客户端
2. mysqld是数据库服务的服务端
3. mysql本质上是基于CS模式的一种网络服务
4. 它是基于tcp协议,端口号是3306

2.2 在用户的角度

  1. 数据库服务一般指的是mysqld
  2. mysql是一套给我提供数据存储的网络程序
  3. 数据库是数据存储的解决方案,给我们提供的数据存储的文件

2.3 用文件存储就可以,为什么要用数据库?

1. 文件一般提供了数据的存存储功能,但是没有很好的数据管理能力

文件保存数据的缺点:

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

数据库的存储介质:

  1. 数据库
  2. 内存

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

数据库能够更加有效的管理数据

三、数据库的使用样例

1. 使用mysql建立一个数据库和一张表结构,插入一些数据

1. 创建数据库

mysql -uroot -p
进入数据中进行操作
show databases;
// 展示数据库中的数据
create database helloworld;
// 创建新的数据库

在这里插入图片描述
数据库本质上是一个目录,被保存在 /var/lib/mysql
在这里插入图片描述
2. 选择并使用数据库
use helloworld;
在这里插入图片描述
3. 创建一张表
在这里插入图片描述
建立表的同时,数据库文件中多了两个文件
student.frm student.ibd
在这里插入图片描述
4. 在数据库中插入数据
insert into student(name,age,gender) values(‘张三’,20,‘男’);

在这里插入图片描述
5. 查询表中的数据
select * from student;
在这里插入图片描述
在这里插入图片描述

总结:
1. 建立数据库,本质上就是Linux下的一个目录
2. 在数据库中建立一张,本质就是在Linux下创建对应的文件
3. 数据库本质也是文件,只不过这些文件不是由程序员直接操作,而是程序员通过mysql向数据库服务mysqld发送请求,然后由mysqld帮我们进行操作
4. 上面这三点都是mysqld帮我们做的

四、主流数据库

mysql是关系型数据库,有行和列
SQL Sever
Oracle
PostgreSQL
SQLite
H2

五、服务器数据库表之间的关系

5.1 服务器管理

也可以在window上安装mysql
执行 win+r 输入 services.msc 打开服务管理器
通过下图左侧停止,暂停,重启动按钮进行服务管理
在这里插入图片描述

在这里插入图片描述

5.2 服务器,数据库,表关系

  1. 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库
  2. 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
    在这里插入图片描述

5.3数据库的逻辑存储结构

按行和列存储,二维的,实际在数据库中有自己存储格式

在这里插入图片描述

六、Mysql架构的理解

  1. MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。
    在这里插入图片描述
    1. 连接池:把连接做好管理,有权限认证,判断你是否是合法的用
    2.对mysql的指令做词法分析和语法分析
    3.不同种类的存储引擎因为数据有不同的种类,(有文本型的、二进制型的、大文件类型…… 针对不同种类的数据采用不同的存储方案,表现出来的效率是有区别的),对优化后的语句进行解释,然后交给下一层的文件系统完成相关的操作
    4.前三层都是用户层,在网络的角度都是应用层

七、SQL分类

1. DDL【data definition language】 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter(用来创建表结构的)
2. DML【data manipulation language】 数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言
代表指令: select
3. DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit

八、查看MySQL存储引擎

8.1 存储引擎

1. 存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。

8.2 查看存储引擎

show engines;

在这里插入图片描述

在这里插入图片描述

8.3 存储引擎对比

1. 最常用的存储引擎:innoDB和MyISAM
2. 配置文件中的默认存储引擎是innoDB,因为它支持事务,MyISAM支持多并发进行读取

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到