深度解析:数据库支持哪些整型数据类型? (数据库有哪些整型)

随着互联网的发展,大数据时代的到来,数据库的使用已经变得越来越普遍。在数据库设计和开发过程中,整型数据类型是基础数据类型之一,常常被使用。那么,数据库支持哪些整型数据类型呢?本文将会进行深度解析。

1. 整型数据类型简介

在计算机领域,整型数据类型是指代表整数的数据类型。整型数据类型分两种:有符号整型和无符号整型。有符号整型表示的范围为[-2^(N-1), 2^(N-1)-1],其中N表示整型数据类型的位数;无符号整型表示的范围为[0, 2^N-1]。对于有符号整型来说,之一位通常被用来表示正负号,0表示正数,1表示负数。

在数据库中,整型数据类型是被广泛使用的数据类型之一。整型数据类型在存储空间方面非常经济,可以存储大量的数据。而且,整型数据类型也非常适合进行计算和比较操作,这些操作通常是数据库操作的主要部分。

2. 常见的整型数据类型

在数据库中,常见的整型数据类型主要有以下几种:

2.1 TINYINT

TINYINT是一种有符号的整型数据类型,占用1个字节,它可以表示的范围为-128到127。这种数据类型通常可以用来表示很小的整数值或者布尔值。在MySQL中,TINYINT的默认宽度是4个字节。

2.2 ALLINT

ALLINT是一种有符号的整型数据类型,占用2个字节,它可以表示的范围为-32768到32767。这种数据类型通常可以用来表示较小的整数值。在MySQL中,ALLINT的默认宽度是6个字节。

2.3 MEDIUMINT

MEDIUMINT是一种有符号的整型数据类型,占用3个字节,它可以表示的范围为-8388608到8388607。这种数据类型通常可以用来表示中等大小的整数值。在MySQL中,MEDIUMINT的默认宽度是9个字节。

2.4 INT

INT是一种有符号的整型数据类型,占用4个字节,它可以表示的范围为-2147483648到2147483647。这种数据类型通常可以用来表示较大的整数值。在MySQL中,INT的默认宽度是11个字节。

2.5 BIGINT

BIGINT是一种有符号的整型数据类型,占用8个字节,它可以表示的范围为-9223372023854775808到9223372023854775807。这种数据类型通常可以用来表示非常大的整数值。在MySQL中,BIGINT的默认宽度是20个字节。

2.6 BOOLEAN/BOOL

BOOLEAN/BOOL是一种特殊的TINYINT类型,只占用1个字节。这种数据类型通常可以用来表示真假值,因为在数据库中,布尔型数据只有两种可能的取值,要么是TRUE,要么是FALSE。

3. 数据库支持的整型数据类型

在不同的数据库管理系统中,支持的整型数据类型可能会有所不同。下面是常见数据库管理系统的支持的整型数据类型以及它们支持的范围:

3.1 MySQL

– TINYINT:-128 到 127

– ALLINT:-32768 到 32767

– MEDIUMINT:-8388608 到 8388607

– INT:-2147483648 到 2147483647

– BIGINT:-9223372023854775808 到 9223372023854775807

– BOOLEAN/BOOL:0 或 1

3.2 Oracle

– NUMBER(p,s):p表示数据总位数,s表示小数部分的位数。整数范围为-10^p+1 到 10^p-1。

– INTEGER:-2147483648 到 2147483647

3.3 SQL Server

– TINYINT:0 到 255

– ALLINT:-32768 到 32767

– INT:-2147483648 到 2147483647

– BIGINT:-9223372023854775808 到 9223372023854775807

– BIT:用来表示真假值,0 和 1。

3.4 PostgreSQL

– ALLINT:-32768 到 32767

– INTEGER:-2147483648 到 2147483647

– BIGINT:-9223372023854775808 到 9223372023854775807

在实际的开发中,通常使用INT、BIGINT这两种类型就可以了,因为这两种类型的存储空间较大,可以存储大量数据。但在某些情况下,也会使用TINYINT、BOOLEAN/BOOL这样的类型。

4.

整型数据类型是数据库中非常常用的一种数据类型,它可以存储大量数据,并且适合进行计算和比较操作。不同的数据库管理系统支持的整型数据类型也不完全相同,需要根据实际情况进行选择。在实际开发中,也需要根据具体需求来选择合适的整型数据类型,以便更好的存储和操作数据。

