mysql 数据类型

合集下载

mysql各数据类型的存储范围

mysql各数据类型的存储范围

mysql各数据类型的存储范围⽂章转⾃ https:///web21/p/6016120.htmlmysql整型bigint、int、mediumint、smallint 和 tinyint的语法介绍,如下:1、bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),⽆符号的范围是0到18446744073709551615。

⼀位为 8 个字节。

2、int⼀个正常⼤⼩整数。

有符号的范围是-2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字),⽆符号的范围是0到4294967295。

⼀位⼤⼩为 4 个字节。

int 的 SQL-92 同义词为 integer。

3、mediumint⼀个中等⼤⼩整数,有符号的范围是-8388608到8388607,⽆符号的范围是0到16777215。

⼀位⼤⼩为3个字节。

4、smallint⼀个⼩整数。

有符号的范围是-2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据,⽆符号的范围是0到65535。

⼀位⼤⼩为 2 个字节。

MySQL 提供的功能已经绰绰有余,⽽且由于MySQL是开放源码软件,因此可以⼤⼤降低总体拥有成本。

5、tinyint有符号的范围是-128 - 127,⽆符号的范围是从 0 到 255 的整型数据。

⼀位⼤⼩为 1 字节。

单位换算1KB = 1024B 字节 "Byte" 单位B1B = 8b 位 "bit" 单位b1个字母(数字和单词) = 1B = 8位注意,所有算术运算⽤有符号的BIGINT或DOUBLE值完成,因此你不应该使⽤⼤于9223372036854775807(63位)的有符号⼤整数,除了位函数!注意,当两个参数是INTEGER值时,-、+和*将使⽤BIGINT运算!这意味着如果你乘2个⼤整数(或来⾃于返回整数的函数),如果结果⼤于9223372036854775807,你可以得到意外的结果。

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数据类型(字段)介绍

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 float double decimal 字符串形式存储 科学计数法

mysql float double decimal 字符串形式存储 科学计数法

mysql float double decimal 字符串形式存储科学计数法MySQL中的float、double和decimal类型都可以用于存储数值数据,但它们在存储方式和精度上有所不同。

在将数值数据以字符串形式存储时,这些类型可能会使用科学计数法表示。

1. float类型:float是一种浮点数类型,占用4个字节(32位),可以存储大约7位有效数字。

float类型的取值范围约为-3.4E+38到3.4E+38。

当float类型的数值超过其有效位数时,会使用科学计数法表示。

例如,将1234567890.123以float类型存储,结果为1.23457E+10。

2. double类型:double是一种双精度浮点数类型,占用8个字节(64位),可以存储大约15位有效数字。

double类型的取值范围约为-1.7E+308到1.7E+308。

当double类型的数值超过其有效位数时,也会使用科学计数法表示。

例如,将1234567890.123以double类型存储,结果为1.234567890123E+10。

3. decimal类型:decimal是一种固定精度的数值类型,可以根据需要设置精度和小数位数。

decimal类型的存储空间取决于所设置的精度和小数位数。

例如,创建一个decimal(5,2)类型的列,将占用5个字节(40位)的存储空间,其中5位用于整数部分,2位用于小数部分。

decimal类型的取值范围与所设置的精度和小数位数有关。

当decimal类型的数值超过其有效位数时,不会使用科学计数法表示。

例如,将1234567890.123以decimal(5,2)类型存储,结果为1234567890.12。

在将数值数据以字符串形式存储时,可以使用MySQL提供的函数进行转换。

以下是一些常用的函数:1. CAST()函数:将一个数据类型转换为另一个数据类型。

例如,将float类型的数值转换为字符串:`CAST(1234567890.123 AS CHAR)`,结果为'1234567890.12'。

MySQL中的数据类型精度和存储空间选择

MySQL中的数据类型精度和存储空间选择

MySQL中的数据类型精度和存储空间选择MySQL是一种常用的关系型数据库管理系统,被广泛应用于各种类型的应用程序中。

在设计和使用MySQL数据库时,选择合适的数据类型精度和存储空间是非常重要的。

首先,我们来了解一下数据类型精度的概念。

