首页HTML开始的地方

SQL数据类型

一、MySQL常用数据类型

1、串数据类型(string)

串:即【字符序列】,是【一串字符】。
字符:类字形单位或符号,包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。
比如:一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号、一个图形符号或者控制符号等。
mysql默认utf8,一个英文一个字节,一个中文3个字节。

mysql遵循了ANSI SQL标准,同样分为定长串变长串

数据类型 最大存储大小 特点 适用场景
CHAR(n) 0-255 bytes 定长,长度确定才用,否则浪费空间(空位空格填充)。占用空间固定 如国家代码、身份证号
VARCHAR(n) 0-65535 bytes 变长慢。不允许索引。 如用户昵称、电子邮件
VARCHAR 可以索引整个字段,适用于需要频繁搜索的文本字段。
TEXT 不支持 默认值,也无法使用 索引(仅支持前缀索引),但可以存储大量文本。

较长的文本

数据类型 最大存储大小 特点 适用场景
TINYTEXT 255 字节 短文本,如推文内容
TEXT 65,535 字节(64KB) 文章内容、评论
MEDIUMTEXT 16,777,215 字节(16MB) 书籍、日志记录
LONGTEXT 4GB 超长文本,如百科条目

较长的二进制数据

数据类型 最大存储大小 特点 适用场景
TINYBLOB 255 字节 小二进制数据,如图片缩略图
BLOB 65,535 字节(64KB) 图片、音频
MEDIUMBLOB 16 777 215 bytes(16MB) 大型媒体文件
LONGBLOB 4 294 967 295 bytes(4GB) 超大文件,如电影

2、二进制数据类型(存字节)

3、数值数据类型(number)

整数类型

数据类型 存储大小 取值范围(无符号) 适用场景
TINYINT 1 字节 0 ~ 255 布尔值(0/1)、评分
SMALLINT 2 字节 0 ~ 65,535 小范围数值,如年龄
MEDIUMINT 3 字节 0 ~ 16,777,215 适用于 ID、自增字段
INT(INTEGER) 4 字节 0 ~ 4,294,967,295 适用于大部分场景,如用户 ID
BIGINT 8 字节 0 ~ 18,446,744,073,709,551,615 适用于超大数值,如银行账户余额

浮点与定点类型

数据类型 存储大小 适用场景
FLOAT(M, D) 4 字节 适用于非严格精度的计算,如游戏评分 非关键计算(如统计数据)可使用
DOUBLE(M, D) 8 字节 高精度计算,如科学计算
DECIMAL(M, D)(NUMERIC) 可变 财务类数据使用 DECIMAL,避免计算误差。

4、日期和时间数据类型 (date)

数据类型 存储大小 取值范围 适用场景
DATE 3 字节 1000-01-01 ~ 9999-12-31 生日、订单日期
DATETIME 8 字节 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 需要精确到秒的时间,如创建时间 DATETIME 不受时区影响,适合存储固定时间。
TIMESTAMP 4 字节 1970-01-01 00:00:01 ~ 2038-01-19 03:14:07 适用于存储 Unix 时间戳 TIMESTAMP 受时区影响,适合存储事件发生时间。
TIME 3 字节 -838:59:59 ~ 838:59:59 记录时间间隔
YEAR 1 字节 1901 ~ 2155 适用于年份数据

5、枚举与集合类型

ENUM 枚举类型,用于存储单一值,可以选择一个预定义的集合。 接受最多64 K 个串组成的一个预定义集合的某个串。
SET 集合类型,用于存储多个值,可以选择多个预定义的集合。 接受最多64个串组成的一个预定义集合的零个或多个串

6、空间数据类型

用于存储空间数据(地理信息、几何图形等)。
GEOMETRY
POINT
LINESTRING
POLYGON
MULTIPOINT
MULTILINESTRING
MULTIPOLYGON
GEOMETRYCOLLECTION

选择数据类型的最佳实践

  1. 能用整数就不要用字符串(如性别可用 TINYINT)。
  2. 存储金额、财务数据时,使用 DECIMAL 而非 FLOAT。
  3. 短文本(<255 字符)用 VARCHAR,长文本用 TEXT。
  4. 索引字段尽量避免 TEXT 和 BLOB,影响查询性能。
  5. 时间戳数据尽量使用 TIMESTAMP 代替 DATETIME,节省存储空间。

二、SQL Server的数据类型

1、串类型(string)

2、数值类型(number )

3、Date 类型:

4、其他数据类型:

三、ORACLE 数据类型

1、串类型

2、数值类型

3、日期和时间类型

posted @ 2025-04-04 21:24  csnotes  阅读(72)  评论(0)    收藏  举报
努力加载评论中...

这是页脚html

点击右上角即可分享
微信分享提示