数据库数据类型汇总
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) 括号中的数字表⽰的是该数据类型指定的显⽰宽度,指定能够显⽰的数值中数字的个数。
数据库的十种数据类型

数据库的十种数据类型
1. 整型(int):用于存储整数,包括正整数、负整数和零。
2. 浮点型(float):用于存储小数,包括单精度和双精度浮点数。
3. 字符型(char):用于存储字符,包括单个字符和字符串。
4. 布尔型(bool):用于存储逻辑值,包括真(True)和假(False)。
5. 日期型(date):用于存储日期,包括年、月、日。
6. 时间型(time):用于存储时间,包括小时、分钟、秒。
7. 时间戳型(timestamp):用于存储日期和时间的组合,可以记录到秒级别以上的时间精度。
8. 十进制型(decimal):用于存储高精度数字,包括货币类型等。
9. 二进制型(blob):用于存储二进制数据,例如图像、音频等。
10. 枚举型(enum):用于存储一组预定义的值,可以在创建表时定义枚举的值。
各数据库的数据类型的区别

Oracle、MySQL、SQL Server数据库的数据类型的差异1.Oracle数据库的各种数据类型CHAR 定长的字符型数据,长度<=2000字节VARCHAR2 变长的字符型数据,长度<=4000字节N CHAR 用来存储Unicode字符集的定长字符型数据,长度<=1000字节注意:N字打头的是存储Unicode字符集NVARCHAR2 Unicode字符集的变长字符型数据,长度<=1000字节NUMBER 整型或者浮点型数值DATE 日期数据LONG 2GB的变长字符数据RAW 用来存储非结构化数据的变长字符数据,长度<=2000字节LONG RAW 用来存储非结构化数据的变长字符数据,长度<=2GBROWID 用来存储表中列的物理地址的二进制数据,占用固定的10个字节BLOB 4GB的非结构化的二进制数据CLOB 4GB的字符数据NCLOB 4GB的Unicode字符数据BFILE 把非结构化的二进制数据存储在数据库以外的操作系统文件中UROWID 表示任何类型列地址的二进制数据FLOAT 浮点数2.MySQL数据库的各种数据类型CHAR (M) CHAR数据类型用于表示M长度的字符串。
VARCHAR (M) VARCHAR可以保存可变长度的字符串, VARCHAR数据类型所支持的最大长度也是255个字符。
INT (M) [Unsigned] INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。
如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。
FLOAT [(M,D)] FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。
其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
DATE DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。
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的数据类型分为数值类型、日期和时间类型、字符串类型、二进制类型。
以下是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'。
数据库常用数据类型

(1) 整数型整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。
l bigint:大整数,数范围为-263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度为19,小数位数为0,长度为8字节。
l int:整数,数范围为-231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度为10,小数位数为0,长度为4字节。
l smallint:短整数,数范围为-215 (-32768) ~215 - 1 (32767) ,其精度为5,小数位数为0,长度为2字节。
l tinyint:微短整数,数范围为0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。
(2) 精确整数型精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。
精确整数型包括decimal 和numeric两类。
从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。
声明精确整数型数据的格式是numeric | decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。
例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。
decimal和numeric可存储从-1038 +1 到1038 –1 的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。
l 精度为1~9时,存储字节长度为5;l 精度为10~19时,存储字节长度为9;l 精度为20~28时,存储字节长度为13;l 精度为29~38时,存储字节长度为17。
例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。
常见数据库种类及介绍