数据类型精度是指在数据库中存储数据时所允许的最大位数或字符数。

在MySQL中,常用的数据类型包括整型、浮点型、日期时间型和字符串型等。

不同的数据类型分别有不同的精度要求,通过选择合适的数据类型精度,可以充分利用存储空间,并保证数据的完整性和准确性。

在MySQL中,我们通常使用整型来存储整数数据。

整型根据不同的位数可以分为TINYINT、SMALLINT、INT和BIGINT等类型,它们分别占用1字节、2字节、4字节和8字节的存储空间。

选择合适的整型可以根据数据范围和所需存储空间进行优化。

例如,如果存储的数据范围在-128到127之间,可以选择TINYINT类型,这样可以节省存储空间。

如果数据范围较大,可以选择BIGINT类型来存储。

浮点型用于存储小数数据,在MySQL中有两种常用的浮点型:FLOAT和DOUBLE。

它们分别占用4字节和8字节的存储空间。

选择合适的浮点型非常重要,因为浮点型在存储精度上存在一定的限制。

如果需要高精度的小数计算,应该选择DOUBLE类型。

而如果对精度要求不高,可以选择FLOAT类型,从而节省存储空间。

日期时间型用于存储日期和时间信息,在MySQL中有两种常用的日期时间类型:DATE和DATETIME。

DATE类型用于存储日期,占用3字节的存储空间,而DATETIME类型用于存储日期和时间,占用8字节的存储空间。

选择合适的日期时间类型取决于所需存储的精度。

如果只需要存储日期信息,选择DATE类型即可。

如果需要存储日期和时间,选择DATETIME类型可以提供更高的精度。

字符串型是MySQL中常用的数据类型之一。

在MySQL中,字符串型有多种类型,包括CHAR、VARCHAR、TEXT和BLOB等。

Mysql中的数据类型

Mysql中的数据类型
LONGBLOB 用于BLOBs (Binary Large OBjects) 。存放最多4,294,967,295 字节的数据。
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 无符号*。在括号中规定最大位 数。

MySQL中的数据类型转换和格式化方法

MySQL中的数据类型转换和格式化方法

MySQL中的数据类型转换和格式化方法数据类型在数据库中起着关键的作用,它决定了存储和处理数据的方式。

在MySQL中,数据类型转换和格式化方法是开发者和数据库管理员必备的技能之一。

本文将探讨MySQL中数据类型的转换和格式化方法,帮助读者更好地理解和应用这些技术。

1. 数据类型转换数据类型转换是将一个数据类型转换为另一个数据类型的过程。

在实际的数据库开发中,经常需要进行数据类型的转换,以满足不同的处理需求。

MySQL提供了多种数据类型转换函数,下面将介绍其中一些常用的函数。

1.1. CAST函数CAST函数用于将一个数据类型的值转换为另一个数据类型的值。

它的语法如下:```CAST(expression AS type)```expression为待转换的表达式,type为目标数据类型。

例如,将一个字符串转换为整数的示例代码如下:```sqlSELECT CAST('123' AS SIGNED);```在上述示例中,字符串'123'被转换为一个有符号整数。

1.2. CONVERT函数CONVERT函数与CAST函数类似,也可以用于数据类型的转换。

它的语法如下:```CONVERT(expression, type)```expression为待转换的表达式,type为目标数据类型。

例如,将一个浮点数转换为字符串的示例代码如下:```sqlSELECT CONVERT(3.14, CHAR);```在上述示例中,浮点数3.14被转换为一个字符串。

2. 数据格式化数据格式化是指将原始数据按照一定的格式进行显示或存储的过程。

在实际的数据库应用中,经常需要对数据进行格式化,以使其更易于理解和处理。

MySQL 中提供了多种数据格式化方法,下面将介绍一些常用的方法。

2.1. DATE_FORMAT函数DATE_FORMAT函数用于将日期和时间数据以特定的格式进行显示。

它的语法如下:```DATE_FORMAT(date, format)```date为待格式化的日期或时间,format为指定的格式。

四、MySQL数据类型和运算符

