Mysql中的数据类型

合集下载

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数据类型(最⼤值和最⼩值)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如何看待该列数据,我们可以把整型数值存放到字符类型的列中,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中的数据类型转换和数据格式化技巧

MySQL中的数据类型转换和数据格式化技巧

MySQL中的数据类型转换和数据格式化技巧数据类型转换和数据格式化是在MySQL数据库中常用的技巧,它们有助于提高数据处理的效率和准确性。

本文将介绍MySQL中常用的数据类型转换和数据格式化技巧,并通过示例代码展示其应用。

一、数据类型转换1. 将字符串转换为整数在MySQL中,可以使用CAST函数将字符串转换为整数。

CAST函数采用下列语法:CAST(expression AS type)其中,expression是需要转换的字符串,type是目标数据类型。

示例代码:SELECT CAST('123' AS UNSIGNED) AS converted_number;这段代码将字符串'123'转换为无符号整数,并将转换结果存储在converted_number列中。

2. 将整数转换为字符串与将字符串转换为整数类似,可以使用CAST函数将整数转换为字符串。

示例代码:SELECT CAST(123 AS CHAR) AS converted_string;这段代码将整数123转换为字符串,并将转换结果存储在converted_string列中。

3. 将日期转换为字符串在MySQL中,日期和时间数据类型可以使用DATE_FORMAT函数进行格式化。

示例代码:SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;这段代码将当前日期格式化为'YYYY-MM-DD'的字符串,并将格式化结果存储在formatted_date列中。

二、数据格式化1. 格式化日期在MySQL中,可以使用DATE_FORMAT函数将日期格式化为指定的字符串。

示例代码:SELECT DATE_FORMAT(NOW(), '%Y-%m-%d') AS formatted_date;这段代码将当前日期格式化为'YYYY-MM-DD'的字符串,并将格式化结果存储在formatted_date列中。

MySQL中常见的数据类型及其用途

MySQL中常见的数据类型及其用途

MySQL中常见的数据类型及其用途MySQL是一种常用的关系型数据库管理系统,被广泛应用于Web开发和其他领域。

在MySQL中,数据类型是数据表中各列的属性之一,它定义了数据的存储格式、占用空间和操作行为。

不同的数据类型适用于不同的数据存储需求和数据操作操作。

本文将介绍MySQL中常见的数据类型及其用途。

1. 整型数据类型整型数据类型用于存储整数值,常见的有以下几种:- TINYINT:存储范围为-128到127的整数。

通常用于存储布尔值,0表示假,1表示真。

- SMALLINT:存储范围为-32768到32767的整数。

适用于存储较小的整数值。

- MEDIUMINT:存储范围为-8388608到8388607的整数。

适用于存储中等大小的整数值。

- INT:存储范围为-2147483648到2147483647的整数。

适用于存储一般大小的整数值。

- BIGINT:存储范围为-9223372036854775808到9223372036854775807的整数。

适用于存储较大的整数值。

整型数据类型用于存储整数,经常用于记录索引、主键或表示计数值。

2. 浮点型数据类型浮点型数据类型用于存储浮点数值,即带有小数点的数值。

常见的有以下几种:- FLOAT:单精度浮点数,占用4字节。

通常用于存储较小范围的浮点数。

- DOUBLE:双精度浮点数,占用8字节。

适用于存储较大范围的浮点数。

浮点型数据类型用于存储需要保留小数位的数值,如货币金额、科学计数法表示的数值等。

3. 定点型数据类型定点型数据类型用于存储固定精度的数值,适用于需要精确计算的场景。

常见的有以下几种:- DECIMAL:用于存储固定精度的十进制数值。

可以指定精度和小数位数。

定点型数据类型适用于要求高精度计算的场景,如财务计算、精确测量等。

4. 字符串型数据类型字符串型数据类型用于存储文本数据,常见的有以下几种:- CHAR:固定长度字符串,最多可以存储255个字符。

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的数据类型常⽤的有:整数类型:bit、bool、tinyint、smallint、mediumint、 int、bigint浮点数类型:float、double 、decimal字符串类型:char、varchar、tinyblob、blob、mediumblob、longblob、tinytext、text 、mediumtext、longtext⽇期类型:Date、DateTime、TimeStamp、Time、Year......mysql最常见的的数据类型,⼤致可以分为三类:数值(包括整数、浮点数等等)、⽇期/时间和字符串(字符)类型。

