【MySQL】数据库基础

初识数据库

  • 一、什么是数据库
  • 二、mysql与mysqld
  • 三、服务器,数据库,表关系
  • 四、数据库创建与使用
    • 4.1 连接服务器
    • 4.2 数据库的基本使用
  • 五、MySQL架构
  • 六、存储引擎
  • 七、SQL分类

一、什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:

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

数据库存储介质:磁盘、内存

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

一般的文件确实提供了数据的存储功能,但是在用户角度文件并没有提供非常好的数据管理能力
数据库本质:是文件,是对数据内容存储的一套解决方案,根据字段或者要求,数据库文件直接返回结果

二、mysql与mysqld

在这里插入图片描述

  1. mysql它是数据库服务的客户端

  2. mysqld它是数据库服务的服务器端,也是一个守护进程、网络服务

  3. mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务
    既然是网络服务,启动是要绑定端口的,mysqld绑定了3306端口
    在这里插入图片描述

mysql是一套给我们提供数据存取的服务的网络程序
数据库一般指的是:在磁盘或者内存中存储的特定结构组织的数据,也可以说是将来在磁盘上存储的一套数据库方案

三、服务器,数据库,表关系

所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多
个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:
【MySQL】数据库基础_第1张图片

四、数据库创建与使用

4.1 连接服务器

mysql -h 127.0.0.1 -P 3306 -u root -p
-h:指明登陆部署了mysql服务的主机
-P:指明要访问的端口号(这个是可以修改的)
-u:指明登陆的用户(默认为root)
-p:指明要输入的密码,密码输入的时候,是不显示的

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

4.2 数据库的基本使用

创建数据库:create database 数据库名
使用数据库:use 数据库名
创建表:create table student

【MySQL】数据库基础_第2张图片
数据库建表成功后,在/var/lib/mysql/数据库名下,会多出两个文件(红框内)
在数据库内建立表,本质就是在Linux下创建对应的文件,只不过mysqld帮我们做了
【MySQL】数据库基础_第3张图片
添加数据并查看表
【MySQL】数据库基础_第4张图片

五、MySQL架构

【MySQL】数据库基础_第5张图片
mysql依旧是一个文件系统,但他是处于OS系统提供的文件系统之上的文件系统

六、存储引擎

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

MySQL的核心就是插件式存储引擎,支持多种存储引擎(如上图架构模型)

通过show engines命令可以查看mysql的存储引擎
【MySQL】数据库基础_第6张图片

七、SQL分类

  • DDL【data definition language】 数据定义语言,用来维护存储数据的结构
    代表指令: create(创建表), drop(去除表), alter(修改表)

  • DML【data manipulation language】 数据操纵语言,用来对数据进行操作
    代表指令: insert,delete,update

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

  • DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
    代表指令: grant,revoke,commit

你可能感兴趣的:(linux网络编程,MySQL,数据库,mysql,服务器)