相关问题拓展阅读:

MySql数据类型有哪些

int:整型

double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即更大值为999.99;

decimal:泛型型,在表单钱方面使腊茄用该类型,因为不会出现精度缺失问题;

char:固定长度字符串类型;

varchar:可变长度字符串类型;

轮册察text:字符串姿敏类型;

blob:字节类型;

date:日期类型,格式为:yyyy-MM-dd;

time:时间类型,格式为:hh:mm:ss

timestamp:时间戳类型;

Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。 

1.整数数据类型及其取值范围:

类型

说明

存储需求(取值范围)

tinyint    很小整数    1字节(、); 255=2^8-1;127=2^

allint    小整数    2字节(0~65535、-32768~32767) ;65535=2^

mediumint    中等    3字节(0~) ;=2^

int(integer)    普通    4字节(0~) ;=2^

bigint    大整数    8字节(0~551615);551615=2^

浮点数&定点数:

类型名称

说明

存储需求

float    单精度浮点数    4字节    

double    双精度浮点数    8字节    

decimal    压缩的“严格”定点数    M+2字节    

注:定点数以字符串形式存储,对精度要求高时使用decimal较好;尽量避免对浮点数进行减法和比较运算。 

2.时间/日期类型: 

year范围:1901~2155; 

time格式:‘HH:MM:SS’(如果省略写,并且没有冒号,则默认最右起2位为秒,再到分,最后到时); 

插入系统当前时间:insert into 表名 values(current_date()),(now()); 

date类型:运渗含‘YYYY-MM-DD’; 

datetime(日期+时间):‘YYYY-MM-DD HH:MM:SS’或‘YYYYMMDDHHMMSS’,取值范围:‘:00:00’~‘:59:59’; 

timestamp格式同datetime,但在存储时需要4个字节(datetime需要8字节),并且以UTC(世界标准时间)进行存储(即timestamp会随设置的时区而变化,而datetime存储的绝不会变化);timestamp的范围:。 

 

3.字符串类型: 

text类型:tinytext、text、mediumtext、longtext;

类型

范围

tinytext=2^

text=2^

mediumtext=2^

longtext=4GB=2^

 

char的存储需求是定义时指定的固定长度;varchar的存储需求是取决于实际值长度。 

set类型格式:set(’值1’,’值2’…) ——可以有0或者多个值,对于set而言,若插入的值为重复的,则只娶一个。插入的值乱序,则自动按顺序插入排列。插入不正常值,则忽略。 

二进制类型: 

bit(M)——保存位字段值(位字段类型),M表示值的位数; 

eg:select BIN(b+0) from 表名;—–b为列名;b+0表示将二进制的结果转换为对应的数字的值,BIN()函数将数字转换旁笑为二进制。 

 

blog——-二进制大对象,用来存储可变数量的喊禅数据。

数据类型

存储范围(字节)

tinyblog    最多255=2^8-1 字节    

bolg    最多65535=2^16-1 字节    

mediumblog    最多=2^24-1 字节    

longblog    最多=4GB=2^32-1 字节    

一.数值类型

Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,ALLINT,DECIMAL,NUMBERIC),以及近似数值数据类型(FLOAT,REAL,DOUBLE PRESISION),并在此基础上进行扩展。

扩展后增加了TINYINT,MEDIUMINT,BIGINT这3种长度不同的整形,并增加了BIT类型,用来存放位数据。

整数类型字节范围(有符号) 范围(无符号)用途

TINYINT字节(-128,127)(0,255)小整数值

ALLINT字节 (,32 767)(0,65 535)大整数值

MEDIUMINT字节 (,) (0,) 大整数值

INT或INTEGER 4字节 (,) (0,) 大整数值

BIGINT字节 (,) (0,) 极大整数值

FLOAT字节 (-3.E+38,1.E-38),0,(1.E-38,3.1 E+38) 0,(1.E-38,3.E+38) 单精度浮点数值

DOUBLE字节 (1.E+308,2.E-308),0,(2.E-308,1.E+308) 0,(2.E-308,1.E+308) 双精度浮点数值

DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值

INT 类型:

