我们怎么来操作引擎呢,那么我们接下来就是操作一些命令了,比如说
1. 查看数据所支持的引擎,你是用linux下的Mysql还是window下的都可以啊,我就不用linux启动虚拟机那么麻烦了,
直接用window下的,我是5.7的,这是mysql自带的一个客户端,然后我们来看,我还是不用他了,因为它这个我还要来回
切库,切来切去的,到不是什么很麻烦,比如我这里又一个test,这里写一个查询,注意看,他查的是这个库里用的是什么
引擎,命令是: show engines,后面带复数的s,看到了吗,这是你当前版本5.7的数据库支持的一些引擎,然后你看啊,
第一个是InnoDB,然后是default的,然后是MRG_MYISAM,这是merge合并的意思,然后MEMORGY,内存引擎,BLACKHOLE黑洞引擎,
MyISAM引擎,CSV引擎,这两个我们也多有介绍,这是我们当前数据库的所有的引擎,但是有些引擎在某些版本的里面没有,
可能把他去掉了这个很正常,明白这个意思吧,那我们可以通过show engines这个命令当前的MYSQL是什么样的引擎,
这个命令已经写到里面了,清楚了吗,但是我光看数据库没用啊
2. 查看当前数据库默认的引擎,其实我们在这里已经能看到了,对不对,是不是InnoDB是default的,如果你想看数据库默认的引擎
不想用show engines,你可以用show variables like '%storage_engine%',你也可以查看到当前数据库所支持的默认引擎,
看了吗,value是不是InnoDB,用的都是这个InnoDB引擎,然后我们刚才说的一个问题是什么呢,存储引擎是可以把它指定到一个
表的,也就是说不同的表可以使用不同的存储引擎,那我这边可以看看我这个表用的存储引擎,那怎么看表使用的存储引擎呢,
命令非常简单
3. 用一个show命令,后面跟create table,有人说这不是一个DDL语句吗,你不是要创建一个表吗,这个show,前面加了一个show,
直接显示你这个表所创建时的引擎是什么,所以他不是创建表,show create table table name,把show 去掉才是创建表,
那我们来看一下,在我这里有什么表,我们这里有users表,show create table users,然后这个内容挺长的,其实是显示当前
创建这个表的内容,其实就是一个创建表的命令,我们拷贝一下,随便粘到一个文件里,
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`slug` varchar(200) NOT NULL COMMENT '别名',
`email` varchar(200) NOT NULL COMMENT '邮箱',
`password` varchar(200) NOT NULL COMMENT '密码',
`nickname` varchar(100) DEFAULT NULL COMMENT '昵称',
`avatar` varchar(200) DEFAULT NULL COMMENT '头像',
`bio` varchar(500) DEFAULT NULL COMMENT '简介',
`status` varchar(20) NOT NULL COMMENT '状态(unactivated/activated/forbidden/trashed)',
PRIMARY KEY (`id`),
UNIQUE KEY `slug` (`slug`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
这是不是一个创建表的命令,看哪儿呢,看ENGINE=InnoDB这儿,ENGINE等于InnoDB,是吧,说明在创建表时,我们是不是也可以
指定存储引擎,我们默认的就是InnoDB,非常简单吧,用一个show create命令创建表,就可以看到当前表用的是什么存储引擎
4. 修改表的存储引擎,用什么呢,那还得是alter命令了,alter是什么语句,是DDL语句的,DDL语句有create,alter,这样的语句构成,
还有drop,alter table修改表,alter table users engine=InnoDB,那我们现在就来做一个实验,把ABC这个表默认的InnDB改成
MyISAM,看他的语句,然后我们再来看show create table users;然后我们再来看user引擎,看到了吗,是不是非常的简单,
上面的讲解呢,其实就是我们在数据库来操作引擎了,这是非常简单的