-
四种主要类别:
–
数值类型
–
字符类型
–
时间类型
–
二进制类型 -
数据类型的ABC 要素:
–
Appropriate(适当)
–
Brief(简洁)
–
Complete(完整)
一、 数值数据类型
使用数值数据类型时的注意事项:
数据类型所表示的值的范围
–
列值所需的空间量
–
列精度和范围(浮点数和定点数)
数值数据类型的类:
-
整数:整数
-
浮点数:小数
-
定点数:精确值数值
-
BIT:位字段值
二、字符串数据类型
-
表示给定字符集中的一个字母数字字符序列
-
用于存储文本或二进制数据
-
几乎在每种编程语言中都有实现
-
支持字符集和整理
-
属于以下其中一类
-
文本:真实的非结构化字符串数据类型
-
整数:结构化字符串类型
-
三、二进制字符串数据类型
-
字节序列
- 二进制位按八位分组
-
存储二进制值,例如:
- 编译的计算机程序和应用程序
- 图像和声音文件
-
字符二进制数据类型的类:
- 二进制:固定长度和可变长度的二进制字符串
- BLOB:二进制数据的可变长度非结构化集合
四、时间数据类型
五、列属性
列属性的类别:
•
数值:适用于数值数据类型(BIT 除外)
•
字符串:适用于非二进制字符串数据类型
•
常规:适用于所有数据类型
例子:
列属性
create table student(id int not null primary key AUTO_INCREMENT);# 设置id列自增长
create table student1(id int not null primary key AUTO_INCREMENT,name varchar(20))charset utf8; # 设置id列自增长并设置字符集
create table teacher(id int not null ,name varchar(20) not null); # id和name都非空
create table teacher1(id int not null ,name varchar(20) not null,beizhu varchar(20) not null default "ok"); # 设置beizhu列默认值为ok
primary key 主键:非空、唯一
unique:唯一
六、如何选择数据类型
- 考虑哪些数据类型和字符集可以最大限度地减少存储和磁盘I/O。
- 使用固定长度数据类型:
- 如果存储的所有字符串值的长度相同
- 使用可变长度数据类型:
- 如果存储的字符串值不同
- 对于多字节字符集
- 对于频繁使用的字符,使用占用空间较少的多字节字符集。
- 使用基本多文种平面(Basic Multilingual Plane, BMP) 之外的其他Unicode 字符集。