在 MySQL 中支持的 5 个主要整数类型是 TINYINT,ALLINT,MEDIUMINT,INT 和 BIGINT。这些类型在很大程度上是相同的,只有它们存储的值的大小是不相同的。

MySQL 以一个可选的显示宽度指示器的形式对 SQL 标准进行扩展,这样当从数据库检索一个值时,可以把这个值加长到指定的长度。例如,指定一个字段的类型为 INT(6),

就可以保证所包含数字态带少于 6 个的值从数据库中检索出来时能够自动地用空格填充。需要注意的是,使用一个宽度指示器不会影响字段的大小和它可以存储的帆圆芦值的范围。

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

MySQL 会在不合规定的值插入表前自动修改为 0。

UNSIGNED 修饰符规定字段只保存正值。因为不需要保存数字的正、负符号,可以在储时腔兆节约一个“位”的空间。从而增大这个字段可以存储的值的范围。

ZEROFILL 修饰符规定 0(不是空格)可以用来真补输出的值。使用这个修饰符可以阻止 MySQL 数据库存储负值。

FLOAT、DOUBLE 和 DECIMAL 类型

MySQL 支持的三个浮点类型是 FLOAT、DOUBLE 和 DECIMAL 类型。FLOAT 数值类型用于表示单精度浮点数值,而 DOUBLE 数值类型用于表示双精度浮点数值。

与整数一样,这些类型也带有附加参数:一个显示宽度指示器和一个小数点指示器。比如语句 FLOAT(7,3) 规定显示的值不会超过 7 位数字,小数点后面带有 3 位数字。

对于小数点后面的位数超过允许范围的值,MySQL 会自动将它四舍五入为最接近它的值,再插入它。

DECIMAL 数据类型用于精度要求非常高的计算中,这种类型允许指定数值的精度和计数方法作为选择参数。精度在这里指为这个值保存的有效数字的总个数,

而计数方法表示小数点后数字的位数。比如语句 DECIMAL(7,3) 规定了存储的值不会超过 7 位数字,并且小数点后不超过 3 位。

忽略 DECIMAL 数据类型的精度和计数方法修饰符将会使 MySQL 数据库把所有标识为这个数据类型的字段精度设置为 10,计算方法设置为 0。

UNSIGNED 和 ZEROFILL 修饰符也可以被 FLOAT、DOUBLE 和 DECIMAL 数据类型使用。并且效果与 INT 数据类型相同。

二.字符串类型

MySQL 提供了8个基本的字符串类型,分别:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM 各SET等多种字符串类型。

可以存储的范围从简单的一个字符到巨大的文本块或二进制字符串数据。

字符串类型 字节大小描述及存储需求

CHAR字节定长字符串

VARCHAR字节变长字符串

TINYBLOB字节不超过 255 个字符的二进制字符串

TINYTEXT字节短文本字符串

BLOB35字节 二进制形式的长文本数据

TEXT35字节 长文本数据

MEDIUMBLOB5字节 二进制形式的中等长度文本数据

MEDIUMTEXT5字节 中等长度文本数据

LOGNGBLOB7 295字节 二进制形式的极大文本数据

LONGTEXT67 295字节 极大文本数据

VARBINARY(M) 允许长度0-M个字节的定长字节符串,值的长度+1个字节

BINARY(M) M 允许长度0-M个字节的定长字节符串

CHAR 和 VARCHAR 类型

CHAR 类型用于定长字符串,并且必须在圆括号内用一个大小修饰符来定义。这个大小修饰符的范围从 0-255。比指定长度大的值将被截短,而比指定长度小的值将会用空格作填补。

CHAR 类型可以使用 BINARY 修饰符。当用于比较运算时,这个修饰符使 CHAR 以二进制方式参于运算,而不是以传统的区分大小写的方式。

CHAR 类型的一个变体是 VARCHAR 类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在之间的指示器。CHAR 和 VARCHGAR 不同之处在于 MYSQL 数据库处理

这个指示器的方式:CHAR 把这个大小视为值的大小,不长度不足的情况下就用空格补足。而 VARCHAR 类型把它视为更大值并且只使用存储字符串实际需要的长度

(增加一个额外字节来存储字符串本身的长度)来存储值。所以短于指示器长度的 VARCHAR 类型不会被空格填补,但长于指示器的值仍然会被截短。

