• MySQL——数据库基础


    1 存储数据的方式:

    1.1 文件保存数据:

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

    1.2 数据库保存数据:

    通过磁盘或内存存储数据,可以更有效地管理数据

    2 什么是数据库

    2.1 软件角度:

    在用户和磁盘文件添加一个软件层,这个软件就是数据库,它专门用来进行数据管理,用户通过SQL语句访问数据库,数据库再去访问磁盘文件,即数据库可以帮助用户或者用户程序更方便地进行数据管理
    即数据库是一款服务器软件,帮助用户维护文件,属于应用层
    ps:MySQL WorkBench:官方自带的图形化界面客户端

    数据库和文件的关系:

    (1)数据库也是用文件进行数据保存的;
    (2)数据库通过自己的存储引擎和文件进行交互

    2.2 文件角度:

    (1)数据库服务器(mysqld)
    (2)数据库的库+表结构
    (3)数据库客户端(mysql)

    2.3 系统角度

    数据库是需要用户自己安装的,底层直接或间接访问OS 的文件接口

    3 mysql的启动

    3.1 查看mysql是否启动

    # 查看mysql是否启动
    ps axj | grep mysql
    
    • 1
    • 2

    在这里插入图片描述

    3.2 查看网络服务

    # 查看网络服务
    sudo netstat -nltp
    
    • 1
    • 2

    在这里插入图片描述

    3.3 查看mysql的相关文件

    mysql:mysql命令行客户端
    mysqld:mysql网络服务器
    在这里插入图片描述
    mysql的配置文件
    /etc/my.cnf
    在这里插入图片描述

    datadir:数据库中的库+表保存的位置
    查找该路径文件,可以看到有系统自带和用户创建的数据库的库和表文件,由此可知,创建数据库就是在datadir的路径下创建了一个文件夹,创建表就是在对应的数据库文件夹里创建了几个文件
    在这里插入图片描述
    在这里插入图片描述
    创建表时产生的文件个数和存储引擎的选择有关,INNoDB产生两个文件
    .frm:保存表结构
    .ibd:保存数据和索引

    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

    5 存储引擎

    5.1定义

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

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

    // 查看mysql支持的存储引擎
    mysql> show engines;
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
    | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
    | CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
    | ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
    | PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
    | FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    ​统信UOS丨开机无法进入系统丨进阶操作
    xss反射型漏洞复现
    入门力扣自学笔记203 C++ (题目编号:878)
    美颜SDK免费版怎么样?应该如何选择美颜SDK?
    2023年辽宁省数学建模竞赛A题铁路车站的安全标线
    自学前端到什么程度,可以去找工作呢?
    QGIS编译(跨平台编译)之五十七:qgis_app库在Qt Creator环境下编译的错误处理
    猿创征文|栈和队列OJ刷题
    客户心声 | 四川省人社厅杨玉成一行充分肯定桂溪街道劳动保障工作信息化建设平台
    Elasticsearch:构建地图以按国家或地区比较指标
  • 原文地址:https://blog.csdn.net/qq_56101220/article/details/126296737