Orcale、MySQL中参数类型的详解和运用场景(不带示例)
以下分别将 Oracle 和 MySQL 常见的数据类型以表格形式呈现,包含类型、大小、详解及运用场景。
Oracle 数据类型
类别 | 数据类型 | 大小 | 详解 | 运用场景 |
---|---|---|---|---|
数值类型 | NUMBER(p, s) | 最大可存储 38 位精度。存储大小取决于 p 和 s ,最多 22 字节 | p 表示精度(数字总位数),s 表示小数位数。可存储整数和小数 | 财务数据计算,如货币金额、税率等需要精确计算的场景 |
BINARY_FLOAT | 4 字节 | 单精度浮点数类型,用于存储近似数值 | 科学计算、工程计算等对精度要求不是极高,但需处理大量数据的场景 | |
BINARY_DOUBLE | 8 字节 | 双精度浮点数类型,用于存储近似数值 | 科学计算、工程计算等对精度要求不是极高,但需处理大量数据的场景 | |
字符类型 | VARCHAR2(size) | 最大 4000 字节(如果使用 CLOB 则可达 128TB) | 可变长度的字符类型,存储的数据长度可小于 size | 存储长度不固定的字符串,如姓名、地址、文章内容等 |
CHAR(size) | 最大 2000 字节 | 固定长度的字符类型,如果存储的数据长度小于 size ,会用空格填充 | 存储长度固定的字符串,如身份证号码、邮政编码、性别等 | |
日期和时间类型 | DATE | 7 字节 | 存储日期和时间信息,精确到秒 | 存储各种日期和时间相关的数据,如订单日期、生日、会议时间等 |
TIMESTAMP | 7 - 11 字节(取决于小数秒精度) | 比 DATE 类型更精确,可以存储小数秒 | 需要更高时间精度的场景,如记录事件发生的精确时间、系统操作的时间戳等 | |
大对象类型 | CLOB | 最大 128TB | 存储单字节和多字节字符数据的大型对象 | 存储大量文本数据,如文章、书籍内容、日志信息等 |
BLOB | 最大 128TB | 存储二进制数据的大型对象 | 存储图像、音频、视频等二进制文件 |
MySQL 数据类型
类别 | 数据类型 | 大小 | 详解 | 运用场景 |
---|---|---|---|---|
数值类型 | TINYINT | 1 字节 | 有符号范围 -128 到 127,无符号范围 0 到 255 | 存储小范围整数,如标志位(0 或 1)、小型计数等 |
SMALLINT | 2 字节 | 有符号范围 -32768 到 32767,无符号范围 0 到 65535 | 存储较小范围的整数,如年龄、小型数量统计等 | |
MEDIUMINT | 3 字节 | 有符号范围 -8388608 到 8388607,无符号范围 0 到 16777215 | 存储中等范围的整数 | |
INT | 4 字节 | 有符号范围 -2147483648 到 2147483647,无符号范围 0 到 4294967295 | 存储常见的整数,如数量、用户 ID、产品 ID 等 | |
BIGINT | 8 字节 | 有符号范围 -9223372036854775808 到 9223372036854775807,无符号范围 0 到 18446744073709551615 | 存储极大范围的整数,如大型计数、时间戳等 | |
DECIMAL(p, s) | 取决于 p 和 s ,大致为 (p + 2) / 2 字节 | p 表示精度,s 表示小数位数,用于存储精确的小数 | 财务数据,如商品价格、账户余额等需要精确计算的场景 | |
字符类型 | VARCHAR(length) | 长度 + 1 或 2 字节(取决于最大长度是否超过 255) | 可变长度的字符类型 | 存储长度不固定的字符串,如文章标题、评论内容、用户名等 |
CHAR(length) | length 字节 | 固定长度的字符类型 | 存储长度固定的字符串,如性别('M' 或 'F')、状态码、简短代码等 | |
日期和时间类型 | DATE | 3 字节 | 存储日期,格式为 YYYY - MM - DD | 只需要存储日期信息的场景,如出生日期、注册日期、活动日期等 |
DATETIME | 8 字节 | 存储日期和时间,格式为 YYYY - MM - DD HH:MM:SS | 需要同时记录日期和时间的场景,如订单创建时间、登录时间、事件发生时间等 | |
TIMESTAMP | 4 字节 | 存储日期和时间,范围比 DATETIME 小,会自动更新为当前时间戳 | 记录数据的最后修改时间,如数据更新时间戳 | |
大对象类型 | TEXT | 最大 65535 字节(TINYTEXT 为 255 字节,MEDIUMTEXT 为 16777215 字节,LONGTEXT 为 4294967295 字节) | 存储大量文本数据 | 存储文章内容、长描述、日志等大段文本信息 |
BLOB | 最大 65535 字节(TINYBLOB 为 255 字节,MEDIUMBLOB 为 16777215 字节,LONGBLOB 为 4294967295 字节) | 存储二进制数据 | 存储图像、音频、视频等二进制文件 |
我的SQL专栏中有对上述参数详细的示例,可移步阅读。