四、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中的数据类型选择与性能影响分析引言在数据库设计与建模的过程中,选择合适的数据类型对于存储和检索数据是至关重要的。

不同的数据类型会对数据库的性能产生不同的影响。

因此,在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数据类型(最⼤值和最⼩值)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中decimal、numeric数据类型

mysql中decimal、numeric数据类型
在这个例子中5精度precision代表重要的十进制数字的数目2数据范围scale代表在小数点后的数字位数
mysql中 decimal、 nБайду номын сангаасmeric数据类型
例 如:salary DECIMAL(5,2) 在这个例子中,5 (精度(precision)) 代表重要的十进制数字的数目,2 (数据范围(scale)) 代表在小数点后的数字位数。在这种情况下,因 此,salary 列可以存储的值范围是从 -999.99 到 999.99。(即M代表总位数,D代表小数点后的位数); 当插入的值超过存储值的范围会报错:(例如将1000.03赋给salary时) Out of range value for column 'salary' at row 1
当插入的值小数点后位数大于D时会报警告:(例如将99.8888赋给salary时) Data truncated for column'salary' at row 1
numeric(M,D)与DECIMAL(M, D)一样。

Mysql字段数据类型长度及表类型详细说明

Mysql字段数据类型长度及表类型详细说明

mysql字段数据类型、长度及表类型说明一、MySQL 字段数据类型/长度1、数值类型列类型需要的存储量TINYINT 1 字节SMALLINT 2 个字节MEDIUMINT 3 个字节INT 4 个字节INTEGER 4 个字节BIGINT 8 个字节FLOAT(X) 4 如果X < = 24 或8 如果25 < = X < = 53FLOAT 4 个字节DOUBLE 8 个字节DOUBLE PRECISION 8 个字节REAL 8 个字节DECIMAL(M,D) M字节(D+2 , 如果M < D)NUMERIC(M,D) M字节(D+2 , 如果M < D)MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。

许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。

INT 类型在MySQL 中支持的5 个主要整数类型是TINYINT,SMALLINT,MEDIUMINT,INT 和BIGINT。

这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。

MySQL 以一个可选的显示宽度指示器的形式对SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。

例如,指定一个字段的类型为INT(6),就可以保证所包含数字少于 6 个的值从数据库中检索出来时能够自动地用空格填充。

需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围。

万一我们需要对一个字段存储一个超出许可范围的数字,MySQL 会根据允许范围最接近它的一端截短后再进行存储。

还有一个比较特别的地方是,MySQL 会在不合规定的值插入表前自动修改为0。

UNSIGNED(未签署)修饰符规定字段只保存正值。

因为不需要保存数字的正、负符号,可以在储时节约一个“位”的空间。

MySQL的数据模型

MySQL的数据模型

MySQL的数据模型MySQL的数据类型主要分为三⼤类:1. 数值型(Numeric Type)2. ⽇期与时间型(Date and Time Type)3. 字符串类型(String Type )1. 数值MySQL的数值类型按照精确程度,⼤致可以分为两类:精确数值(Exact Value),包括INTEGER、DECIMAL、NUMERIC等;近似数值(Approximate Value),包括FLOAT、REAL、DOUBLE PRECISION等。

若按类型簇划分,则可分为三簇:Integer类型,包括INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT;Fixed-Point类型,包括DECIMAL, NUMERIC;Floating-Point类型,包括FLOAT, DOUBLE。

⼀般地,关键字INT代指INTEGER,关键字DEC(desc只降序)代指DECIMAL, DOUBLE代指DOUBLE PRECISION(a nonstandard extension)。

BIT类型保存位字段值,并且⽀持MyISAM、MEMORY、InnoDB和BDB表。

