当前课程知识点:MySQL数据库案例教程 >  第2章 数据库和表的基本操作 >  2.3 MySQL数据类型 >  2-3MySQL数据类型视频

返回《MySQL数据库案例教程》慕课在线视频课程列表

2-3MySQL数据类型视频在线视频

下一节:2-3MySQL数据类型课件

返回《MySQL数据库案例教程》慕课在线视频列表

2-3MySQL数据类型视频课程教案、知识点、字幕

同学们好

今天我们来学习第2章

数据库和表的基本操作

本次课的内容是MySQL数据类型

学习之前我们先看一个案例

请简单描述一下该图形

我们会说这个图形是圆形

半径10厘米 周长61.4厘米

对于我们刚刚的描述

图形的形状

我们用文字圆形来描述

半径 我们用整数

周长 我们用小数描述

不同的属性

我们选择不同的类型来描述

同样的

数据表由多个字段组成

每个字段在进行数据定义的时候

都要确定其数据类型

每个字段代表的数据内容

决定了该字段的数据类型

MySQL提供了丰富的数据类型

本节课将详细介绍

MySQL的不同数据类型

我们先学习整数类型

整数类型又称数值型

主要用来存储数字

MySQL 主要提供的整数类型有

TINYINT SMALLINT

MEDIUMINT INT

BIGINT

下表列出了 MySQL 的数值类型

TINYINT 字节数1

表示很小的整数

SMALLINT 字节数2

表示小的整数

MEDIUMINT 字节数3

表示中等大小的整数

INT 字节数4

表示普通大小的整数

BIGINT 字节数8

表示大整数

不同类型的整数

存储时

所需的字节数不相同

占用字节数最小的是 TINYINT类型

最大的是 BIGINT 类型

占用的字节数越多

所能表示的数值范围越大

在从多数值类型中

最常用的是INT类型

接下来我们学习小数类型

MySQL中小数类型

包括浮点数和定点数

浮点类型有两种

分别是单精度浮点数FLOAT

和双精度浮点数DOUBLE

定点类型只有一种就是DECIMAL

下表列出了 MySQL 的小数类型

FLOAT类型占4个字节

该类型的取值范围最小

Double类型占8个字节

该类型取值范围最大

DECIMAL类型的有效取值范围

是由M和D决定的

其中M表示的是数据的长度

D表示的是小数点后的长度

占有M+2个字节

浮点数和定点数相比

浮点数能够表示更大的范围

但是会引起精度问题

我们在创建表的时候精度小时

可以选择FLOAT类型

当精度到达小数点后

10位以上时

就需要选择DOUBLE类型

当小数位数固定的时候

可以选择DECIMAL类型

接下来我们学习日期和时间类型

MySQL中日期和时间类型有

YEAR

TIME

DATE

DTAETIME

TIMESTAMP

下表列出了 MySQL 的日期和时间类型

YEAR类型

字节数1 表示年份

TIME类型

字节数3 表示时间

DATE类型

字节数4 表示日期

DATETIME类型

字节数8 表示日期和时间

TIMESTAMP类型

字节数4 表示日期和时间

格式同DATETIME

每一个类型都有合法的取值范围

当输入的值不合法时

系统将直接插入“零”值

我们在使用的时候

表示年份

一般会使用YEAR类型

因为该类型比DATE类型占用更少的空间

表示时分秒

一般会使用TIME类型

表示年月日

一般会使用DATE类型

表示年月日时分秒

一般会使用DATETIME或TIMESTAMP类型

通常

我们使用NOW()

来输人当前系统的日期和时间

接下来我们学习字符串类型

字符串类型

用来存储字符串数据

MySQL中的字符串类型有

CHAR

VARCHAR

TEXT

ENUM SET等

下表列出了 MySQL 的字符串类型

CHAR类型

表示固定长度字符串 M为长度

VARCHAR类型

表示可变长度字符串 M表示最大长度

TEXT类型

表示文本数据

ENUM类型

表示枚举类型

它的值只能从枚举列表中选择一个

SET类型

表示字符串对象可以有零个或多个SET对象

CHAR 和 VARCHAR 类型

在MySQL中使用比较频繁

都用来表示字符串

它们是有区别的

CHAR类型

表示固定长度字符串

在定义时

指定字符串长度

不管插入值的长度实际是多少

它所占用的存储空间都是M个字节

而VARCHAR为可变长度字符串

占用的字节数为实际长度加1

在实际使用时

如果字符串长度不经常变化

可以使用CHAR类型

经常发生变化

可以用VARCHAR类型

存储大量字符串可以使用TEXT类型

接下来我们看一个案例

案例1

创建一个用于存储学生成绩的表course

course表一共有四个字段

Cno CHAR类型 2个字节

表示课程号

Cname VARCHAR类型20个字节

表示课程名

start INT类型

表示开课学期

credit FLOAT类型

表示学分

打开MySQL可视化工具

先使用USE命令选择stu数据库

然后输入创建表命令

CREATE TABLE course (cno char(2)

cname varchar(20)

start int

credit float )

选中 执行

course表就创建成功了

我们查看一下表结构

输入命令 DESC course

选中 执行

从结果可以看到

course表各字段都按照要求创建成功了

枚举类型也是一个字符串对象

但是它不能像char varchar类型

text 类型那样直接使用

它必需设定枚举的值

其语法格式如下

字段名 ENUM( '值1', '值2', …, '值n' )

字段名

是将要定义为枚举的字段

值n

指枚举列表中第n个字段

Mysql字符串类型在输入时

需要用单引号或者双引号引起来

所以我们看到枚举类型

每一个值两端都有单引号

注意

枚举类型的字段在取值时

只能从指定的枚举列表中获取

而且一次只能取一个

我们看案例2

创建一个用于存储学生信息的表student

