mysql数值类型有哪些, 数值类型分类
MySQL 支撑多种数值类型,用于存储不同规模的数字。这些类型能够分为三类:整数类型、浮点数类型和定点数类型。以下是每种类型的详细描述:
1. 整数类型(INTEGER): TINYINT:1 字节,规模从 128 到 127 或 0 到 255(取决于是否有符号)。 SMALLINT:2 字节,规模从 32768 到 32767 或 0 到 65535。 MEDIUMINT:3 字节,规模从 8388608 到 8388607 或 0 到 16777215。 INT:4 字节,规模从 2147483648 到 2147483647 或 0 到 4294967295。 BIGINT:8 字节,规模从 9223372036854775808 到 9223372036854775807 或 0 到 18446744073709551615。
2. 浮点数类型(FLOAT/DOUBLE): FLOAT:4 字节,单精度浮点数,规模从 3.4e38 到 3.4e38,精度约为 7 位小数。 DOUBLE:8 字节,双精度浮点数,规模从 1.79e308 到 1.79e308,精度约为 15 位小数。
3. 定点数类型(DECIMAL/NUMERIC): DECIMAL:用于准确的小数运算,能够指定精度和小数位数。例如,DECIMAL 表明最多 10 位数字,其间 2 位是小数部分。
挑选适宜的数值类型取决于你的详细需求,例如数字的规模、精度要求以及存储空间。关于需求高精度的核算,一般引荐运用 DECIMAL 类型。
MySQL数值类型详解
MySQL作为一种广泛运用的开源联系型数据库办理体系,供给了丰厚的数据类型以习惯不同的存储需求。数值类型是MySQL数据类型中最为根底和常用的一类,首要用于存储整数和浮点数。本文将详细介绍MySQL中的数值类型,包含其分类、特色以及运用方法。
数值类型分类
MySQL的数值类型能够分为以下几类:
1. 整数类型
整数类型用于存储没有小数部分的数值,包含:
- TINYINT:规模:-128 到 127(有符号),0 到 255(无符号),巨细:1 字节。
- SMALLINT:规模:-32768 到 32767(有符号),0 到 65535(无符号),巨细:2 字节。
- MEDIUMINT:规模:-8388608 到 8388607(有符号),0 到 16777215(无符号),巨细:3 字节。
- INT:规模:-2147483648 到 2147483647(有符号),0 到 4294967295(无符号),巨细:4 字节。
- BIGINT:规模:-9223372036854775808 到 9223372036854775807(有符号),0 到 18446744073709551615(无符号),巨细:8 字节。
2. 浮点类型
浮点类型用于存储有小数部分的数值,包含:
- FLOAT:巨细:4 字节,精度取决于硬件和编译器。
- DOUBLE:巨细:8 字节,精度较高。
3. 定点类型
定点类型用于存储准确的小数,包含:
- DECIMAL:巨细和精度由用户界说,能够存储恣意精度的数值。
数值类型特色
1. 规模和精度
不同数值类型具有不同的规模和精度,用户在挑选数值类型时应根据实践需求进行挑选。
2. 有符号和无符号
整数类型能够指定为有符号或无符号,有符号类型能够存储负数,无符号类型只能存储非负数。
3. 主动类型转化
MySQL在履行查询时,会主动进行数值类型的转化,以满意运算需求。
数值类型运用方法
1. 创立表
在创立表时,能够为字段指定数值类型,如下所示:
```sql
CREATE TABLE example (
id INT AUTO_INCREMENT PRIMARY KEY,
tinyintcol TINYINT,
smallintcol SMALLINT,
mediumintcol MEDIUMINT,
intcol INT,
bigintcol BIGINT,
floatcol FLOAT,
doublecol DOUBLE,
decimalcol DECIMAL(10, 2)
2. 刺进数据
在刺进数据时,能够为数值字段指定详细的数值,如下所示:
```sql
INSERT INTO example (tinyintcol, smallintcol, mediumintcol, intcol, bigintcol, floatcol, doublecol, decimalcol)
VALUES (10, 20, 30, 40, 50, 60.5, 70.5, 80.99);
3. 查询数据
在查询数据时,能够运用数值类型的运算符进行核算,如下所示:
```sql
SELECT id, tinyintcol smallintcol AS sum FROM example;