因为 VARCHAR 类型可以根据实际内容动态改变存储值的长度,所以在不能确定字段需要多少字符时使用 VARCHAR 类型可以大大地节约磁盘空间、提高存储效率。

VARCHAR 类型在使用 BINARY 修饰符时与 CHAR 类型完全相同。

TEXT 和 BLOB 类型

对于字段长度要求超过 255 个的情况下,MySQL 提供了 TEXT 和 BLOB 两种类型。根据存储数据的大小,它们都有不同的子类型。这些大型的数据用于存储文本块或图像、

声音文件等二进制数据类型。

TEXT 和 BLOB 类型在分类和比较上存在区别。BLOB 类型区分大小写,而 TEXT 不区分大小写。大小修饰符不用于各种 BLOB 和 TEXT 子类型。

比指定类型支持的更大范围大的值将被自动截短。

三.日期和时间类型

在处理日期和时间类型的值时,MySQL 带有 5 个不同的数据类型可供选择。它们可以被分成简单的日期、时间类型,和混合日期、时间类型。

根据要求的精度,子类型在每个分类型中都可以使用,并且 MySQL 带有内置功能可以把多样化的输入格式变为一个标准格式。

类型 大小(字节) 范围 格式用途

DATE/YYYY-MM-DD 日期值

TIME ‘-838:59:59’/’838:59:59’ HH:MM:SS 时间值或持续时间

YEAR/ YYYY年份值

DATETIME:00:00/:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值

TIMESTAMP:00:00/2023 年某时 YYYYMMDD HHMMSS 混合日期和时间值,时间戳

DATE、TIME 和 TEAR 类型

MySQL 用 DATE 和 TEAR 类型存储简单的日期值,使用 TIME 类型存储时间值。这些类型可以描述为字符串或不带分隔符的整数序列。如果描述为字符串,

DATE 类型的值应该使用连字号作为分隔符分开,而 TIME 类型的值应该使用冒号作为分隔符分开。

需要注意的是,没有冒号分隔符的 TIME 类型值,将会被 MySQL 理解为持续的时间,而不是时间戳。

MySQL 还对日期的年份中的两个数字的值,或是 SQL 语句中为 TEAR 类型输入的两个数字进行更大限度的通译。因为所有 TEAR 类型的值必须用 4 个数字存储。

MySQL 试图将 2 个数字的年份转换为 4 个数字的值。把在范围内的值转换到范围内。把范围内的值转换到之内。

如果 MySQL 自动转换后的值并不符合我们的需要,请输入 4 个数字表示的年份。

DATEYIME 和 TIMESTAMP 类型

除了日期和时间数据类型,MySQL 还支持 DATEYIME 和 TIMESTAMP 这两种混合类型。它们可以把日期和时间作为单个的值进行存储。

这两种类型通常用于自动存储包含当前日期和时间的时间戳,并可在需要执行大量数据库事务和需要建立一个调试和审查用途的审计跟踪的应用程序中发挥良好作用。

如果我们对 TIMESTAMP 类型的字段没有明确赋值,或是被赋与了 null 值。MySQL 会自动使用系统当前的日期和时间来填充它。

复合类型

MySQL 还支持两种复合数据类型 ENUM 和 SET,它们扩展了 SQL 规范。虽然这些类型在技术上是字符串类型,但是可以被视为不同的数据类型。

一个 ENUM 类型只允许从一个中取得一个值;而 SET 类型允许从一个中取得任意多个值。

ENUM 类型

ENUM 类型因为只允许在中取得一个值,有点类似于单选项。在处理相互排拆的数据时容易让人理解,比如人类的性别。ENUM 类型字段可以从中取得一个值或使用 null 值,

除此之外的输入将会使 MySQL 在这个字段中插入一个空字符串。另外如果插入值的大小写与中值的大小写不匹配,MySQL 会自动使用插入值的大小写转换成与中大小写一致的值。

ENUM 类型在系统内部可以存储为数字,并且从 1 开始用数字做索引。一个 ENUM 类型最多可以包含个元素,其中一个元素被 MySQL 保留,用来存储错误信息,

这个错误值用索引 0 或者一个空字符串表示。

MySQL 认为 ENUM 类型中出现的值是合法输入,除此之外其它任何输入都将失败。这说明通过搜索包含空字符串或对应数字索引为 0 的行就可以很容易地找到错误记录的位置。

