六、mysql数据类型
1、课程大纲
• 数据类型介绍
• 数据类型设置
• 列属性
• 数据类型的字符集用法
• 选择适当的数据类型
2、数据类型介绍
• 四种主要类别:
- 数值类型
- 字符类型
- 时间类型
- 二进制类型
• 数据类型的 ABC 要素:
- Appropriate(适当)
- Brief(简洁)
- Complete(完整)
• 例 1:列声明
CREATE TABLE people (
id INT,
first_name CHAR(30),
last_name CHAR(30) );
• 例 2:不允许负值和未知值
CREATE TABLE people (
id INT UNSIGNED NOT NULL,
first_name CHAR(30),
last_name CHAR(30) );
3、数值数据类型
• 使用数值数据类型时的注意事项:
- 数据类型所表示的值的范围
- 列值所需的空间量
- 列精度和范围(浮点数和定点数)
• 数值数据类型的类:
- 整数:整数
- 浮点数:小数
- 定点数:精确值数值
- BIT:位字段值
4、字符串数据类型
• 表示给定字符集中的一个字母数字字符序列
• 用于存储文本或二进制数据
• 几乎在每种编程语言中都有实现
• 支持字符集和整理
• 属于以下其中一类
- 文本:真实的非结构化字符串数据类型
- 整数:结构化字符串类型
![1587208975955](
)
5、二进制字符串数据类型
• 字节序列
- 二进制位按八位分组
• 存储二进制值,例如:
- 编译的计算机程序和应用程序
- 图像和声音文件
• 字符二进制数据类型的类:
- 二进制:固定长度和可变长度的二进制字符串
- BLOB:二进制数据的可变长度非结构化集合
6、时间数据类型
7、列属性
列属性的类别:
• 数值:适用于数值数据类型(BIT 除外)
• 字符串:适用于非二进制字符串数据类型
• 常规:适用于所有数据类型
8、如何选择数据类型
• 考虑哪些数据类型和字符集可以最大限度地减少存储和磁盘 I/O。
• 使用固定长度数据类型:
- 如果存储的所有字符串值的长度相同
• 使用可变长度数据类型:
- 如果存储的字符串值不同
- 对于多字节字符集
• 对于频繁使用的字符,使用占用空间较少的多字节字符集。
- 使用基本多文种平面 (Basic Multilingual Plane, BMP) 之外的其他 Unicode 字符集。