【MySQL】基础(一)

发布时间:2023年12月18日

一.认识数据库

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

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

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

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大小写不敏感

表和库名称最好带上``

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

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

文章来源:https://blog.csdn.net/m0_62572672/article/details/134977898
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。