数值类型的存储、范围及⽤途如下表:类型⼤⼩(字节)范围(有符号)范围(⽆符号)⽤途TINYINT1(-128,127)(0,255)⼩整数值SMALLINT2(-32 768,32 767)(0,65 535)⼤整数值MEDIUMINT3(-8 388 608,8 388 607)(0,16 777 215)⼤整数值INT4(-2 147 483 648,2 147 483 647)(0,4 294 967 295)⼤整数值BIGINT8(-9 233 372 036 854 775 808,9 223 372 036854 775 807)(0,18 446 744 073 709551 615)极⼤整数值FLOAT4(-3.402 823 466 E+38,1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466351 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.225 073858 507 201 4 E-308),0,(2.225 073 858 507201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507201 4 E-308,1.797693 134 862 315 7E+308)双精度浮点数值DECIMAL对于DECIMAL(M,D),为M+2依赖于M和D的值依赖于M和D的值⼩数值DECIMAL类型常被声明为DECIMAL(M,D),其中M为precision,指允许的最多数字位数(the maximum number of digits);D为scale,指⼩数点后的⼩数位数(the number of digits to the right of the decimal point);⼀般D不⼤于M。

Mysql各数据类型以及取值范围和适用场合

Mysql各数据类型以及取值范围和适用场合

Mysql各数据类型以及取值范围和适⽤场合编号数据类型⼤⼩有符值域⽆符值域适⽤场合1Bit1~64 Bit0~1位标⽰2TinyInt 1 Byte-128~1270~255⼩整数值3SmallInt 2 Byte -32768~32767 0~65535中整数值4MediumInt 3 Byte -8388608~8388607 0~16777215⼤整数值5Int 4 Byte -2147483648~2147483647 0~4294967295整数值6BigInt8 Byte -9223372036854775808~92233720368547758070~18446744073709551615极⼤整数值7Float 4 Byte单精浮点数值8Double8 Byte双精浮点数值9Deciaml依赖于M和D的值依赖于M和D的值10Date 3 Byte格式 : YYYY-MM-DD1000-01-01~9999-12-31⽇期值11DateTime8 Byte格式 : YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~9999-12-31 23:59:59⽇期和时间值12Timestamp8 Byte格式 : YYYYMMDDHHMMSS 1970-01-01 00:00:00~2037年某时时间戳13Time 3 Byte格式 : HH:MM:SS-838:59:59~838:59:59时间值14Year 1 Byte格式 : YYYY1901/2155年份值15Char0~255 Byte定长字符串16VarChar0~255 Byte变长字符串17Binary18VarBinary19TinyText0~255 Byte短⽂本字符串20MediumText 0~16777215Byte中长⽂本21LongText 0~4294967295Byte极⼤⽂本22Text0~65535 Byte长⽂本23TinyBlob0~255 Byte不超过255个字符的⼆进制字符串24Blob0~65535 Byte⼆进制形式的长⽂本数据25MediumBlob 0~16777215Byte⼆进制形式的中等长⽂本数据26LongBlob 0~4294967295Byte⼆进制形式的极⼤长⽂本数据27Enum28Set29Geometry30Point31MultiPoint32Polygon33MultiPolygon34LineString35MultiLineString36GeometryCollection数据尚未填写完成,跟进中。

MySQL数据类型:TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER等字段类型区别

MySQL数据类型:TINYINT, SMALLINT, MEDIUMINT, INT, INTEGER等字段类型区别

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。

本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。

概述有意简化,更详细的说明应该考虑到有关特定列类型的附加信息,例如你能为其指定值的允许格式。

由MySQL支持的列类型列在下面。

下列代码字母用于描述中:M指出最大的显示尺寸。

最大的合法的显示尺寸是255 。

D适用于浮点类型并且指出跟随在十进制小数点后的数码的数量。

最大可能的值是30,但是应该不大于M-2。

方括号(“[”和“]”)指出可选的类型修饰符的部分。

注意,如果你指定一个了为ZEROFILL,MySQL将为该列自动地增加UNSIGNED属性。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]一个很小的整数。

有符号的范围是-128到127,无符号的范围是0到255。

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]一个小整数。

有符号的范围是-32768到32767,无符号的范围是0到65535。

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]一个中等大小整数。

有符号的范围是-8388608到8388607,无符号的范围是0到16777215。

INT[(M)] [UNSIGNED] [ZEROFILL]一个正常大小整数。

有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。

INTEGER[(M)] [UNSIGNED] [ZEROFILL]这是INT的一个同义词。