SET 类型

SET 类型与 ENUM 类型相似但不相同。SET 类型可以从预定义的中取得任意数量的值。并且与 ENUM 类型相同的是任何试图在 SET 类型字段中插入非预定义的值都会使

MySQL 插入一个空字符串。如果插入一个即有合法的元素又有非法的元素的记录,MySQL 将会保留合法的元素,除去非法的元素。

一个 SET 类型最多可以包含 64 项元素。在 SET 元素中值被存储为一个分离的“位”序列,这些“位”表示与它相对应的元素。“位”是创建有序元素的一种简单而有效的方式。

并且它还去除了重复的元素,所以 SET 类型中不可能包含两个相同的元素。

希望从 SET 类型字段中找出非法的记录只需查找包含空字符串或二进制值为 0 的行。

通过对每种数据类型的用途,物理存储,表示范围等有一个概要的了解。这样在面对具体应用时,就可以根据相应的特来来选择合适的数据类型,使得我们能够争取在满足应用的基础上,

用较小的存储代价换来较高的数据库性能。

1. MySQL数据类型

在MySQL中有如下几种数据类型:

(1)数值型

数值是诸如32 或153.4 这样的值。MySQL 支持科学表示法,科学表示法由整数或浮点数后跟“e”或“E”、一个符号(“+”或“-”)和一个整数指数来表示。1.24E+12 和23.47e-1 都是合法的科学表示法表示的数。而1.24E12 不是合法的,因为指数前的符号未给出。

浮点数由整数部分、一个小数点和小数部分组成。整数部分和小数部分可以分别为空,但不能同时为空。

数值前可放一个负号“-”以表示负值。

(2)字符(串)型

字符型(也叫字符串型,简称串)是诸如“Hello, world!”或“一个馒头引起的血案”这样的值,或者是号码这样的值。既可孝橡用单引号也可用双引号将串值括起来。

初学者往往分不清数值和字符串的区别。都是数字啊,怎么一 个要用数值型,一个要用字符型呢?关键就在于:数值型的是要参与计算的,比如它是金融中的一个货款总额;而字符型的是不 参与计算的,只是表示号码,这样的还有街道号码、门牌号码等等,它们都不参与计算。

(3)日期和时间型

日期和时间是一些诸如“”或“12:30:43”这样的值。MySQL还支持日期/时间的组合,如“:30:43”。

(4)NULL值

NULL表示未知值。比如填写表格中通讯地址不清楚留空不填写,这就是NULL值。

我们用Create Table语句创建一个表(参看前面的章节),这个表中包含列的定义。例如我们在前面创建了一个joke表,这个表中有content和writer两个列:

定义一个列的语法如下:

其中列名由col_name 给出。列名可最多包含64个字符,字符包括字母、数字、下划线及美元符号。列名可以名字中合法的任何符号(包括数字)开头。但列名不能完全由数字组成,因 为那样可能使其与MySQL数据类型分不开。MySQL保留诸如SELECT、DELETE和CREATE这样的词,这些词不能用做列名,但是函数名(如POS 和MIN)是可以使用的。

列类型col_type表示列可存储的特定值。列类型说明符还能表示存放在列中的值的更大长 度。对于某些类型,可用一个数值明确地说明其长度。而另外一些值,其长度由类型名蕴含。例如,CHAR(10) 明确指定了10个字符的长度,而TINYBLOB值隐含更大长度为255个字符。

有的类型说明符允许指定更大的显示宽度(即显示值时使用多少个字符)。浮 点类型允许指定小数位数,所以能控制浮点数的精度值为多少。

可以在列类型之后指定可选的类型说明属性,以及指定更多的常见属性。属性起修饰类型的作用,并更改其处理列值的方式,属性有以下类型:

(1)专用属性用于指定列。例如,UNSIGNED 属性只针对整型,而BINARY属行燃性只用于CHAR 和VARCHAR。

(2)通用属性除少数列之外可用于任意列。可以指定NULL 或NOT NULL 以表示某个列是否能够存放NULL。还可以用DEFAULT,def_value 来表示在创建一个新行但未明确给出该列的值时,该列可赋予值def_value。def_value 必须为一个常量;它不能是表达式,也不能引用其他列。不能对BLOB 或TEXT 列指定缺省值。