varchar,char后⾯跟括号⾥⼀个数字,标识的是长度,是空间容量,⽽int(11),tinyint(1),bigint(20)等的数字,表⽰的是最⼩显⽰位数。

在建表时,mysql会⾃动分配长度:int(11)、tinyint(4)、smallint(6)、mediumint(9)、bigint(20)。

整数型类型字节数范围(有符号)范围(⽆符号)tinyint1(-128,127)(0,255)smallint2(-32768,32767)(0,65535)mediumint3(-8388608,8388607)(0,16777215)int或integer4(-2147483648,2147483647)(0,4294967295)bigint8(-263,263-1)(0,2^64)默认是有符号类型的,⽆符号的需要在类型后⾯跟上 unsigned⼀个字节8位,⼆进制标识,⽆符号范围就是2的8*字节数的幂所有数值数据类型(除BIT和BOOLEAN外)都可以有符号或⽆符号。

有符号数值列可以存储正或负的数值,⽆符号数值列只能存储正数。

默认情况为有符号,但如果你知道⾃⼰不需要存储负值,可以使⽤UNSIGNED关键字,这样做将允许你存储两倍⼤⼩的值。

MySQL的数据类型

MySQL的数据类型

MySQL的数据类型⽬录MySQL的数据类型数据库中的每个列都应该有适当的数据类型,⽤于限制或允许该列中存储的数据。

例如,列中存储的为数字,则相应的数据类型应该为数值类型。

如果使⽤错误的数据类型可能会严重影响应⽤程序的功能和性能,所以在设计表时,应该特别重视数据列所⽤的数据类型。

更改包含数据的列不是⼀件⼩事,这样做可能会导致数据丢失。

因此,在创建表时必须为每个列设置正确的数据类型和长度。

MySQL中定义数据字段的类型对你数据库的优化是⾮常重要的。

MySQL⽀持所有标准SQL数值数据类型。

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 等。

⼆进制类型:包括 BIT、BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。

数值类型MySQL⽀持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLEPRECISION)。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

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

作为SQL标准的扩展,MySQL也⽀持整数类型TINYINT、MEDIUMINT和BIGINT。

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数据库--------------------------------------------1.字段为int类型如果在建表时不指定字段int类型的长度时,系统则默认生成长度为11的字段。

11也是int 类型的最大长度,其中第一位表示符号+或者-,后面十位表示数字。

如果指定了长度,该字段其实也是长度为11的字段,因为只要是int类型,系统都分配了长度11位。

所以,当我们在用mysql数据库建表时如果有字段为int类型则不用指定长度了。

2.字段为float类型如果在建表时不指定float类型的长度时,系统默认生成长度为9的字段(不包含小数点9位,但包括符号)。

而且当插入小数时自动转化为了整数。

当我们指定了长度时,如果为length=6,decimals=2.则代表整数最多为4位(不包括符号位),小数最多为2位。

如-1234.12可以插入。

所以,我们在用mysql数据库建表时如果有字段为float类型一定要指定长度和小数位数。

3.字段为double类型在建表时如果有字段时double类型,例如我们指定length=16,decimals=2.则代表整数最多为16位(不包括符号位),小数最多为2位。

如-1234567890123456.12可以插入。

4.字段为日期类型(我们在指定日期类型时不需要设置长度)date类型代表yy-mm-dd 支持的范围是'1000-01-01'到'9999-12-31'time类型代表hh:mm:ssdatetime类型代表yyyy-mm-dd hh:mm:ss 支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

timestamp类型代表yyyy-mm-dd hh:mm:ss TIMESTAMP值可以从1970的某时开始一直到2037年,精度为一秒,其值作为数字显示。

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是一种广泛使用的关系型数据库管理系统,被众多网站和应用程序所采用。

在MySQL中,数据类型决定了每个字段可以存储哪种类型的数据。

不同的数据类型在存储空间占用和数据的存储方式上有所区别。

本文将探讨MySQL中常见的数据类型以及它们在存储空间方面的差异。

1. 数值类型1.1 整型整数类型是MySQL中最常用的数据类型之一。