BIGINT[(M)] [UNSIGNED] [ZEROFILL]一个大整数。

有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615。

注意,所有算术运算用有符号的BIGINT或DOUBLE值完成,因此你不应该使用大于9223372036854775807(63位)的有符号大整数,除了位函数!注意,当两个参数是INTEGER值时,-、+和*将使用BIGINT运算!这意味着如果你乘2个大整数(或来自于返回整数的函数),如果结果大于9223372036854775807,你可以得到意外的结果。

mysqlbinary介绍_MySQL数据类型介绍

mysqlbinary介绍_MySQL数据类型介绍

mysqlbinary介绍_MySQL数据类型介绍MySQL是一个广泛使用的开源关系型数据库管理系统,被广泛应用于Web应用程序开发中。

在MySQL中,数据类型是用来定义列或变量的属性,以确定存储的数据的种类和范围。

MySQL提供了多种数据类型,包括整数、浮点数、日期和时间、字符串和二进制数据类型等。

其中,二进制数据类型是用于存储二进制数据的类型,可以存储任意字节的数据。

MySQL提供了多种二进制数据类型,包括BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。

二进制数据类型可以用于存储图片、音频、视频等二进制文件。

在数据库中存储二进制数据的好处是可以保留数据的完整性和一致性,同时也可以提高数据的读取和写入效率。

例如,在一个电子商务网站中,可以将商品的图片存储为二进制数据类型,以便在网页中显示商品图片。

在使用二进制数据类型时,需要注意以下几点:1.存储空间:不同的二进制数据类型有不同的存储空间限制,需要根据实际需求选择合适的类型。

2.读写效率:二进制数据类型的读写效率通常比文本数据类型要高,但是在进行查询操作时可能会降低数据库的性能。

3.编码方式:二进制数据类型存储的是原始字节数据,不会进行编码转换,因此在进行数据操作时需要注意编码方式的一致性。

4.安全性:二进制数据类型的存储方式可以提高数据的安全性,但是同时也增加了数据的复杂性和处理难度。

总之,MySQL提供了丰富的二进制数据类型,可以满足不同场景下的需求。

在使用二进制数据类型时,需要根据实际需求选择合适的类型,并注意存储空间、读写效率、编码方式和安全性等方面的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
bigint(m)
8个字节 范围(+-9.22*10的18次方)
取值范围如果加了unsigned,则最大值翻倍,如tinyintunsigned的取值范围为(0~256)。
int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。
tinytext
可变长度,最多255个字符
text
可变长度,最多65535个字符
mediumtext
可变长度,最多2的24次方-1个字符
longtext
可变长度,最多2的32次方-1个字符
char和varchar:
1.char(n)若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
3、定点数
浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d)参数m<65是总个数,d<30且d<m是小数位。
4、字符串(char,varchar,_text)
MySQL数据类型
含义
char(n)
固定长度,最多255个字符
varchar(n)
固定长度,最多65535个字符
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位。
5.二进制数据(_Blob)
1._BLOB和_text存储方式不同,_TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
2._BLOB存储的数据只能整体读出。
3._TEXT可以指定字符集,_BLO不用指定字符集。
6.日期时间类型
MySQL数据类型
含义
date
日期 '2008-12-2'
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。
time
时间 '12:25:36'
datetime
日期时间 '2008-12-2 22:06:44'
timestamp
自动存储记录修改时间
若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。
数据类型的属性
MySQL关键字
2.char(n)固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar类型的快。
varchar和text:
mysql数据类型
1、整型
MySQL数据类型
含义(有符号)
tinyint(m)
1个字节 范围(-128~127)
smallint(m)
2个字节 范围(-32768~32767)
mediumint(m)
3个字节 范围(-8388608~8388607)
int(m)
4个字节647)
含义
NULL
数据列可包含NULL值
NOT NULL
数据列不允许包含NULL值
DEFAULT
默认值
PRIMARY KEY
主键
AUTO_INCREMENT
自动递增,适用于整数类型
UNSIGNED
无符号
CHARACTER SET name
指定一个字符集
相关文档
最新文档