ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL基础之数据类型

2021-05-26 22:58:27  阅读:184  来源: 互联网

标签:存储 字节 建表时 数据类型 基础 unsigned Length 整型 MySQL


概述

非常基础的知识点,避免每次搜索网络资源,然后甄选辨别真伪,故记录于此。

MySQL的整型类型有5种,type(M),M表示最大显示宽度,每种类型有默认的最大显示宽度,建表时若设置zerofill(0填充),会在数字前面补充0:

类型占用字节最大显示宽度(默认值)
tinyint1tinyint(4)
smallint2smallint(6)
mediumint3mediumint(9)
int4int(11)
bigint8bigint(20)

类型决定存储需要占用多少字节。

tinyint

从 -2^7 (-128) 到 2^7 - 1 (127) 的整型数据。存储大小为 1 个字节。
unsigned 是从 0 到 255 的整型数据。
建表时只能是tinyint(3),最大只支持3位,当然支持你建表语句写其他位数;

smallint

从 -2^15(-32768) 到 2^15 - 1 (32767) 的整型数据。存储大小为 2 个字节。
unsigned 是从 0 到 65535 的整型数据。
建表时只能是smallint(5),最大只支持5位。

mediumint

从 -2^23(-8 388 608) 到 2^23- 1 (8388607) 的整型数据。存储大小3字节。
unsigned范围:0~16777215。
建表时只能是smallint(5),最大只支持5位。

int

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字),存储大小为 4 个字节。
unsigned 是从 0 到 4294967296 的整型数据。
建表时只能是int(10),最大只支持10位。

bigint

从 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型数据(所有数字)。存储大小为 8 个字节。
unsigned 是
建表时只能是bigint(20),最大只支持20位。

注意

MySQL提供五种整型: tinyint、smallint、mediumint、int和bigint。int,即integer。这些类型在可表示的取值范围上是不同的。 整数列可定义为unsigned从而禁用负值;这使列的取值范围为0以上。各种类型的存储量需求也是不同的。取值范围较大的类型所需的存储量较大。

char、varchar

char、varchar的长度是指字符的长度,如CHAR[3]则只能放字符串"123",如果插入数据"1234",则报错:Data truncation: Data too long for column '' at row 1

float、double和decimal

MySQL提供三种浮点类型: float、double和decimal。与整型不同,浮点类型不能是unsigned的,其取值范围也与整型不同,这种不同不仅在于这些类型有最大值,而且还有最小非零值。最小值提供相应类型精度的一种度量,这对于记录科学数据来说是非常重要的(当然,也有负的最大和最小值)。

float(Length, Decimals),4字节;
double(Length, Decimals),8字节;
decimal(Length, Decimals),Length+1字节或Length+2字节,存储为字符串的DOUBLE,允许固定的小数点。

date、datetime、timestamp、time

DATE,3字节,采用YYYY-MM-DD格式
DATETIME,8字节,采用YYYY-MM-DD HH:MM:SS格式
TIMESTAMP,4字节,采用YYYYMMDDHHMMSS格式;可接受的范围终止于2037年
TIME,3字节,采用HH:MM:SS格式

enum、set

ENUM,1或2字节,Enumeration,枚举,这意味着每一列都可以具有多个可能的值之一
SET,1、2、3、4或8字节,与ENUM一样,只不过每一列都可以具有多个可能的值

标签:存储,字节,建表时,数据类型,基础,unsigned,Length,整型,MySQL
来源: https://blog.csdn.net/lonelymanontheway/article/details/116332407

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有