mysql oracle数据类型

今天我们要讲的是 MySQL 和 Oracle 数据库中的数据类型。在数据库中,每个字段都有自己的数据类型,它决定了该字段能够存储的数据范围和类型。正确的选择和使用数据类型可以有效地提高数据库的性能和安全。

MySQL 数据类型

MySQL 数据类型包括数值型、日期时间型、字符串型、二进制型等多种类型。

数值型

MySQL 中有整型和浮点型两种数值型数据类型。

INT — 整型,范围是 -2147483648 到 2147483647
BIGINT — 大整型,范围是 -9223372036854775808 到 9223372036854775807
FLOAT — 单精度浮点型
DOUBLE — 双精度浮点型
DECIMAL — 高精度十进制数,用于精确计算货币等金额

日期时间型

MySQL 中有多种日期时间型数据类型。

DATE — 日期类型,如 1998-04-12
TIME — 时间类型,如 11:45:23
DATETIME — 日期时间类型,如 1998-04-12 11:45:23
TIMESTAMP — 时间戳类型,存储从 1970 年 1 月 1 日 00:00:00 到当前时间的秒数
YEAR — 年份类型,存储 2 个字节,范围是 1901 到 2155

字符串型

MySQL 中的字符串型数据类型包括定长字符串和变长字符串。

CHAR — 定长字符串
VARCHAR — 变长字符串
TINYBLOB — 非常小的二进制数据,最长 255 个字符,例如 short text 或者图片的二进制码
BLOB — 二进制数据,最长 65KB,例如 long text 或者图片的二进制码
MEDIUMBLOB — 二进制数据,最长 16MB,例如视频或者音频文件的二进制码
LONGBLOB — 二进制数据,最长 4GB,例如较大视频或者音频文件的二进制码

二进制型

MySQL 中还有二进制型数据类型。

BINARY — 定长二进制
VARBINARY — 变长二进制
TINYTEXT — 短文本,最长 255 个字符
TEXT — 文本,最长 65KB
MEDIUMTEXT — 中等文本,最长 16MB
LONGTEXT — 长文本,最长 4GB
ENUM — 枚举类型,如 ‘male’ 或 ‘female’
SET — 集合类型,例如 ‘blue, black, red’

Oracle 数据类型

Oracle 数据类型与 MySQL 类似,但也有不少区别。

数值型

Oracle 中的数值型包括整型、浮点型和货币类型。

NUMBER(n) — 数字类型,n 表示数字的位数,最大为 38
FLOAT — 单精度浮点型
DOUBLE PRECISION — 双精度浮点型
BINARY_FLOAT — 单精度二进制浮点型
BINARY_DOUBLE — 双精度二进制浮点型
CURRENCY — 货币类型,用于精确计算货币等金额

日期时间型

Oracle 中的日期时间型与 MySQL 类似,但有一些不同。

DATE — 日期类型,如 1998-04-12
TIMESTAMP — 时间戳类型,存储从 1970 年 1 月 1 日 00:00:00 到当前时间的秒数
INTERVAL YEAR TO MONTH — 年月间隔类型,如 3-2
INTERVAL DAY TO SECOND — 日时间隔类型,如 3 12:23:34

字符串型

Oracle 中的字符串型数据类型与 MySQL 类似,但也有一些不同。

CHAR(n) — 定长字符串
VARCHAR2(n) — 变长字符串
CLOB — 大型字符对象,最大 4GB
NCLOB — 大型 Unicode 字符对象,最大 4GB
RAW(n) — 定长二进制
LONG RAW — 长二进制,最大 2GB
BLOB — 大型二进制对象,最大 4GB

其他类型

Oracle 中还有其他类型,如集合类型和游标类型。

BOOLEAN — 布尔类型
COLLECTION — 集合类型
CURSOR — 游标类型
RECORD — 记录类型
TABLE — 表类型

以上就是 MySQL 和 Oracle 数据类型的介绍。通过正确选择和使用数据类型,可以提高数据库的性能和安全。

上一篇 一次 MySQL 误操作导致的事故,「高可用」都顶不住了!
下一篇 mysql oracle trim函数