MySQL 数据库基本操作(二)

数据库的基本操作

创建数据库

MySQL 安装完成之后,将会在 data 目录下自动创建几个必须的数据库,可以使用查看数据库的语句查看当前所有存在的数据库,输入的语句如下:

SHOW DATABASES;

初始时数据库列表中包含 6 个数据库。mysql 是必需的,描述用户的访问权限。

创建数据库的基本 SQL 语法格式如下:

CREATE DATABASE database_name;

查看数据库定义的语句如下:

SHOW CREATE DATABASE database_name;

删除数据库

删除数据库是将已存在的数据库从磁盘空间上清除。清除之后,数据库中的所有数据也将一同被清除。删除数据库语句与创建数据库的命令相似。MySQL 中删除数据库的基本语句格式为:

DROP DATABASE database_name;

注:使用 DROP DATABASE 命令时要非常谨慎,在执行该命令时,MySQL 不会给出任何提示确认信息,DROP DATABSE 声明删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,不可恢复。

理解数据库存储引擎

数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建查询更新删除数据操作,不同的存储引擎提供不同的存储机制索引技巧锁定水平等功能。使用不同的存储引擎,可以获得特定的功能。现在许多不同的数据库管理系统都支持不同的数据引擎。MySQL 的核心就是存储引擎

MySQL 存储引擎简介

  • MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎。针对具体的要求,可以对每一个表使用不同的存储引擎。MySQL5.7 支持的存储引擎有 InnoDBMyISAMMemoryMergeArchiveFederatedCSVBLACKHOLE 等。查看系统所支持的引擎的语句格式如下:

    SHOW ENGINES;
    
  • Support 列的值表示某种引擎是否能使用;YES 表示可以使用,NO 表示不能使用,DEFAULT 表示该引擎为当前默认存储引擎。

InnoDB 存储引擎

  • InnoDB 是事务型数据库的首选引擎,支持事务安全表ACID),支持行锁定外键
  • InnoDB 给 MySQL 提供了具有提交回滚崩溃恢复能力的事务安全(ACID 兼容)存储引擎。

MyISAM 存储引擎

  • MyISAM 基于 ISAM 存储引擎,并对齐进行扩展。它是在 Web数据仓储其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入查询速度,但不支持事务。在 MySQL5.5.5 之前的版本,MyISAM 是默认的存储引擎。
  • VARCHAR 的表可以固定长度动态记录长度
  • 可以将数据文件和索引文件放在不同目录

MEMORY 存储引擎

  • MEMORY 存储引擎将表中的数据存储到内存中,为查询引用其他表数据提供快速访问。
  • MEMORY 存储引擎执行 HASHBTREE 索引。

存储引擎的选择

  • 不同存储引擎都有各自的特点,以适应不同的需求。存储引擎比较图如下:

    存储引擎比较.jpg

    InnoDB:提供提交、回滚和崩溃恢复能力的事务安全能力,并要求实现并发控制。

    MyISAM:提供较高的处理效率。

    Memory:临时存放数据,数据量不大,并且不需要较高的数据安全性,MySQL 中使用该引擎作为临时表,存放查询的中间结果。

    Archive:支持高并发的插入操作,但本身并不是事务安全的,该引擎非常适合存储归档数据,如记录日志信息。

  • 使用哪一种引擎需要灵活选择,一个数据库中多个表可以使用不同的引擎以满足各种性能和实际需求。使用合适的存储引擎,将会提高整个数据库的性能。

查看默认存储引擎

  • 使用 SHOW ENGINES 语句查看系统中所有的存储引擎,其中包括默认存储的引擎。另外,可以使用一种直接的方法查看默认存储引擎,语句如下:

    SHOW VARIABLES LIKE 'storage_engine';
    
  • 执行结果直接显示当前默认的存储引擎。

  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    690 引用 • 535 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    340 引用 • 708 回帖
  • 存储
    22 引用 • 28 回帖 • 1 关注
  • InnoDB
    4 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...