常见数据库种类及介绍常见的数据库种类包括关系型数据库、面向对象数据库、NoSQL数据库、分布式数据库等。
下面将对每种数据库进行详细介绍。
1.关系型数据库关系型数据库采用表和表之间的关系来存储数据。
它具有数据结构清晰、查询灵活、数据一致性保证等特点。
最常见的关系型数据库有MySQL、Oracle、SQL Server等。
关系型数据库适用于有明确结构和相对稳定的数据,适用于需要事务处理、复杂查询和数据关系维护的场景。
2.面向对象数据库面向对象数据库是一种以对象为中心的数据库管理系统,它将对象直接存储在数据库中,能够以对象为单位进行存储、检索和管理。
面向对象数据库适用于对象导向的编程环境,并且能够方便地存储和查询对象的相关信息。
3.NoSQL数据库NoSQL数据库(Not Only SQL)是一种给予非关系型数据库的统称。
NoSQL数据库通常采用非关系型的存储模型,如键值对、文档、列族和图等,以满足大规模数据的存储和处理需求。
常见的NoSQL数据库包括MongoDB、Cassandra、Redis等。
NoSQL数据库适用于对数据的读写频率很高、数据规模很大和扩展性要求较高的场景。
4.分布式数据库分布式数据库是将数据分布在多个计算机节点上,并且在节点之间进行数据的共享和协调管理。
分布式数据库能够提供更高的数据可用性、扩展性和容错性。
常见的分布式数据库有HBase、Bigtable、Cassandra等。
分布式数据库适用于需要处理海量数据和高并发访问的场景。
5.内存数据库内存数据库是将数据存储在计算机内存中,以提供更快的数据访问速度。
内存数据库适用于对读写性能要求较高的应用场景,如高速缓存、实时分析等。
常见的内存数据库有Redis、Memcached等。
6.图数据库图数据库是一种以图数据结构存储和查询数据的数据库系统。
图数据库适用于存储有复杂关系的数据,如社交网络关系、地理信息等。
常见的图数据库包括Neo4j、FlockDB等。
数据库技术及应用:常见数据类型

3.1.2 常见数据类型——数据定长字符型变长字符型文本型char(n1) varchar(n3) text nchar(n2) nvarchar(n4) ntextn1<=8000 n2<=4000 n1<=8000n2<=4000<231-1字符串长度固定字符串长度不固定字符串长度不固定实际值少于定义长度时用空格填充实际值少于定义长度时不用空格填充存储实际字符,但空间至少为2K适用于长度固定的数据适用于长度不固定的数据适用于长文本数据学号、邮政编码、身份证号、电话号码学院名称、姓名、籍贯、课程名称、地址简历、备注、爱好类型占用存储空间表示范围tinyint 1字节0~255 smallint 2字节-32768~32767int/integer 4字节-2147483648~ 2147483647bigint 8字节-9223372036854775808~ 9223372036854775807numeric(p,s) P表示精度S表示小数位数,<=整数位数decimal(p,s) P表示精度S表示小数位数,<=整数位数numeric(10,3) 表示最多存放10位数,且小数占三位decimal(10,3) 表示最多存放10位数,且小数占三位说明:精确数值型所占用的存储空间随精度的增加而增加。
类型占用存储空间表示范围float(n)4字节-3.4E+38~3.4E+381<=n<=24float(n)8字节-1.79E+308~1.79E+308 25<=n<=53real 4字节-3.4E+38~3.4E+38说明:当数据的整数位与小数位很多时,可采用浮点型。
类型占用存储空间表示范围smallmoney 4字节-214748.3648~214748.3647money 8字节-922337203685477.5808~ 922337203685477.5807例如:¥12,347.65类型占用存储空间表示范围smalldatetime 4字节1/1/1950~6/6/2049 datetime 8字节1/1/1753~12/31/9999。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上面定义的都是有符号的,当然了,也可以加上unsigned关键字,定义成无符号的类型,那么对应的取值范围就要翻翻了,比如:
tinyint unsigned的取值范围为0~255。
我在MySQL中建立了一个表,有一列为float(5, 3);做了以下试验:
1.插入123.45678,最后查询得到的结果为99.999;
2.插入12
3.456,最后查询结果为99.999;
3.插入12.34567,最后查询结果为12.346;
所以,在使用浮点型的时候,还是要注意陷阱的,要以插入数据库中的实际结果为准。
1.char(n)和varchar(n)中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。
2.同时char和varchar最大的区别就在于char不管实际value都会占用n个字符的空间,而varchar只会占用实际字符应该占用的空间+1,并且实际空间+1<=n。
3.超过char和varchar的n设置后,字符串会被截断。
4.char的上限为255字节,varchar的上限65535字节,text的上限为65535。
5.char在存储的时候会截断尾部的空格,varchar和text不会。
6.varchar会使用1-3个字节来存储长度,text不会。