如果想给出多个列的专用属性,可按任意顺序指定它们,只要它们跟在列类型之后、通用属性之前即可。类似地,如果需要给出多个通用属性,也可按任意顺序给出它们,只要将它们放在列类型和可能给出的列专用属性之后即可。

2. MySQL的列(字段)类型

数据库中的每个表都是由一个或多个列(字段)构成的。在用CREATE TABLE语句创建一个表时,要为每列(字段)指定一个类型。列(字段)的类型比MySQL数据类型更为细化,它精确地描述了给定表列(字段)可能包含的值的种类,如巧带旁是否带小数、是否文字很多。

Mysql支持的多种数据类型主要有:数值数据类型、日期/时间类型、字符串类型。

1.整返耐虚数数据类型及其取值范围:

类型

说明

存储需求(取值范围)

tinyint    很小整数    1字节(、); 255=2^8-1;127=2^

allint    小整数    2字节(0~65535、-32768~32767)    ;65535=2^

mediumint    中等    3字节(0~);=2^

int(integer)    普通    4字节(0~)  漏燃;=2^

bigint    大整数    8字节(0~551615);551615=2^

浮点数&定点数:

类型名称亩竖

说明

存储需求

float    单精度浮点数    4字节    

double    双精度浮点数    8字节    

长整型对应数据库什么类型

常用的字段类型大致可以分为数值类型、字符串类型、日期时间类型三大类,下面我们按照分类依次来介绍下。

1.数值类型

数值类型大类又可以分为整型、浮点型、定点型三小类。

整型主要用于存储整数值,主要有以下几个字段类型:

整型经常被用到,比如 tinyint、int、bigint 。默认是有符号的,若只需存储无符号值,可增加 unsigned 属性。

int(M)中的 M 代表更大显示宽度,并不是说 int(1) 就不能存储数值10了,不管设定了显示宽度是多少个字符,int 都是占用4个字节,即int(5)和int(10)可存储的范围一样。

存储字节越小,占用空间越小。所以本着最小化存储的原则,我们要尽量选择合适的整型帆正郑,例如:存储一些状态值或人的年龄可以用 tinyint ;主键列,无负数,建议使用 int unsigned 或者 bigint unsigned,预估字段数字取值会超过 42 亿,使用 bigint 类型。