MySQL提供了多种整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,它们分别用于存储不同范围的整数。

这些整数类型在存储空间方面的差异如下:- TINYINT:占用1个字节(8位),可存储范围为-128到127或者0到255。

- SMALLINT:占用2个字节(16位),可存储范围为-32768到32767或者0到65535。

- MEDIUMINT:占用3个字节(24位),可存储范围为-8388608到8388607或者0到16777215。

- INT:占用4个字节(32位),可存储范围为-2147483648到2147483647或者0到4294967295。

- BIGINT:占用8个字节(64位),可存储范围为-9223372036854775808到9223372036854775807或者0到18446744073709551615。

根据存储需求和数据范围,选择合适的整数类型有助于提高性能和节约存储空间。

1.2 浮点型浮点类型用于存储小数。

MySQL提供了FLOAT和DOUBLE两种浮点类型。

它们在存储空间方面的差异如下:- FLOAT:占用4个字节(32位),可以存储大约7个有效数字。

- DOUBLE:占用8个字节(64位),可以存储大约15个有效数字。

FLOAT和DOUBLE类型适用于需要存储较大或较精确的浮点数的场景。

然而,由于浮点数的精度问题,对于需要精确计算的场景,应该使用十进制类型。

mysql数据类型

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 ,并进行必要的进位。

mysql的数据类型int、bigint、smallint和tinyint取值范围

mysql的数据类型int、bigint、smallint和tinyint取值范围

mysql的数据类型int、bigint、smallint和tinyint取值范围
使⽤整数数据的精确数字数据类型。

bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。

存储⼤⼩为 8个字节。

int
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。

存储⼤⼩为4个字节。

int 的 SQL-92 同义字为 integer。

smallint
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。

存储⼤⼩为2个字节。

tinyint
从 0 到 255 的整型数据。

存储⼤⼩为1字节。

注释
在⽀持整数值的地⽅⽀持 bigint 数据类型。

但是,bigint ⽤于某些特殊的情况,当整数值超过 int 数据类型⽀持的范围时,就可以采⽤bigint。

在 SQL Server 中,int 数据类型是主要的整数数据类型。

在数据类型优先次序表中,bigint 位于 smallmoney 和 int 之间。

只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。

SQL Server 不会⾃动将其它整数数据类型(tinyint、smallint 和 int)提升为bigint。

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中的数据类型enum和set

mysql中的数据类型enum和set

mysql中的数据类型enum和setmysql中的字符串数据类型set,enum1、enum 单选字符串数据类型,适合存储表单界⾯中的“单选值”。

设定enum的时候,需要给定“固定的⼏个选项”;存储的时候就只存储其中的⼀个值。

设定enum的格式: enum("选项1","选项2","选项3",...); 实际上,enum的选项都会对应⼀个数字,依次是1,2,3,4,5...,最多有65535个选项 使⽤的时候,可以使⽤选项的字符串格式,也可以使⽤对应的数字。

2、set 多选字符串数据类型,适合存储表单界⾯的“多选值”。

设定set的时候,同样需要给定“固定的⼏个选项”;存储的时候,可以存储其中的若⼲个值。

