http://t.csdnimg.cn/KiFjehttp://t.csdnimg.cn/KiFje接上一篇MySQL基础速成2——DML、DQL
目录
一、MySQL的引擎
1.1 MySQL引擎简介
MySQL有多种引擎,能执行create table、select等命令,在数据量不多时,使用任何引擎都没什么关系。
但是,在大数据开发期间,要处理海量数据,就需要来了解MySQL的多种引擎了。,MySQL的引擎在整个流程中可以说是属于汽车的发动机,有着至关重要的作用。MySQL引擎:启动器。
MySQL的引擎作用:
(1)当你使用create table语句时,该引擎用于创建表;
(2)当在你使用select语句或进行其他数据操作时,该引擎在内部处理各种命令请求;
(3)在多数时候,数据库引擎都隐藏在MySQL软件内,开发者不需要过多地关注它,但通常SQL内部数据出现问题时, 就是引擎导致的。
MySQL具有多种引擎,并且它已打包多个引擎,且都隐藏在MySQL软件中。在MySQL中,有3类引擎:
(1)InnoDB是一个可靠的事务处理引擎,但是它不支持全文搜索; [逻辑单元]
(2)MyISAM是一个性能极高的引擎,它支持全文搜索,但不支持[事务]处理;
(3)Memory在功能等同于MyISAM,但由于数据存储在内存中,速度很快,但占用内存大,因此几乎不使用此引擎。
常见的两引擎:MyISAM 和 InnoDB。它们的区别如下:
1.2 设定MySQL引擎
设定引擎的语法:
create table 表名(
字段名 数据类型(长度) [约束],
...
) engine = 引擎名 default charset utf8;
# engine 的意思是 引擎
例如,使用命令完成:
(1)在MySQL中新建一个数据库班级
db_student,并设定编码为utf8;
(2)新建一个包含姓名、年龄的学生表1,默认MySQL引擎;
(3)新建一个包含姓名、年龄的学生表2,并给数据表指定为InnoDB引擎及设定默认编码为utf8;
(4)使用查看创建表命令,观察两张表的编码及引擎信息。
########################设置引擎##################################
# 1.新建库
create database if not exists db_student charset utf8;
# 2.使用库
use db_student;
# 3.创建默认引擎的表
create table if not exists student1(
name varchar(10),
age int
);
# 4.创建InnoDB引擎的表 【规范标准】
# a.新建表
# b.设置引擎+判断
# c.字段
create table if not exists student2(
name varchar(20),
age int
) engine = InnoDB default charset utf8;
# 5.查看创建命令
show create table student1;
show create table student2;
1.3 清空数据的区别
清空数据有两种不同的方式:
# 删除数据表数据
delete from 表名;
# 销毁及删除数据表数据
truncate [table] 表名;
delete和truncate删除表的区别:
delete与truncate的主要区别有:
(1)delete删除数据时,是一条一条的删除数据记录,效率低;
(2)truncate删除数据时,是将整个表销毁,然后再创建一张一模一样的表,并且用auto_increment修饰的字段将重置为0重新开始计算。
例如,使用命令完成:
(1)分别创建student、teacher表,字段包含:整型自动增长、主键的id编号、字符型的name姓名、整型的age年龄;
(2)分别给两个表添加两条数据&#