表结构如下所示

输入创建表命令

CREATE TABLE student (

sid char(4)

sname varchar(20)

sex enum('男','女')

birth date

grade year

department enum

('信息工程系' '化学工程系' '机械电子系')

addr varchar(50))

选中 执行

执行成功后student表就创建成功了

我们查看一下表结构

输入命令DESC student

选中 执行

从查询结果可以看到

student表各字段

都按照要求创建成功了

SET类型也是一个字符串对象

可以有零或多个值

语法格式为

字段名 SET( '值1', '值2', …, '值n' )

SET类型与枚举类型相同

但与枚举类型不同的是

枚举类型的字段

每次只能从定义的列表中选择一个值

而 SET 类型的字段

可以从定义的列表中选择多个值

比如

一个人的兴趣是画画和跳舞

我们就可以输入”画画 跳舞”

这就是set类型和枚举类型最大的区别

最后我们学习二进制类型

二进制类型 主要用来存储二进制数据

比如图片和声音

MySQL 中的二进制类型有

BIT BINARY VARBINARY TINYBLOB

BLOB MEDIUMBLOB LONGBLOB

二进制类型和字符串类型相似

只不过存储的是二进制字符

以上是本节课的全部内容

接下来我们看几个思考题

1 TIME类型 DATE类型

和DATETIME类型的区别是什么

2 CHAR类型和VARCHAR类型的区别是什么

最后我们对本次课进行总结

我们学习了MySQL的数据类型

主要包括

1 整数类型

常用的是INT类型

2 小数类型

包括浮点数和定点数

3 日期和时间类型

4 字符串类型

其中CHAR类型长度固定

VARCHAR类型长度可变

最后我们学习了二进制类型

主要用来存储图片和声音

数据库中的每个字段

都应该有合适的数据类型

用于限制或允许该列中存储的数据

在设计表时

就应该考虑清楚每个字段适合的数据类型

虽然后期可以修改表结构

但是

更改包含数据的表结构

有可能会导致数据丢失

因此

在创建表时

最好为每个字段

设置正确的数据类型和长度

避免后期更改

同样我们在学习时

切记盲目跟风

要找到适合自己的学习方法

只有适合自己的方法

才是最好的方法

本次课就讲到这里

谢谢 再见

MySQL数据库案例教程课程列表:

第1章 数据库基础知识

-1.1 数据库基础知识

--1.1 数据库基础知识视频

--1-1数据库基础知识课件

-1.2 MySQL的安装与运行

--1-2MySQL安装与运行视频

--1-2MySQL安装与运行课件

--1-2MySQL安装与运行实训

-第1章 测试

第2章 数据库和表的基本操作

-2.1 数据库的基本操作

--2-1数据库的基本操作视频

--2-1数据库的基本操作课件

--2-1数据库的基本操作实训

-2.2 表的基本操作

--2-2表的基本操作视频

--2-2表的基本操作课件

--2-2表的基本操作实训

-2.3 MySQL数据类型

--2-3MySQL数据类型视频

--2-3MySQL数据类型课件

--2-3MySQL数据类型实训

-2.4 约束设置

--2-4约束设置视频

--2-4约束设置课件

--2-4约束设置实训

-2.5 索引

--2-5索引视频

--2-5索引课件

--2-5索引实训

-第2章测试

第3章 记录操作

-3.1 插入记录

--3-1 插入记录视频

--3-1插入记录课件

--3-1插入记录实训

-3.2 修改记录

--3-2修改记录视频

--3-2修改记录实训

--3-2修改记录课件

-3.3 删除记录

--3.3删除记录

--3-3删除记录实训

--3-3删除记录课件

-第3章 测试

第4章 查询与视图

-4.1 select语句

--4.1select 语句视频

--4-1select语句课件

--4-1select语句实训

-4.2 单表查询

--4-2-1select子句

--4-2-2where子句

--4-2-3group子句

--4-2单表查询实训

-4.3 多表查询

--4-3多表查询视频

--4-3多表查询课件

--4-3多表查询实训

-4.4 子查询

--4-4子查询视频1

--4-4子查询视频2

--4-4子查询课件

--4-4子查询实训

-4.5 外键

--4-5外键视频

--4-5外键课件

--4-5外键实训

-4.6 视图

--4-6视图视频1

--4-6视图视频2

--4-6视图课件

--4-6视图实训

-第4章测试

第5章 高级操作

-5.1 函数

--5-1自定义函数视频

--5-1系统函数

--5-1函数课件

--5-1 函数实训

-5.2 流程控制语句

--5-2流程控制语句视频

--5-2流程控制课件

--5-2流程控制实训

-5.3 事务与游标

--5-3事务与游标视频

--5-3事务与游标课件

--5.3事务与游标实训

-5.4 存储过程

--5-4存储过程视频

--5-4存储过程课件

--5-4存储过程实训

-5.5 触发器

--5-5触发器视频

--5-5触发器课件

--5-5触发器实训

-第5章测试

第6章 备份与还原

-6.1 数据库备份与还原

--6-1数据库备份与还原 视频

--6-1数据库备份与还原 课件

--6-1数据库备份与还原 实训

-6.2 异构数据源导入导出

--6-2异构数据源导入导出 视频

--6-2异构数据源导入导出 课件

--6-2异构数据源导入导出 实训

-第6章测试

第7章 用户与权限

-7.1 用户管理

--7-1用户管理 视频

--7-1用户管理 课件

--7-1用户管理 实训

-7.2 权限管理

--7.2 权限管理 视频

--7.2 权限管理 课件

--7.2 权限管理 实训

-7.3 应用实例开发

--7-3应用实例开发 视频

--7-3应用实例开发 课件

--7-3应用实例开发 实训

-第7章测试

2-3MySQL数据类型视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。