设定set的格式: set("选项1","选项2","选项3",...) 同样的,set的每个选项值也对应⼀个数字,依次是1,2,4,8,16...,最多有64个选项 使⽤的时候,可以使⽤set选项的字符串本⾝(多个选项⽤逗号分隔),也可以使⽤多个选项的数字之和(⽐如:1+2+4=7)代码如下:/* 创建表格 */mysql>create table enum_set_table(-> id int auto_increment primary key,-> gender enum('M','F'),-> hobby set('music','movie','swimming','footbal')-> );Query OK, 0 rows affected (0.01 sec)/* ⼀个enum值,⼀个set值,⼆者均使⽤选项的字符串格式 */mysql>insert into enum_set_table(id,gender,hobby) values(null,'M','music');Query OK, 1 row affected (0.01 sec)/* ⼀个enum值,多个set值,⼆者均使⽤选项的字符串格式 */mysql>insert into enum_set_table(id,gender,hobby) values(null,'F','music,movie,footbal');Query OK, 1 row affected (0.00 sec)/* ⼀个enum值,⼀个set值,⼆者均使⽤选项的数字格式 */mysql>insert into enum_set_table(id,gender,hobby) values(null,1,1);Query OK, 1 row affected (0.00 sec)/* ⼀个enum值,多个set值,⼆者均使⽤选项的数字格式,其中enum的值 2<=>'F',15=1+2+4+8 <=> 'music,movie,swimming,footbal' */mysql>insert into enum_set_table(id,gender,hobby) values(null,2,15);Query OK, 1 row affected (0.00 sec)/* ⼀个enum值,多个set值,enum值使⽤选项的字符串格式,set值使⽤选项的数字格式,7=1+2+4 <=> 'music,movie,swimming' */mysql>insert into enum_set_table(id,gender,hobby) values(null,'F',7);Query OK, 1 row affected (0.01 sec)/* 查询结果 */mysql>select*from enum_set_table;+----+--------+------------------------------+| id | gender | hobby |+----+--------+------------------------------+|1| M | music ||2| F | music,movie,footbal ||3| M | music ||4| F | music,movie,swimming,footbal ||5| F | music,movie,swimming |+----+--------+------------------------------+5 rows in set (0.00 sec)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 无符号*。在括号中规定最大位 数。
INT(size) -2147483648 到2147483647 常规。0到4294967295 无符号*。在括号中规定最大位数。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TIMESTAMP() *时间戳。TIMESTAMP值使用Unix纪元('1970-01-01 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS 。注释:支持的范围是从'1970-01-01 00:00:01' UTC 到'2038-01-09 03:14:07' UTC
数据类型 描述
DATE() 日期。格式:YYYY-MM-DD 。注释:支持的范围是从'1000-01-01' 到'9999-12-31'
DATETIME() *日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS 。注释:支持的范围是从'1000-01-01 00:00:00' 到'9999-12-31 R数据类型用于表示M长度的字符串。
VARCHAR (M):VARCHAR可以保存可变长度的字符串, VARCHAR数据类型所支持的最大长度也是255个字符。
INT (M) [Unsigned]:INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。
TIME() 时间。格式:HH:MM:SS 。注释:支持的范围是从'-838:59:59'到'838:59:59'
YEAR() 2 位或 4 位格式的年。 注释:4 位格式所允许的值:1901 到2155。2 位格式所允许的值:70到69 , 表示从1970到2069。
FLOAT [(M,D)]:FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
DATE:DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。
TEXT / BLOB:TEXT和BLOB数据类型可以用来保存255 到65535个字符,TEXT不区分大小写,而BLOB对字符的大小写敏感。
MEDIUMTEXT 存放最大长度为 16,777,215个字符的字符串。
MEDIUMBLOB 用于BLOBs (Binary Large OBjects) 。存放最多16,777,215 字节的数据。
LONGTEXT 存放最大长度为4,294,967,295个字符的字符串。
Mysql中的数据类型
1.实践经验部分
Oracle--->mysql
NUMBER(12)--->INT(12)
NUMBER(12,2)--->DECIMAL(12,2)或FLOAT(12,2)或DOUBLE(12,2)
VARCHAR2--->VARCHAR
CLOB--->BLOB
DATE--->DATE(或DATETIME)
CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多255个字符。
VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多255个字符。注释:如果值的长度大于255 ,则被转换为TEXT类型。
SET:SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。SET数据类型最大可以包含64个指定数据值。
ENUM:ENUM数据类型和SET基本相同,唯一的区别在于ENUM只允许选择一个有效数据值。
Text 类型:
数据类型 描述
SET 与ENUM类似,SET最多只能包含64个列表项,不过SET可存储一个以上的值。
Байду номын сангаас
Number 类型: (*这些整数类型拥有额外的选项UNSIGNED。通常,整数可以是负数或正数。如果添加UNSIGNED属性,那么范围将从0开始,而不是某个负数。 )
Oracle中:long可以存储2G大小字符,clob可以存储4G大小字符(CLOB:4GB的字符数据 )
Mysql中:BLOB,二进制字符串变量;2 + 实际字符串长度,存储二进制数据 ,例如:图片,附件,二进制文档
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BIGINT(size) -9223372036854775808 到9223372036854775807 常规。0 到18446744073709551615 无符号*。在括号中规定最大位数。
FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在d参数中规定小数点右侧的最大位数。
相关文档
最新文档