mysql数据库提供了几种数据类型_三种常用的MySQL 数据类型_江思捷的博客-程序员宅基地

技术标签: mysql数据库提供了几种数据类型  

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

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型

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

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

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

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

作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

类型

大小

范围(有符号)

范围(无符号)

用途

TINYINT

1 byte

(-128,127)

(0,255)

小整数值

SMALLINT

2 bytes

(-32 768,32 767)

(0,65 535)

大整数值

MEDIUMINT

3 bytes

(-8 388 608,8 388 607)

(0,16 777 215)

大整数值

INT或INTEGER

4 bytes

(-2 147 483 648,2 147 483 647)

(0,4 294 967 295)

大整数值

BIGINT

8 bytes

(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)

极大整数值

FLOAT

4 bytes

(-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 bytes

(-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的值

小数值

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

TIMESTAMP类型有专有的自动更新特性,将在后面描述。

类型

大小( bytes)

范围

格式

用途

DATE

3

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/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS

混合日期和时间值,时间戳

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

类型

大小

用途

CHAR

0-255 bytes

定长字符串

VARCHAR

0-65535 bytes

变长字符串

TINYBLOB

0-255 bytes

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

TINYTEXT

0-255 bytes

短文本字符串

BLOB

0-65 535 bytes

二进制形式的长文本数据

TEXT

0-65 535 bytes

长文本数据

MEDIUMBLOB

0-16 777 215 bytes

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

MEDIUMTEXT

0-16 777 215 bytes

中等长度文本数据

LONGBLOB

0-4 294 967 295 bytes

二进制形式的极大文本数据

LONGTEXT

0-4 294 967 295 bytes

极大文本数据

注意:

char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

以上就是三种常用的MySQL 数据类型的详细内容,更多关于MySQL 数据类型的资料请关注我们其它相关文章!

本文标题: 三种常用的MySQL 数据类型

本文地址: http://www.cppcns.com/shujuku/mysql/324294.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33869754/article/details/113220962

智能推荐

痞子衡嵌入式:串行NOR Flash的页编程模式对于量产效率的影响_普通网友的博客-程序员宅基地

  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是串行NOR Flash的页编程模式对于量产效率的影响。  任何嵌入式产品最终都绕不开量产效率话题,尤其是对于主控是非内置 Flash 型 MCU(比如恩智浦的 i.MXRT 系列、意法半导体的 H7 系列等),单片量产时间直接决定了工厂生产效率,对于那种百万级出货量的消费类产品,任何关于量产时间的重大优化都能带来明显受益(据说产线都是按分钟来计费的)。  目前市面上的量产方案主要如下三类,其中方案二是最通用灵活的方式,因为其下载算法可.

19个方便渗透测试的Chrome扩展_老乡zx的博客-程序员宅基地

Google Chrome是目前世界上最流行的浏览器之一,简洁的界面让他俘获了许多用户,除此之外还具有许多改善浏览体验的功能。与Firefox一样,Chrome也支持插件,称之为“扩展”,这些扩展程序极大地拓展了Chrome的公呢个。数千个扩展程序让我们可以直接在浏览器中执行花样繁多的功能,而不需要安装独立的软件。在这篇文章中,我们将介绍19项好用的安全扩展来把Chrome变成一个安全测试工具。

mysqldump应用_奇妙探险家的博客-程序员宅基地

导出表名包含中文的单表(字符集设置非常重要,在windows下,mysqldump接收中文表名时会报couldn't find table错误,即使表本身存在)mysqldump -uroot -proot -P8866 --default-character-set=gb2312 hive c客户信息表_copy > C:\1.sql导出hive库中的存储过程(-R)、事件(-...

python pandas(一)_言希0127的博客-程序员宅基地

#coding=utf-8import numpy as npimport pandas as pddf1 = pd.DataFrame(pd.read_csv('./house_data/all/test.csv',header=1)) # 读取.csv文件print df1.shapedf2 = pd.DataFrame({"id":[1002,1001,1003,1004...

Python ftp 上传和下载_百武的博客-程序员宅基地

使用python的ftplib库,进行文件的上传和下载

随便推点

java实现二叉排序统词频_无敌!全面对标字节跳动2-2:算法与数据结构突击手册(leetcode)..._柳子元的博客-程序员宅基地

算法能力是每一个程序员的基本功,只懂模型不懂算法,注定只是一个“绣花枕头”,而非真正的工程师。众所周知,程序员求职面试必考算法,题刷得好,拿Offer更有优势。但是,没有坚实的算法知识体系储备,没有长期持之以恒算法题目训练,很难脱颖而出。所以,为有需要的朋友们送上一套【算法与数据结构突击手册】的福利。按照算法知识体系,精心筛选leetcode、HDU等平台1000+经典题目。话不多说直接上文档展示...

Appium + Python自动化 - 元素定位uiautomatorviewer_weixin_30693683的博客-程序员宅基地

元素定位主要介绍如何使用uiautiomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作。uiautiomatorviewer是android-sdk自带的一个元素定位工具,非常简单好用,使用uiautomatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。一、启动uiautomatorviewer.bat 1....

Redis 5.02官方集群搭建_cuantangnie3915的博客-程序员宅基地

1、下载安装Redis#wgethttp://download.redis.io/releases/redis-stable.tar.gz#tarxfzredis-stable.tar.gz...

android.mk 翻译,翻译ANDROID-MK.TXT_weixin_39614521的博客-程序员宅基地

Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的,这篇文档描述了它的语法。在阅读下面的内容之前,假定你已经阅读了docs/OVERVIEW.TXT文件,了解了它们的脚色和用途。概述:一个Android.mk file用来向编译系统描述你的源代码。具体来说:-该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次,解析一次或更多次的build系...

iPhone锁屏网络连接关闭问题(iphone锁屏打开时请求网络失败)_ck89757的博客-程序员宅基地

一.问题描述在开发的iPhone APP中,有个设计是:当APP从后台(Background)返回到前台(Foreground)时,会进行一些网络连接获取新的数据,网络请求是使用ASIHTTPRequest完成的。但是在测试中发现一个问题:在运行APP时进入锁屏状态,当解锁后显示时,APP会从Background状态进入到Froeground状态,按照设计此时会进行网络连接更新数据,但是A

图像语义分割之FCN和CRF_荷叶田田_的博客-程序员宅基地

转载自:https://blog.csdn.net/u012759136/article/details/52434826前言(呕血制作啊!)前几天刚好做了个图像语义分割的汇报,把最近看的论文和一些想法讲了一下。所以今天就把它总结成文章啦,方便大家一起讨论讨论。本文只是展示了一些比较经典和自己觉得比较不错的结构,毕竟这方面还是有挺多的结构方法了。介绍图像语义分割,简单而言就是给定...

推荐文章

热门文章

相关标签