【MySQL】基础(一)

一.认识数据库

正常情况数据是以文件的形式存储在磁盘或者内存上的。这就意味着他就会具有文件保存数据的缺点

  • 文件的安全性问题(没有回滚)
  • 文件不利于数据查询和管理(数据本身结构没有统一管理)
  • 文件不利于存储海量数据(用户操作不方便)
  • 文件在程序中控制不方便(需要用户自己完成控制)

数据库的本质是对文件内容提供基本的内容操作,不用用户手动管理

mysql本身也是一种文件系统是由两部分构成的,客户端(mysql)和服务端(mysqld),mysql数据库本身就是一套网络服务。(登录时需要ip和端口号可以看出)通常不使用数据库的时候,用户直接操作磁盘上文件里的数据,成本很高。当使用mysql,用户将sql指令通过mysql客户端递交给mysqld服务端,由服务端帮助用户操作磁盘上的数据

二.数据库存储

数据库的存储介质有以下两种:

  • 磁盘(主存数据库),MySQL就是一种磁盘数据库。 在持久化存储有优势,有自己的缓存机制,不是直接写到磁盘上,而是由缓存机制决定何时刷新到磁盘上
  • 内存,redis就是一种内存数据库。效率更高,但具体数据本身还是在磁盘数据库上,有掉电易失问题

 创建数据库的本质(database)在linux下是创建目录,建表的本质是创建文件

默认情况下配置位置如下

数据库的配置文件位置:/etc/my.cnf

数据存储位置:/var/lib/mysql(建表的话就会在当前路径下创建一个文件夹,并形成db.opt文件,可以看字符编码和校验规则,和上面的创建目录的本质对应)

当使用数据库的时候相当与进入数据库的目录。此时建表相当于在当前目录下创建文件。

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

常见的引擎:Innodb,MYISAM,不同的引擎在建表时的细节有所不同

innodb:会出现两个文件.frm表结构文件,ibd表数据和索引的文件(聚簇索引),支持事务,行锁,外键,崩溃恢复,自动增量列,适合需要高级功能的数据

MYISAM:会出现三个文件,.frm表结构文件,.myd表的数据信息文件,.myi在索引文件(非聚簇索引),支持全文搜索,表锁,压缩表,缓存,更适合读密集型数据

三.sql分类

  • DDL 数据定义语言,用来维护存储数据的结构(库和表的属性操作)
    代表指令: create, drop, alter
  • DML 数据操纵语言,用来对数据进行操作(库和表的内容操作)
    代表指令: insert,delete,update
    DML中又单独分了一个DQL,数据查询语言,代表指令: select
  • DCL 数据控制语言,主要负责权限管理和事务(系统安全账户管理)
    代表指令: grant,revoke,commit
     

四.sql语句注意点

mysql大小写不敏感

表和库名称最好带上``

通常情况下字符集和检验规则集是可以互相解释的

数据库本身是有备份的,但是是对操作语句做的备份

相关推荐

  1. MySQL基础

    2023-12-15 05:20:04       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 05:20:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 05:20:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 05:20:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 05:20:04       18 阅读

热门阅读

  1. 不安全的裸指针

    2023-12-15 05:20:04       34 阅读
  2. kafka rebalance(再均衡)导致的消息积压分析

    2023-12-15 05:20:04       33 阅读
  3. 学习RPC框架-Thrift日志

    2023-12-15 05:20:04       42 阅读
  4. Retrofit上传文件到oss文件存储

    2023-12-15 05:20:04       33 阅读
  5. SQL区间

    2023-12-15 05:20:04       36 阅读
  6. ClickHouse(17)ClickHouse集成JDBC表引擎详细解析

    2023-12-15 05:20:04       33 阅读
  7. CentOS 7入门指南

    2023-12-15 05:20:04       36 阅读
  8. 使用工具 NVM来管理不同版本的 Node.js启动vue项目

    2023-12-15 05:20:04       34 阅读