MySQL 数据类型 (列表)
MySQL(二)数据库数据类型详解
MySQL(⼆)数据库数据类型详解 序⾔ 今天去健⾝了,感觉把⾝体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这⾥讲清楚了,以后在看到什么数据类型,咱度应该认识,下⾯就跟着我的节奏去把这个拿下吧。
---WZY⼀、数据类型 MySQL的数据类型有⼤概可以分为5种,分别是整数类型、浮点数类型和定点数类型、⽇期和时间类型、字符串类型、⼆进制类型。
现在可以来看看你对这5种类型的熟悉程度,哪个看起来懵逼了,那就说明⾃⼰哪个不熟悉,不理解。
注意:整数类型和浮点数类型可以统称为数值数据类型,这不难理解。
数值数据类型 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT 浮点数类型:FLOAT、DOUBLE 定点⼩数:DECIMAL ⽇期/时间类型 YEAR、TIME、DATE、DATETIME、TIMESTAMP 字符串类型 CHAR、VARCHAR、TEXT、ENUM、SET等 ⼆进制类型 BIT、BINARY、VARBINARY、BLOB 1、整数类型 不管你学什么语⾔,在基础⽅⾯,都应该知道 1个字节= 8位⼆进制数。
每个类型的取值范围也就能够知道,⽐如TINYINT占⽤1个字节,也就是8位,2的8次⽅减1等于255,也就是说如果代表没符号的整数,该取值范围为0~255,如果是有符号的,最⾼位为符号号位,也就是2的7次⽅减1,也就是127,取值范围为-128~127,为什么需要减1,这个问题就需要考虑临界值的问题了。
⽽考虑临界值问题⼜有需要讨论原码补码反码的知识,这些度不是我们讨论的重点,所以在这就⾃⾏百度。
给出⼀张范围表,给⼤家做参考。
不同整数类型的取值范围 根据⾃⼰所需去选取不同的类型名称, 例如: CREATE TABLE aaa( id INT(10) PRIMARY KEY, age INT(6) ); 这个例⼦中INT(10)、INT(6) 括号中的数字表⽰的是该数据类型指定的显⽰宽度,指定能够显⽰的数值中数字的个数。
mysql数据类型——字符串char(m)和varchar(m)
mysql数据类型——字符串char(m)和varchar(m)char(m) 定长字符串类型 ⾮ Unicode 字符varchar(m) 变长字符串类型 ⾮ Unicode 数据说明:M为最⼤可存储字节数汉⼦占两个字节,通过指定m,来限制存储的最⼤字符数长度,char(20)和varchar(20)将最多只能存储20个字符,超过的字符将会被截掉。
m必须⼩于该类型允许的最⼤字符数。
⼀ char(m)类型Char(m) 最⼤字节数255定长类型 m可取0-255 它的右边填充空格以达到指定长度,当检索到char值时,尾部的空格被删除掉 (性别密码) CHAR 类型⽤于定长字符串,并且必须在圆括号内⽤⼀个⼤⼩修饰符来定义。
这个⼤⼩修饰符的范围从 0-255。
注意:⽐指定长度⼤的值将被截短,⽽⽐指定长度⼩的值将会⽤空格作填补。
所以char类型存储的字符串末尾不能有空格,varchar不受此限制。
⼆ varchar(m)类型Varchar(m) 最⼤字节65535可变长度 m取0-65535 只保存需要字符数,另加⼀个字节来声明长度(⽤户名⽂章标题) VARCHAR 类型只使⽤存储字符串实际需要的长度(增加⼀个额外字节来存储字符串本⾝的长度)来存储值。
⽐指定长度⼤的值将被截短。
变化⼀-> MySQL 数据库的varchar类型在4.1以下的版本中的最⼤长度限制为255,其数据范围可以是0~255或1~255(根据不同版本数据库来定)。
在 MySQL5.0以上的版本中,varchar数据类型的长度⽀持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节, 也就是说,在4.1或以下版本中需要使⽤固定的TEXT或BLOB格式存放的数据可以使⽤可变长的varchar来存放,这样就能有效的减少数据库⽂件的⼤⼩。
变化⼆——>MySQL 数据库的varchar类型在4.1以下的版本中,nvarchar(存储的是Unicode数据类型的字符)不管是⼀个字符还是⼀个汉字,都存为2个字节,⼀般⽤作中⽂或者其他语⾔输⼊,这样不容易乱码 ; varchar: 汉字是2个字节,其他字符存为1个字节,varchar适合输⼊英⽂和数字。
Mysql数据类型(字段)介绍
MySql数据库的列类型(字段类型)MySQL数据库的表是一个二维表,由一个或多个数据列构成。
每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。
MySQL中的列类型有三种:数值类、字符串类和日期/时间类。
从大类来看列类型和数值类型一样,都是只有三种。
但每种列类型都还可细分。
下面对各种列类型进行详细介绍。
数值类的数据列类型数值型的列类型包括整型和浮点型两大类。
TINYINT:1字节非常小的正整数,带符号:-128~127,不带符号:0~255SMALLINT:2字节小整数,带符号:-32768~32767,不带符号:0~65535MEDIUMINT:3字节中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215INT:4字节标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295BIGINT:8字节大整数,带符号:-9223372036854775808~9233372036854775807,不带符号:0~18446744073709551615FLOAT:4字节单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38 DOUBLE:8字节双精度浮点数,最小非零值:+-2.2250738585072014E-308,最大非零值:+-1.7976931348623157E+308DECIMAL:M+2字节以字符串形式表示的浮点数,它的取值范围可变,由M和D的值决定。
整型数据列类型MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。
它们之间的区别是取值范围不同,存储空间也各不相同。
在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。
mysql数据库的number类型
mysql数据库的number类型全文共四篇示例,供读者参考第一篇示例:MySQL数据库的Number类型是一种非常常用的数据类型,它用来存储数值型数据,包括整数和小数。
在实际的数据库设计和开发中,我们经常会用到Number类型来存储各种数字数据,比如订单金额、产品价格、数量等等。
在本文中,我们将详细介绍MySQL数据库中的Number类型,包括其各种子类型和用法。
MySQL数据库中的Number类型主要包括两种子类型,即整数型和浮点型。
整数型包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,分别用来存储不同范围的整数数据。
浮点型包括FLOAT和DOUBLE,用来存储小数数据。
下面我们将分别介绍这些Number类型的特点和用法。
1. TINYINTTINYINT类型用来存储小范围的整数数据,取值范围为-128到127。
TINYINT类型占用1个字节的存储空间,适用于存储性别、状态等只有两个取值的数据。
6. FLOATFLOAT类型用来存储单精度浮点数,即小数数据。
FLOAT类型占用4个字节的存储空间,可以存储6-7位的有效数字,适用于存储科学计算、工程测量等领域的数据。
第二篇示例:MySQL数据库中的number类型主要用于存储数值型数据,包括整型和浮点型两种。
整型数据包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,而浮点型数据包括FLOAT和DOUBLE。
在数据库表的设计中,合理地选择number类型可以提高数据库的性能和数据存储效率。
让我们来了解一下MySQL数据库中number类型的具体描述和用法。
1. TINYINT:TINYINT类型用于存储非常小的整数数据,范围在-128到127之间。
它占用1个字节的存储空间,适用于存储布尔类型数据或者只需要记录小整数的场景。
6. FLOAT:FLOAT类型用于存储单精度浮点数数据,范围在-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38之间。
mysql 的数组格式
mysql 的数组格式在 MySQL 中,可以使用数组数据类型来存储多个值在一个字段中。
MySQL 数组是一种特殊的数据类型,用于存储一个值的列表。
每个数组元素都可以单独访问,并且可以使用索引来访问特定的元素。
在 MySQL 中,可以使用以下语法定义一个数组字段:column_name data_type(array_size)其中,column_name 是字段的名称,data_type 是该字段的数据类型,array_size 是数组的大小。
例如,如果要定义一个名为students 的表,其中包含一个整数类型的 age 数组字段,可以使用以下 SQL 语句:CREATE TABLE students (id INT,age INT ARRAY(3));在这个例子中,age 字段是一个整数类型的数组,大小为 3。
这意味着它可以存储最多3 个整数。
要插入数据到数组字段中,可以使用以下语法:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);例如,如果要向 students 表插入一条记录,其中 age 字段包含三个整数值 10、15 和 20,可以使用以下 SQL 语句:INSERT INTO students (id, age) VALUES (1, ARRAY[10, 15, 20]);要查询数组字段中的值,可以使用以下语法:SELECT column_name[index] FROM table_name WHERE condition;例如,如果要查询 students 表中的第一个学生的年龄,可以使用以下 SQL 语句:SELECT age[0] FROM students WHERE id = 1;这将返回值为 10,即 age 数组的第一个元素。
可以通过改变索引来访问数组中的其他元素。
Mysql中的数据类型
ENUM(x,y,z,etc.) 允许你输入可能值的列表。可以在ENUM列表中列出最大65535个值。如果列表中不存在插入的值,则插入空值。注释:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM('X','Y','Z')
TINYTEXT 存放最大长度为255个字符的字符串。
TEXT 存放最大长度为65,535个字符的字符串。
BLOB 用于BLOBs (Binary Large OBjects) 。存放最多65,535 字节的数据。
数据类型 描述
TINYINT(size) -128 到127 常规。0到255 无符号*。在括号中规定最大位数。
SMALLINT(size) -32768 到32767 常规。0 到65535 无符号*。在括号中规定最大位数。
DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数。
DECIMAL(size,d) 作为字符串存储的DOUBLE类型,允许固定的小数点。
Date 类型: (*即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD 。)
MEDIUMINT(size) -8388608 到8388607 普通。0 to 16777215 无符号*。在括号中规定最大位 数。
php数据库,mysql字段类型,字段属性详解
本文由lchengm贡献 doc1。
MySQL 字段类型详解 MySQL 提 供 了 整 数 和 浮 点 数 的 数 值 类 型 。
可 根 据 所 要 表 示 的 值 的 范 围 选 择 相 应 的 类 型 。
对 于 整 数 类 型 , 如 果 指 定 了 AUTO_INCREMENT 属 性 , 则 列 必 须 为 PRIMARY KEY 或 UNIQUE 索 引 。
将 NULL 插 入 AUTO_INCREMENT 列 将 会 插 入 一 个 大 于 该 列 中 当 前 最 大 值 的 值 。
如 果 指 定 了 UNSIGNED 属 性 , 则 相 应 的 整 数 类 型 不 允 许 取 负 值 。
如 果 指 定 了 ZEROFILL 属 性 , 则 用 前 导 零 填 充 数 值 类 型 值 以 达 到 列 的 显 示 宽 度 。
1. TINYINT[(M)] 说明:非常小的整数 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : - 128 到 127( - 27 到 27- 1) 或 者 如 果 为 U N S I G N E D, 则 0 到 2 5 5 , ( 0 到 2 8-1) 缺 省 值 : 如 果 列 可 为 NULL; 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:1 字节 2. SMALLINT[(M)] 说明:小整数 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : - 32768 到 3 27 6 7( - 215 到 215- 1) 或 者 如 果 为 U N S I G N E D, 则 , 0 到 6 5 5 3 5( 0 到 216- 1) 缺 省 值 : 如 果 列 可 为 NULL; 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:2 字节 3. MEDIUMINT[(M)] 说明:中等大小的整数 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : -8388608 到 8 3 8 8 6 07( - 22 3 到 22 3- 1) 或 者 如 果 为 U N S I G N E , D, 则 0 到 16 7 7 2 15( 0 到 22 4- 1) 缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:4 字节 4. INT[(M)] 说明:标准大小的整数 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : - 2147483648 到 2 14 7 4 8 3 6 4 7( - 231 到 2 3 1- 1) 或 者 如 果 为 U N , S I G N E D, 则 0 到 4 2 9 4 9 6 7 2 9 5( 0 到 2 3 2- 1) 缺 省 值 : 如 果 列 为 NULL, 则 为 NULL; 如 果 列 为 NOT FULL, 则 为 0 存储需求:4 字节 同 义 词 : I N T E G E R [(M)] 5. BIGINT[(M)] 说明:大整数 允 许 的 属 性 : AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL 取 值 范 围 : - 9223372036854775808 到 9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07( - 263 到 2 6 3- 1) 或 者 如 果 为 U N S I G N E D, 则 0 到 18 4 4 6 7 4 4 07 3 7 0 9 5 5 16 , 15( 0 到 26 4 -1) 缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:8 字节 6. FLOAT [(M, D)] 说 明 : 小 浮 点 数 ; 单 精 度 ( 精 度 小 于 D O U B L E) 允许的属性:Z E R O F I L L 取 值 范 围 : 最 小 非 零 值 为 ±1.75494351E -38; 最 大 非 零 值 为 ±3 . 4 0 2 8 2 3 4 6 6 E + 3 8 缺 省 值 : 如 果 列 可 为 NULL, 则 为 NULL; 如 果 列 为 NOT NULL, 则 为 0 存储需求:4 字节 同 义 词 : MySQL3.23 版 以 前 , FLOAT(4) 为 具 有 缺 省 M 和 D 值 的 FLOAT 的 同 义 词 。
mysql data类型用法
MySQL是一种流行的关系型数据库管理系统,它支持多种数据类型。
以下是一些常用的MySQL数据类型及其用法:1. 数值数据类型:* INT:用于存储整数,范围为-2147483648到2147483647。
* SMALLINT:用于存储小型整数,范围为-32768到32767。
* MEDIUMINT:用于存储中等大小的整数,范围为-8388608到8388607。
* BIGINT:用于存储大整数,范围为-9223372036854775808到9223372036854775807。
* FLOAT:用于存储单精度浮点数。
* DOUBLE:用于存储双精度浮点数。
* DECIMAL(p,s):用于存储精确小数,其中p是总位数,s是小数点后的位数。
2. 字符串数据类型:* CHAR(n):用于存储固定长度的字符串,其中n是字符数。
例如,CHAR(10)可以存储长度为10个字符的字符串。
* VARCHAR(n):用于存储可变长度的字符串,其中n是最大字符数。
例如,VARCHAR(255)可以存储最大长度为255个字符的字符串。
* TEXT:用于存储较大的文本数据。
3. 日期和时间数据类型:* DATE:用于存储日期,格式为YYYY-MM-DD。
* TIME:用于存储时间,格式为HH:MM:SS。
* DATETIME:用于存储日期和时间,格式为YYYY-MM-DD HH:MM:SS。
* TIMESTAMP:用于存储时间戳,格式为YYYY-MM-DD HH:MM:SS。
与DATETIME相比,TIMESTAMP的范围较小,但精度更高。
* YEAR:用于存储年份,可以存储2位或4位的年份表示。
4. 布尔数据类型:* BOOLEAN:用于存储布尔值,可以存储TRUE或FALSE。
在MySQL中,通常使用tinyint(1)来代替布尔类型。
5. 复合数据类型:* ENUM(value1,value2,...):用于定义一个枚举类型的字段,可以指定一组允许的值。
四、MySQL数据类型和运算符
四、MySQL数据类型和运算符 数据库表由多列字段构成,每⼀个字段指定了不同的数据类型。
指定字段的数据类型之后,也就决定了向字段插⼊的数据内容。
不同的数据类型也决定了MySQL在存储它们的时候使⽤的⽅式,以及在使⽤它们的时候选择什么运算符号进⾏运算。
⼀、MySQL数据类型介绍 MySQL⽀持多种数据类型,主要有数值类型、⽇期/时间类型和字符串类型。
(1)数值数据类型:包括整数类型TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,浮点⼩数数据类型FLOAT和DOUBLE,定点⼩数类型DECIMAL。
(2)⽇期/时间类型:包括YEAR、TIME、DATE、DATETIME和TIMESTAMP。
(3)字符串类型:包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET等。
字符串类型⼜分为⽂本字符串和⼆进制字符串。
1.1 整数类型 数值型数据类型主要⽤来存储数字,MySQL提供了多种数值数据类型,不同的数据类型提供不同的取值范围,可以存储的值范围越⼤,其所需的存储空间也会越⼤。
MySQL主要提供的整数类型有:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT。
整数类型的属性字段可以添加AUTO_INCREMENT⾃增约束条件。
下表列出了MySQL中的数值类型:MySQL中的整数型数据类型数据名称说明存储需求默认宽度值TINYINT很⼩的整数1个字节4SMALLINT⼩的整数2个字节6MEDIUMINT中等⼤⼩的整数3个字节9INT(INTEGER)普通⼤⼩的整数4个字节11BIGINT⼤整数8个字节20 根据占⽤字节数可以求出每⼀种数据类型的取值范围,例如TINYINT需要1个字节(8bits)来存储,那么TINYINT⽆符号数的最⼤值为28-1,即255;TINYINT有符号数的最⼤值为27-1,即127。
MySQL中的数据类型选择与性能影响分析
MySQL中的数据类型选择与性能影响分析引言在数据库设计与建模的过程中,选择合适的数据类型对于存储和检索数据是至关重要的。
不同的数据类型会对数据库的性能产生不同的影响。
因此,在MySQL数据库中合理选择与使用数据类型对于提高数据库的性能和效率至关重要。
本文将从不同数据类型的特性入手,分析其对数据库性能的影响,并提供一些优化建议。
1. 数值类型选择数值类型在数据库中广泛应用于存储整数、小数和货币等。
MySQL提供不同的数值类型供选择,包括整型、浮点型和定点型。
不同的数值类型在存储空间和计算速度上存在差异。
1.1 整数类型MySQL提供了多种整数类型,如TINYINT、SMALLINT、INT和BIGINT等。
根据实际需求选择合适的整数类型可以节省存储空间并提高计算性能。
通常情况下,尽量选择最小的整数类型来存储数据,以节省存储空间。
例如,如果需要存储的数字范围在-128到127之间,可以选择TINYINT类型,而不是INT类型。
1.2 浮点类型浮点类型适用于存储具有小数部分的数字,如FLOAT和DOUBLE。
浮点类型相对于整数类型在存储空间上更为占用,并且在计算时也相对较慢。
因此,在选择浮点类型时,应根据具体需求权衡存储空间和计算速度的关系。
1.3 定点类型定点类型用于精确存储小数,如DECIMAL。
与浮点类型相比,定点类型具有更高的精度,但相应地也占用更多的存储空间。
在需要精确计算的场景中,如财务系统,建议使用定点类型。
2. 字符串类型选择字符串类型用于存储文本、字符和日期时间等数据。
MySQL提供多种字符串类型,如CHAR、VARCHAR、TEXT等。
不同的字符串类型在存储空间和检索速度上具有不同的特性。
2.1 CHAR类型CHAR类型用于存储固定长度的字符数据。
CHAR类型在存储时会按照指定长度进行填充,所以它在存储空间方面相对较大。
然而,由于存储的是固定长度的数据,检索速度相对较快。
在存储长度固定的数据时,如性别、国家代码等,可以选择CHAR类型。
MySQL数据类型(最大值和最小值)
MySQL数据类型(最⼤值和最⼩值)MySQL数据类型(最⼤值和最⼩值)1、整型MySQL数据类型含义(有符号)tinyint(m)1个字节范围(-128~127)smallint(m)2个字节范围(-32768~32767)mediumint(m)3个字节范围(-8388608~8388607)int(m)4个字节范围(-2147483648~2147483647)bigint(m)8个字节范围(+-9.22*10的18次⽅)取值范围如果加了unsigned,则最⼤值翻倍,如tinyint unsigned的取值范围为(0~255)。
int(m)⾥的m是表⽰SELECT查询结果集中的显⽰宽度,不知道这个m有什么⽤。
int 占10位,存不了⼿机号(11位)2、浮点型(float和double) 浮点型在数据库中存放的是近似值MySQL数据类型含义float(m,d)单精度浮点型 8位精度(4字节) m总个数,d⼩数位double(m,d)双精度浮点型 16位精度(8字节) m总个数,d⼩数位设⼀个字段定义为float(5,3),如果插⼊⼀个数123.45678,实际数据库⾥存的是123.457,但总个数还以实际为准,即6位。
3、定点数定点类型在数据库中存放的是精确值浮点型在数据库中存放的是近似值,⽽定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是⼩数位。
4、字符串(char,varchar,_text)MySQL数据类型含义char(n)固定长度,最多255个字符varchar(n)可变长度,最多65535个字节tinytext可变长度,最多255个字符text可变长度,最多65535个字符mediumtext可变长度,最多2的24次⽅-1个字符longtext可变长度,最多2的32次⽅-1个字符。
mysql基本数据类型
mysql基本数据类型MySQL是一种关系型数据库管理系统,它支持多种数据类型。
MySQL的数据类型分为数值类型、日期和时间类型、字符串类型、二进制类型。
以下是MySQL基本数据类型(注意:各类型数据的存储要占用的字节数,不同的数据库系统、不同的编译选项这些大小限制和取值范围有所不同):1. 数值类型MySQL数值类型有整数类型和小数类型两种:1.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个字节。
1.2 小数类型- FLOAT:单精度浮点数,占用4个字节。
- DOUBLE:双精度浮点数,占用8个字节。
- DECIMAL:高精度浮点数,依赖于实际存储的数字大小而变化。
2. 日期和时间类型MySQL日期和时间类型包括DATE、TIME、DATETIME、YEAR和TIMESTAMP:- DATE:日期,存储的范围为'1000-01-01'到'9999-12-31'。
占用3个字节。
- TIME:时间,存储的范围为 '-838:59:59'到 '838:59:59'。
占用3个字节。
- DATETIME:日期时间,存储范围为 '1000-01-01 00:00:00'到 '9999-12-31 23:59:59'。
mysqloraclesqlserver三大数据库的数据类型列表
MySql Oracle SqIServer三大数据库的数据类型列表MySql数据类型Oracle数据类型、概述在ORACLE8中定义了:标量(SCALAR、复合(COMPOSITE、引用(REFERENCE和LOB四种数据类型,下面详细介绍它们的特性。
二、标量(SCALAR合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。
它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。
数字,它有三种基本类型--NUMBER、PLS_INTEGEF和BINARY_INTENER NUMBER可以描述整数或实数,而PLS_INTEGEf和BINARY_INTENER^能描述整数。
NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。
它的定义方式是NUMBER( P, S),P是精度,最大38位,S是刻度范围,可在-84...127间取值。
例如:NUMBER( 5, 2)可以用来存储表示-999.99...999.99间的数值。
P、S可以在定义是省略,例如:NUMBER( 5)、NUMBER 等;BINARY_INTENER|来描述不存储在数据库中,但是需要用来计算的带符号的整数值。
它以2的补码二进制形式表述。
循环计数器经常使用这种类型。
PLS_INTEGEf和口BINARY_INTENER隹一区别是在计算当中发生溢出时,BINARY_INTENERS的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGE型的变量将会发生错误。
字符,包括CHAR VARCHAR2 (VARCHAR、LONG NCHAR和NVARCHAR2几种类型。
CHAR描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。
它的声明方式如下CHAR( L) , L 为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。
MySQL 数据类型 (列表)
MySQL数据类型(列表)数据类型描述字节推荐使用SMALLINT整数,从-32000到+32000范围2存储相对比较小的整数。
比如:年纪,数量INT整数,从-2000000000到+2000000000范围4存储中等整数例如:距离BIGINT不能用SMALLINT或INT描述的超大整数。
8存储超大的整数例如:科学/数学数据FLOAT单精度浮点型数据4存储小数数据例如:测量,温度DOUBLE双精度浮点型数据8需要双精度存储的小数数据例如:科学数据DECIMAL用户自定义精度的浮点型数据变量;取决于精度与长度以特别高的精度存储小数数据。
例如:货币数额,科学数据CHAR固定长度的字符串特定字符串长度(高达255字符)存储通常包含预定义字符串的变量例如:定期航线,国家或邮编VARCHAR具有最大限制的可变长度的字符串变量;1+实际字符串长度(高达255字符)存储不同长度的字符串值(高达一个特定的最大限度).例如:名字,密码,短文标签TEXT没有最大长度限制的可变长度的字符串Variable;2+聽actual stringlength存储大型文本数据例如:新闻故事,产品描述BLOB二进制字符串变量;2+实际字符串长度存储二进制数据例如:图片,附件,二进制文档DATE以yyyy-mm-dd格式的日期3存储日期例如:生日,产品满期TIME以hh:mm:ss格式的时间3存储时间或时间间隔例如:报警声,两时间之间的间隔,任务开始/结束时间DATETIME以yyyy-mm-ddhh:mm:ss格式结合日期和时间8存储包含日期和时间的数据例如:提醒的人,事件TIMESTAMP以yyyy-mm-ddhh:mm:ss格式结合日期和时间4记录即时时间例如:事件提醒器,“最后进入”的时间标记YEAR以yyyy格式的年份1存储年份例如:毕业年,出生年ENUM一组数据,用户可从中选择其中一个1或2个字节存储字符属性,只能从中选择之一例如:布尔量选择,如性别SET一组数据,用户可从中选择其中0,1或更多。
mysql list的用法
mysql list的用法在MySQL 中,`LIST` 是一个常用的关键字,主要用于SELECT 语句中,用于显示查询结果中的列表。
以下是一些常用的`LIST` 用法:1. `SELECT `:用于查询数据库中的数据,并将结果以列表形式显示。
例如:```sqlSELECT id, name, age FROM users;```上述语句将从`users` 表中查询id、name 和age 列,并将结果以列表形式显示。
2. `SELECT DISTINCT `:用于查询数据库中的唯一数据,并将结果以列表形式显示。
例如:```sqlSELECT DISTINCT id, name FROM users;```上述语句将从`users` 表中查询唯一的名字和id,并将结果以列表形式显示。
3. `ORDER BY `:用于按照指定的列对查询结果进行排序,并显示排序后的列表。
例如:```sqlSELECT id, name, age FROM users ORDER BY age;```上述语句将从`users` 表中查询id、name 和age 列,并按照年龄进行排序,将结果以列表形式显示。
4. `LIMIT `:用于限制查询结果的数量。
例如:```sqlSELECT id, name, age FROM users LIMIT 10;```上述语句将从`users` 表中查询前10 行的数据,并将结果以列表形式显示。
5. `LIKE `:用于查询包含指定模式的列。
例如:```sqlSELECT id, name, age FROM users WHERE name LIKE '%张%';```上述语句将从`users` 表中查询名字包含"张" 的用户,并将结果以列表形式显示。
总之,在MySQL 中,`LIST` 关键字主要用于查询数据库中的数据,并通过SELECT 语句实现多种筛选和排序规则。
mysql 列类型
MySQL 列类型概述MySQL支持多种列类型:数值类型、日期/时间类型和字符串(字符)类型。
几种列类型描述使用了下述惯例:M 表示最大显示宽度,最大有效显示宽度是255;D 适用于浮点和定点类型,并表示小数点后面的位数。
最大可能的值是30,但不应大于M-2。
方括号([])表示可选部分。
1、数值类型概述如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性。
SERIAL是BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的一个别名。
在整数列定义中,SERIAL DEFAULT VALUE是NOT NULL AUTO_INCREMENT UNIQUE的一个别名。
类型范围说明:类型字节最小值最大值TINYINT 1 带符号的 -128 127无符号0 255SMALLINT 2 带符号的 -32768 32767无符号0 65535MEDIUMINT 3 带符号的-8388608 8388607无符号0 16777215INT 4 带符号的-2147483648 2147483647无符号0 4294967295BIGINT 8 带符号的-92233720368547758089223372036854775807 无符号0 184467440737095516151.1、BITBIT[(M)]位字段类型。
M表示每个值的位数,范围为从1到64。
如果M被省略,默认为1。
1.2、INYINTINYINT[(M)] [UNSIGNED] [ZEROFILL]很小的整数。
带符号的范围是-128到127。
无符号的范围是0到255。
1.3、BOOLBOOL,BOOLEAN是TINYINT(1)的同义词。
zero值被视为假。
非zero值视为真。
在将来,将根据标准SQL引入完全布尔类型的处理。
1.4、SMALLINTSMALLINT[(M)] [UNSIGNED] [ZEROFILL]小的整数。
mysql中enum的用法
mysql中enum的用法在MySQL中,ENUM是一种数据类型,用于表示一个值集合。
它只能存储指定的枚举值,允许从一个列表中选择一个值。
ENUM可以在表创建时定义,也可以在表已存在时进行修改。
ENUM的用法如下:1.创建表时定义ENUM类型:在创建表时,可以使用ENUM定义一个列的类型。
例如,创建一个名为"gender"的列,并将其定义为只能取"Male"和"Female"两个值:CREATE TABLE studentsid INT PRIMARY KEY,name VARCHAR(50),gender ENUM('Male', 'Female')在此例中,gender列的值只能是'Male'或'Female',其他值将不能被插入或更新。
2.修改表中的ENUM类型:如果在表已存在的情况下要修改ENUM类型,可以使用ALTER TABLE 语句。
例如,将上述表中的gender列修改为可以取'Male'、'Female'和'Other'三个值:ALTER TABLE students MODIFY gender ENUM('Male', 'Female', 'Other');在这种情况下,所有的'Male'和'Female'值将保留,而其他值将被更新为'Other'。
3.插入和更新ENUM类型的值:当插入或更新数据时,必须确保值属于ENUM类型定义的列表中。
否则,MySQL将引发错误。
例如,对于上面创建的students表,以下插入将会成功:INSERT INTO students (id, name, gender) VALUES (1, 'John', 'Male');但以下插入将引发错误,因为'Unknown'不在枚举值列表中:INSERT INTO students (id, name, gender) VALUES (2, 'Jane', 'Unknown');同样地,对于更新操作,只能使用枚举定义的值:UPDATE students SET gender = 'Female' WHERE id = 1;但下面的更新将引发错误:UPDATE students SET gender = 'Human' WHERE id = 1;4.查询ENUM类型的值:查询ENUM类型的值与查询其他类型的值类似。
mysql各数据类型的大小及长度
mysql各数据类型的⼤⼩及长度数字型类型⼤⼩范围(有符号)范围(⽆符号)⽤途TINYINT 1 字节(-128,127)(0,255)⼩整数值SMALLINT 2 字节(-32 768,32 767)(0,65 535)⼤整数值MEDIUMINT3 字节(-8 388 608,8 388 607)(0,16 777 215)⼤整数值INT或INTEGER4 字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)⼤整数值BIGINT8 字节(-9 233 372 036 854 775 808,9 223 372036 854 775 807)(0,18 446 744 073 709 551 615)极⼤整数值FLOAT 4 字节(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466E+38)单精度浮点数值DOUBLE8 字节(1.797 693 134 862 315 7 E+308,2.225073 858 507 201 4 E-308),0,(2.225073 858 507 201 4 E-308,1.797 693134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度浮点数值DECIMAL 对DECIMAL(M,D),如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值⼩数值⽆符号整数⽤法:CREATE TABLE t7(id INT AUTO_INCREMENT PRIMARY KEY,url VARCHAR(40),crcurl INT UNSIGNED NOT NULL DEFAULT 0);字符类型CHAR0-255字节定长字符串VARCHAR0-255字节变长字符串TINYBLOB0-255字节不超过 255 个字符的⼆进制字符串TINYTEXT0-255字节短⽂本字符串BLOB0-65 535字节⼆进制形式的长⽂本数据TEXT0-65 535字节长⽂本数据MEDIUMBLOB0-16 777 215字节⼆进制形式的中等长度⽂本数据MEDIUMTEXT0-16 777 215字节中等长度⽂本数据LOGNGBLOB0-4 294 967 295字节⼆进制形式的极⼤⽂本数据LONGTEXT0-4 294 967 295字节极⼤⽂本数据枚举集合ENUM (最多65535个成员) 64KBSET (最多64个成员) 64KB时间类型类型⼤⼩(字节)范围格式⽤途DATE31000-01-01/9999-12-31YYYY-MM-DD⽇期值TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间YEAR11901/2155YYYY年份值DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合⽇期和时间值TIMESTAMP81970-01-01 00:00:00/2037 年某时YYYYMMDD HHMMSS混合⽇期和时间值,时间戳。
mysql数据类型
mysql 数据类型2009年07月18日星期六15:57在计算机中数据有两种特征:类型和长度。
所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。
在SQL Server 中每个变量、参数、表达式等都有数据类型。
系统提供的数据类型分为几大类,。
其中,BIGINT、SQL_V ARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。
下面分类讲述各种数据类型。
4.3.1 整数数据类型整数数据类型是最常用的数据类型之一。
1、INT (INTEGER)INT (或INTEGER)数据类型存储从-2的31次方(-2 ,147 ,483 ,648)到2的31次方-1 (2 ,147 ,483,647)之间的所有正负整数。
每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。
2、SMALLINTSMALLINT 数据类型存储从-2的15次方(-32,768)到2的15次方-1(32 ,767 )之间的所有正负整数。
每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。
3、TINYINTTINYINT数据类型存储从0 到255 之间的所有正整数。
每个TINYINT类型的数据占用1 个字节的存储空间。
4、BIGINTBIGINT 数据类型存储从-2^63 (-9 ,223,372,036,854,775,807)到2^63-1(9,223,372,036 ,854 ,775,807)之间的所有正负整数。
每个BIGINT 类型的数据占用8个字节的存储空间。
4.3.2 浮点数据类型浮点数据类型用于存储十进制小数。
浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。
所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加1 ,并进行必要的进位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQL数据类型(列表)
数据类型描述字节推荐使用
SMALLINT整数,从-32000到+32000范围2存储相对比较小的整数。
比如:年纪,数量
INT整数,从-2000000000到
+2000000000范围4存储中等整数
例如:距离
BIGINT不能用SMALLINT或INT描述的
超大整数。
8存储超大的整数
例如:科学/数学数据
FLOAT单精度浮点型数据4存储小数数据
例如:测量,温度
DOUBLE双精度浮点型数据8需要双精度存储的小数数据
例如:科学数据
DECIMAL用户自定义精度的浮点型数据变量;取决于精度与长度以特别高的精度存储小数数据。
例如:货币数额,科学数据
CHAR固定长度的字符串特定字符串长度(高达255字符)存储通常包含预定义字符串的变量
例如:定期航线,国家或邮编
VARCHAR具有最大限制的可变长度的字符
串变量;1+实际字符串长度(高
达255字符)
存储不同长度的字符串值(高达一个特定的
最大限度).
例如:名字,密码,短文标签
TEXT没有最大长度限制的可变长度的
字符串Variable;2+聽actual string
length
存储大型文本数据
例如:新闻故事,产品描述
BLOB二进制字符串变量;2+实际字符串长度存储二进制数据
例如:图片,附件,二进制文档
DATE以yyyy-mm-dd格式的日期3存储日期
例如:生日,产品满期
TIME以hh:mm:ss格式的时间3存储时间或时间间隔
例如:报警声,两时间之间的间隔,任务开
始/结束时间
DATETIME以yyyy-mm-ddhh:mm:ss格式结合
日期和时间8存储包含日期和时间的数据
例如:提醒的人,事件
TIMESTAMP以yyyy-mm-ddhh:mm:ss格式结合
日期和时间4记录即时时间
例如:事件提醒器,“最后进入”的时间标
记
YEAR以yyyy格式的年份1存储年份
例如:毕业年,出生年
ENUM一组数据,用户可从中选择其中
一个1或2个字节存储字符属性,只能从中选择之一
例如:布尔量选择,如性别
SET一组数据,用户可从中选择其中
0,1或更多。
从1到8字节;取决于设置的大小存储字符属性,可从中选择多个字符的联
合。
例如:多选项选择,比如业余爱好和兴趣。