MySQL基础速成3——引擎、约束

http://t.csdnimg.cn/KiFjeicon-default.png?t=N7T8http://t.csdnimg.cn/KiFje接上一篇MySQL基础速成2——DML、DQL

目录

一、MySQL的引擎

1.1 MySQL引擎简介

 1.2 设定MySQL引擎

1.3 清空数据的区别

二、SQL约束

2.1 SQL 约束简介

2.2 主键约束 

2.3 删除主键约束

2.4 自动增长

2.5 验证逐渐约束效果

2.6 非空约束

2.7 唯一约束

2.8 默认值约束 


一、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)分别给两个表添加两条数据&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值