浮点型主要有 float,double 两个,浮点型在数据库中存放的是近似值,例如float(6,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位,整数部分更大是3位。float 和 double 平时用的不太多。

类型

大小

用途

FLOAT4 字节单精度浮点数值

DOUBLE8 字节双精度浮点数值

定点型字段类型有 DECIMAL 一个,主要用于存储有精度要求的小数。

类型

大小

用途

DECIMAL

对DECIMAL(M,D) ,如果M>D,为M+2字节 否则为D+2

精确小数值

DECIMAL 从 MySQL 5.1 引入,列的声明语法是 DECIMAL(M,D) 。NUMERIC 与 DECIMAL 同义,如果字段类型定义为 NUMERIC ,则将自动转成 DECIMAL 。

对于声明语法 DECIMAL(M,D) ,自变量的值范围如下:

M是更大位数(精度),范围是1到65。可不指定,默认值是10。

D是小数点右边的位数(小数位)。范围是0到30,并且不能大于M,可不指定,默认值是0。

例如字段 salary DECIMAL(5,2),能够存储具有五位数字和两位小数的任何值,因此可以存储在salary列中的值的范围是从-999.99到999.99。

2.字符串类型

字符串类型也经常用到,常用的几个类型如下表:

其中 char 和 varchar 是最常用到的。char 类型是定长的,MySQL 总是根据定义的字符串长度分配足够的空间。当保存 char 值时,在它们的右边填充空格以达到指定的长度,当检索到 char 值时,尾部的空格被删除掉。varchar 类态颂型用于存储可变长字符串,存储时,如果字符没有达到定义的位数,也不会在后面补空格。

char(M) 与 varchar(M) 中的的 M 表示保存的更大字符数,单个字母、数字、中文等都是占用一个字符。char 适合存储很短的字符串,或者所有值都接近同一个长度。例如,char 非常适合存储密码的 MD5 值,因为这是一个定长的值。对于字符串很长或者所要存储的字符串长短不一的情况,varchar 更加合适。

我们在定义字段更大长度时应该按需分配,提前做好预估,能使用 varchar 类型就尽量不使用 text 类型。除非有存储长文本数据需求时,再考虑使用 text 类型。

BLOB 类型主要用于存储二进制大对象,例如可以存储图片,音视频等文件。日常很少用到,有存储二进制字符串时可以考虑使用。

3.日期时间类型

MySQL支持清运的日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下:

涉及到日期和时间字段类型选择时,根据存储需求选择合适的类型即可。

关于 DATETIME 与 TIMESTAMP 两种类型如何选用,可以按照存储需求来,比如要求存储范围更广,则推荐使用 DATETIME ,如果只是存储当前时间戳,则可以使用 TIMESTAMP 类型。不过值得注意的是,TIMESTAMP 字段数据会随着系统时区而改变但 DATETIME 字段数据不会。总体来说 DATETIME 使用范围更广。

请问数据库有哪些种类呢?

根据存储模型划分,数据库类型主要可分为:网状数据库(Network Database)、关系数据库(Relational Database)、树状数据库(Hierarchical Database)、面向对象数据库(Object-oriented Database)等。商业应用中主要是关系数据库,比如Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等。全部罗列出来是没有意义的,数据库太多了,你不说你的工作是涉及哪方面,衫亮恐怕很难提供更适合你的数据库。

初级应用一般是ACCESS 配合的脚本程序一或码般是 ASP ASP.NET PMICROSOFT SQL 比较复杂点 不过功能强大很多 配衫塌哪合的脚本和ACCESS的一样MYSQL和PHP的组合是比较完美的如果你需要处理1000W条数据以上级别的数据,那以上的都不合适,一般用的比较多的是ORACLE 这个入门难度非常大如果想学的话就先学MICROSOFT SQL吧,这个网上教学比较多,ASP.NET 2.0,应用的是非常广泛的。

数据库通常分为:

层次式数据库、网络式数据库和关系式数据库三种。

而不同的数据库是按不同的数据结构来联系和组织的。

数据库有类型之分,是根据数据模型划分的。目前成熟地应用在数据库系统中的数据模型有:层次模型、网壮模型和关系模型。

一、层次模型:

层次模型是用树结构表示记录类型及其联系的。

树结构的渣搜昌基本特点是:

、有且仅有一个结点无父结点;

、其它结点有且有一个父结点。

在层次模型中,树的结点是漏盯记录型。上一层记录型和下一层记录型的联系是1:n的。

层次模型就象下面我们给出的一棵倒立的树。

注意:在层次式数据库中查找记录,必须指定存取路径。这种关系模型不支持m:n联系。

二、网状模型:

网状模型中结点间的联系不受层次限制,可以任意发生联系,所以她的结构是结点的连通图。

网状模型结构的特点是:

、有一个以上结点无父结点;

、至少有一个结点有多于一个父结点。

注意:虽然网状模型能反映各种复杂的关系,但网状模型在具体实现上,只支持1:n联系,对

于m:n联系可将其转化为1:n联系。

三、关系模型:

关系模型的本质就是用若干个二维表来表示实体及其联系。

关系是通过关系名和属性名定义的。一个关系可形式化表示为:

R(A1,A2,A3,…,Ai,…)

其中:R为关系名,Ai为关系的属性名。

目前常用的如扒数据库管理系统有:

ACCESS、SQL Server、 Oracle、MySQL、FoxPro和Sybase等。

ACCESS 是美国Microsoft公司于1994年推出的微机数据库管理系统.它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。

Oracle公司是全球更大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore。Oracle提供的完整的电子商务产品和服务包括: 用于建立和交付基于Web的Internet平台; 综合、全面的具有Internet能力的商业应用; 强大的专业服务,帮助用户实施电子商务战略,以及设计、定制和实施各种电子商务解决方案…

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的是关系型数据库管理系统。

内容来源网络,仅供参考!

有很多,常见的有seqserver mysql oracle 还有很多不常用的db2

数据库有哪些整型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于数据库有哪些整型,深度解析:数据库支持哪些整型数据类型?,MySql数据类型有哪些,长整型对应数据库什么类型,请问数据库有哪些种类呢?的信息别忘了在本站进行查找喔。


数据运维技术 » 深度解析:数据库支持哪些整型数据类型? (数据库有哪些整型)