DB的操作包括创建DB和删除DB,是DB管理的基础。

1、创建DB

MySQL中创建DB是通过SQL语句实现的,具体为

CREATE DATABASE 数据库名;

在创建DB之前,可以使用SHOW语句来显示现在存在的DB,从而避免重名,具体为

SHOW DATABASES;

在交互信息中“Query OK”表示、修改和删除成功。

2、删除DB

输出DB即在DB系统中删除已经存在的DB并收回原来分配的空间,注意删除时是将该DB中所有的表和所有数据全部删除。具体操作为

DROP DATABASE 数据库名;

3、DB存储引擎

简单来说,存储引擎就是指表的类型,DB的存储引擎决定了表在计算机中的存储方式。

3.1 存储引擎简介

存储引擎概念是MySQL的特点,用户可以根据自己的不同需求,选择使用表的不同存储方式、是否进行事务处理等。
已使用用SHOW ENGINES语句来查看MySQL数据支持的存储引擎类型。注意此时用\G代替;结尾可以使结果显示更美观些。在查询结果中,Engine参数指存储引擎的名称,Support参数指MySQL是否支持该引擎,Comment参数指对该引擎的评论,Transactions参数指是否支持事务处理,XA参数指是否支持分布式交易处理的XA规范,Savepoints参数指是否支持保存点以便回滚到保存点。
注意不同的版本和安装方式下,MySQL的默认存储引擎不同,一般为InnoDB。
可以适用SHOW语句显示支持的存储引擎信息,具体为

SHOW VARIABLES LIKE ‘have%’

可用下句查询系统的默认存储引擎

SHOW VARIABLES LIKE ‘storage_engine’;

3.2 InnoDB存储引擎

InnoDB给MySQL的表提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全。
InnoDB支持自动增长列AUTO INCREMENT,支持外键FOREIGN KEY。
InnoDB中,创建的表结构存储在.frm文件中,数据和索引存储在innodb_data_home_dir和innodb_data_file_path定义的表空间中。
此引擎缺陷在于其读写效率稍差,占用的数据空间相对较大。

3.3 MyISAM存储引擎

此引擎很常见,曾是MySQL的默认存储引擎。
MyISAM存储引擎的表存储成三个文件,文件的名字与表名相同,扩展名分别为frm、myd和myi,其中,frm文件存储表的结构,myd存储数据,myi存储索引。
基于MyISAM存储引擎的表支持三种不同的存储格式,包括静态性、动态性和压缩性,指的是字段的长度。
MyISAM存储引擎的优势在于占用空间小、处理速度快,缺点在于不支持事务的完整性和并发性。

3.4 MEMORY存储引擎

此引擎较特殊,其使用存储在内存中的内容来创建表,而且将所有数据也放在内存中,因此,处理速度极快。但当内存出现异常将会影响到数据的完整性,因此基于此引擎的表的生命周期很短,一般都是一次性的,因此很少用到。
MEMORY存储引擎默认使用哈希索引。

3.4 存储引擎选择

mysql设置DBA为true mysql的db表_mysql


一般来说,如果需要对事物的完整性要求表较高,要求实现并发控制,或者需要频繁的进行更新、删除操作的数据库,可以选择InnoDB;

如果主要用于插入新记录和读出记录,或者应用的完整性、并发性要求很低,可以选择MyISAM;

如需很快的读写速度、对数据的安全性要求较低,且相对较小的数据库表,可以选择MEMORY。

当然,同一个数据库中可以使用多种存储引擎的表。