07-数据类型

发布时间 2023-12-27 14:40:46作者: EJW
  • 四种主要类别:

    数值类型

    字符类型

    时间类型

    二进制类型

  • 数据类型的ABC 要素:

    Appropriate(适当)

    Brief(简洁)

    Complete(完整)

一、 数值数据类型

使用数值数据类型时的注意事项:

数据类型所表示的值的范围

列值所需的空间量

列精度和范围(浮点数和定点数)

数值数据类型的类:

  • 整数:整数

  • 浮点数:小数

  • 定点数:精确值数值

  • BIT:位字段值

image

二、字符串数据类型

  • 表示给定字符集中的一个字母数字字符序列

  • 用于存储文本或二进制数据

  • 几乎在每种编程语言中都有实现

  • 支持字符集和整理

  • 属于以下其中一类

    • 文本:真实的非结构化字符串数据类型

    • 整数:结构化字符串类型

image

三、二进制字符串数据类型

  • 字节序列

    • 二进制位按八位分组
  • 存储二进制值,例如:

    • 编译的计算机程序和应用程序
    • 图像和声音文件
  • 字符二进制数据类型的类:

    • 二进制:固定长度和可变长度的二进制字符串
    • BLOB:二进制数据的可变长度非结构化集合

image

四、时间数据类型

image

五、列属性

列属性的类别:


数值:适用于数值数据类型(BIT 除外)


字符串:适用于非二进制字符串数据类型


常规:适用于所有数据类型

image

例子:

列属性


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 字符集。