首页数据库mysql数据库类型?mysql数据库中有几种数据类型

mysql数据库类型?mysql数据库中有几种数据类型

编程之家2023-10-2196次浏览

大家好,mysql数据库类型相信很多的网友都不是很明白,包括mysql数据库中有几种数据类型也是一样,不过没有关系,接下来就来为大家分享关于mysql数据库类型和mysql数据库中有几种数据类型的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

mysql数据库类型?mysql数据库中有几种数据类型

mySQL是什么类型的数据库

mysql(发音为"my

ess

cue

el",不是"my

sequel")是一种开放源代码的关系型数据库管理系统(rdbms),mysql数据库系统使用最常用的数据库管理语言--结构化查询语言(sql)进行数据库管理。

由于mysql是开放源代码的,因此任何人都可以在general

mysql数据库类型?mysql数据库中有几种数据类型

public

license的许可下下载并根据个性化的需要对其进行修改。mysql因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,mysql是管理内容最好的选择。

mysql关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向c、c++、eiffel、java、perl、php、python以及tcl等编程语言的编程接口(apis),支持多种字段类型并且提供了完整的操作符支持查询中的select和where操作。

mysql开发组计划于2001年中期公布mysql4.0版本。在这个版本中将有以下新的特性被提供:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,mysql开发着希望提供安全的数据复制机制、在beos操作系统上的mysql实现以及对延时关键字的定期刷新选项。随着时间的推进,mysql将对ansi

92/ansi

99标准完全兼容。

mysql数据库类型?mysql数据库中有几种数据类型

时至今日

mysql

php

的结合绝对是完美.很多大型的网站也用到mysql数据库.mysql的发展前景是非常光明的!

数据库有哪些类型

数据库有两种类型,分别是关系型数据库与非关系型数据库。

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

关系型数据库主要有:

Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等等。

非关系型数据库主要有:

NoSql、Cloudant、MongoDb、redis、HBase等等。

扩展资料:

非关系型数据库的优势:

1、性能高:NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。

2、可扩展性好:同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。

关系型数据库的优势:

1、可以复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。

2、事务支持良好:使得对于安全性能很高的数据访问要求得以实现。

参考资料来源:百度百科-数据库

mysql有哪些数据类型

一.数值类型

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

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

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

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

SMALLINT 2字节(-32 768,32 767)(0,65 535)大整数值

MEDIUMINT 3字节(-8 388 608,8 388 607)(0,16 777 215)大整数值

INT或INTEGER 4字节(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值

BIGINT 8字节(-9 233 372 036 854 775 808,9 223 372 036 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.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度浮点数值

DOUBLE 8字节(1.797 693 134 862 315 7 E+308,2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 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的值小数值

INT类型:

在 MySQL中支持的 5个主要整数类型是 TINYINT,SMALLINT,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 0-255字节定长字符串

VARCHAR 0-255字节变长字符串

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

TINYTEXT 0-255字节短文本字符串

BLOB 0-65535字节二进制形式的长文本数据

TEXT 0-65535字节长文本数据

MEDIUMBLOB 0-16 777 215字节二进制形式的中等长度文本数据

MEDIUMTEXT 0-16 777 215字节中等长度文本数据

LOGNGBLOB 0-4 294 967 295字节二进制形式的极大文本数据

LONGTEXT 0-4 294 967 295字节极大文本数据

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

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

CHAR和 VARCHAR类型

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

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

CHAR类型的一个变体是 VARCHAR类型。它是一种可变长度的字符串类型,并且也必须带有一个范围在 0-255之间的指示器。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 4 1000-01-01/9999-12-31 YYYY-MM-DD日期值

TIME 3'-838:59:59'/'838:59:59' HH:MM:SS时间值或持续时间

YEAR 1 1901/2155 YYYY年份值

DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS混合日期和时间值

TIMESTAMP 4 1970-01-01 00:00:00/2037年某时 YYYYMMDD HHMMSS混合日期和时间值,时间戳

DATE、TIME和 TEAR类型

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

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

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

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

MySQL试图将 2个数字的年份转换为 4个数字的值。把在 00-69范围内的值转换到 2000-2069范围内。把 70-99范围内的值转换到 1970-1979之内。

如果 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类型最多可以包含 65536个元素,其中一个元素被 MySQL保留,用来存储错误信息,

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

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

SET类型

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

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

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

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

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

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

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

mysql数据库中有几种数据类型

MySQL数据类型之一字符型

VARCHAR VS CHAR

VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要。他们都是用来储存字符串长度小于255的字符。

假如你向一个长度为四十个字符的VARCHAR型字段中输入数据Bill Gates。当你以后从这个字段中取出此数据时,你取出的数据其长度为十个字符——字符串Bill Gates的长度。现在假如你把字符串输入一个长度为四十个字符的CHAR型字段中,那么当你取出数据时,所取出的数据长度将是四十个字符。字符串的后面会被附加多余的空格。

当你建立自己的站点时,你会发现使用VARCHAR型字段要比CHAR型字段方便的多。使用VARCHAR型字段时,你不需要为剪掉你数据中多余的空格而操心。

VARCHAR型字段的另一个突出的好处是它可以比CHAR型字段占用更少的内存和硬盘空间。当你的数据库很大时,这种内存和磁盘空间的节省会变得非常重要

MySQL数据类型之二文本型

TEXT

使用文本型数据,你可以存放超过二十亿个字符的字符串。当你需要存储大串的字符时,应该使用文本型数据。

注意文本型数据没有长度,而上一节中所讲的字符型数据是有长度的。一个文本型字段中的数据通常要么为空,要么很大。

当你从HTML form的多行文本编辑框(TEXTAREA)中收集数据时,你应该把收集的信息存储于文本型字段中。但是,无论何时,只要你能避免使用文本型字段,你就应该不适用它。文本型字段既大且慢,滥用文本型字段会使服务器速度变慢。文本型字段还会吃掉大量的磁盘空间。

一旦你向文本型字段中输入了任何数据(甚至是空值),就会有2K的空间被自动分配给该数据。除非删除该记录,否则你无法收回这部分存储空间。

MySQL数据类型之三数值型

SQL支持许多种不同的数值型数据。你可以存储整数 INT、小数 NUMERIC、和钱数 MONEY。

INT VS SMALLINT VS TINYINT

他们的区别只是字符长度:

INT型数据的表数范围是从-2,147,483,647到2,147,483,647的整数

SMALLINT型数据可以存储从-32768到32768的整数

TINYINT型的字段只能存储从0到255的整数,不能用来储存负数

通常,为了节省空间,应该尽可能的使用最小的整型数据。一个TINYINT型数据只占用一个字节;一个INT型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。另一方面,一旦你已经创建了一个字段,要修改它是很困难的。因此,为安全起见,你应该预测以下,一个字段所需要存储的数值最大有可能是多大,然后选择适当的数据类型。

MUNERIC

为了能对字段所存放的数据有更多的控制,你可以使用NUMERIC型数据来同时表示一个数的整数部分和小数部分。NUMERIC型数据使你能表示非常大的数——比INT型数据要大得多。一个NUMERIC型字段可以存储从-1038到1038范围内的数。NUMERIC型数据还使你能表示有小数部分的数。例如,你可以在NUMERIC型字段中存储小数3.14。

当定义一个NUMERIC型字段时,你需要同时指定整数部分的大小和小数部分的大小。如:MUNERIC(23,0)

一个 NUMERIC型数据的整数部分最大只能有28位,小数部分的位数必须小于或等于整数部分的位数,小数部分可以是零。

MONEY VS SMALLMONEY

你可以使用 INT型或NUMERIC型数据来存储钱数。但是,专门有另外两种数据类型用于此目的。如果你希望你的网点能挣很多钱,你可以使用MONEY型数据。如果你的野心不大,你可以使用SMALLMONEY型数据。MONEY型数据可以存储从-922,337,203,685,477.5808到922,337,203,685,477.5807的钱数。如果你需要存储比这还大的金额,你可以使用NUMERIC型数据。

SMALLMONEY型数据只能存储从-214,748.3648到214,748.3647的钱数。同样,如果可以的话,你应该用SMALLMONEY型来代替MONEY型数据,以节省空间。

MySQL数据类型之四逻辑型

BIT

如果你使用复选框( CHECKBOX)从网页中搜集信息,你可以把此信息存储在BIT型字段中。BIT型字段只能取两个值:0或1。

当心,在你创建好一个表之后,你不能向表中添加 BIT型字段。如果你打算在一个表中包含BIT型字段,你必须在创建表时完成。

MySQL数据类型之五日期型

DATETIME VS SMALLDATETIME

一个 DATETIME型的字段可以存储的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

如果你不需要覆盖这么大范围的日期和时间,你可以使用SMALLDATETIME型数据。它与DATETIME型数据同样使用,只不过它能表示的日期和时间范围比DATETIME型数据小,而且不如DATETIME型数据精确。一个SMALLDATETIME型的字段能够存储从1900年1月1日到2079年6月6日的日期,它只能精确到秒。

DATETIME型字段在你输入日期和时间之前并不包含实际的数据,认识这一点是重要的。

文章分享结束,mysql数据库类型和mysql数据库中有几种数据类型的答案你都知道了吗?欢迎再次光临本站哦!

数据库唯一约束 数据库中怎么设置字段的唯一约束国内最便宜的云服务器(国内最便宜的云服务器推荐都有哪些)