首页 > 其他分享 >数据类型

数据类型

时间:2024-08-16 15:20:27浏览次数:11  
标签:字符 00 01 varchar 字节 数据类型 长度

本文给出mysql中常用的数据类型说明。

 数值

类型

说明

表示范围

占用字节

备注

tinyint(n)

非常小的整数,n最大取值4(n表示显示宽度)

-128到127

1字节

1字节=8bit,存储范围0-255(2的8次方)

int(n)

整数,n最大取值11(显示宽度)

-2147483648到2147483647(有符号)

0到4294967295(无符号型)

4字节

4字节=(2^8)*4 = 2^32

使用时用int(10)即可(因为无符号最多也只能表示10位的)

bigint(n)

非常大的整数,n最大取值20(显示宽度)

     

decimal(P,D)

小数,P是位数,D是小数点后的位数。

P范围为1〜65,D的范围是0~30

   

  • 显示宽度:在字段上使用ZEROFILL属性时,该字段的值会左边补0,如124为0000000123;不会限制字段可以存储的值的范围,如int类型无论在括号中写的是多少,它都可以存储从-2147483648到2147483647的值。
  • unsigned,最大值翻倍

字符串

类型

说明

表示范围

备注

char(n)

定长字符串,n最大取值255(n表示字符数)

检索速度比varchar快

255个字符(中文、英文、数字都算一个字符)

(例:utf8编码方式, 那么char类型占255 * 3个字节)

适合用在身份证号码、手机号码等

varchar(n)

变长字符串,n最大取值跟字符集有关(n表示字符数)

必须定义长度

1、存放的字符数量跟字符集有关系:

  • 字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766字符

  • 字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845字符

  • 字符类型若为utf8mb,每个字符最多占4个字节,最大长度不能超过16383字符

2、最大空间65535个字节

varchar实际范围是65532或65533, 因为内容头部会占用1或2个字节保存该字符串的长度;如果字段default null(即默认值为空),整条记录还需要1个字节保存默认值null。

 

阿里开发规范:5000以上用text,且单独一张表,用主键来对应。

text

长文本数据

text列不能有默认值

最大长度为2^31-1个字符

 

BLOB

可以存二进制数据,适合图片等

   

时间

 

timestamp(当时间戳使用)

datetime

自动更新

可以自动更新。insert、update数据时,可以设置timestamp列自动以当前时间(CURRENT_TIMESTAMP)填充/更新

存什么是什么。需要SQL语句手动更新

时区

存的是UTC时间;查询时,会跟随实际时区变化而变化

存什么是什么

表示范围

1970-01-01 00:00:00 ~ 2038-01-09 03:14:07

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

索引速度

存储空间

4字节

8字节

varchar

存储变长字符串

1、varchar(n)的n代表什么

n表示的是字符数

例如:test varchar(20)

2、varchar长度设置

在长度够用的情况下,越短越好。

3、varchar的最大长度

varchar的最大长度是65535 字节。

【强制】varchar是可变长字符串,不预先分配存储空间,长度不要超过5000,如果存储长度大于此值,定义字段类型为text,独立出来一张表,用主键来对应,避免影响其它字段索引效率。

4、varchar存放汉字的个数

varchar(n)是几,就能存几个中文字。因为中文英文数字都算一个字符。

例如:varchar(50)是能保存50个汉字。

附:

1 byte (字节) = 8 bit (位), 存储范围0-255(2的8次方)

字符集:GBK :一个汉字占 2 个字节

UTF8:一个汉字占 3 个字节

标签:字符,00,01,varchar,字节,数据类型,长度
From: https://www.cnblogs.com/zhegemaw/p/18362899

相关文章

  • 基本数据类型与包装数据类型的使用标准
    这段使用标准主要是为了在编写代码时处理好基本数据类型和包装数据类型的选择问题,避免一些潜在的风险。1.【强制】所有的POJO类属性必须使用包装数据类型POJO(PlainOldJavaObject)类通常用作数据传输对象,属性可能会与数据库字段直接映射。由于数据库字段可以为null,如果PO......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较它......
  • [Python学习日记-6] 基本数据类型(上)
    简介    在学习数据类型之前我们要先回答一个问题:为什么计算机要有数据类型呢?计算机不是很NB,很智能吗,为什么会需要人类标注好数据的具体类型呢?这里就要从计算机的角度看一下数据是什么形式的了,举个例子:Jove和1234,这两个数据在我们看来是很清晰的,左边的是字符串,右边......
  • 数据类型
    数据类型大数类structBigint{ intsign;stringdigits; /*====================*/ Bigint(void){} Bigint(stringb){(*this)=b;} Bigint(intb){(*this)=to_string(b);} /*====================*/ intsize(void) { returndigits.size(); } Bigin......
  • 仓颉编程语言:整数类型(基础数据类型)
    整数类型分为有符号(signed)整数类型和无符号(unsigned)整数类型。有符号整数类型包括Int8、Int16、Int32、Int64和IntNative,分别用于表示编码长度为8-bit、16-bit、32-bit、64-bit和平台相关大小的有符号整数值的类型。无符号整数类型包括UInt8、UInt16、UInt32、UInt64......
  • 仓颉编程语言:布尔类型(基础数据类型)
    布尔类型使用Bool表示,用来表示逻辑中的真和假。布尔类型字面量布尔类型只有两个字面量:true和false。下面的例子展示了布尔字面量的使用:leta:Bool=trueletb:Bool=false布尔类型支持的操作布尔类型支持的操作符包括:逻辑操作符(逻辑非!,逻辑与&&,逻辑或||)、部......
  • 仓颉编程语言:字符串类型(基础数据类型)
    字符串类型使用String表示,用于表达文本数据,由一串Unicode字符组合而成。字符串字面量字符串字面量分为三类:单行字符串字面量,多行字符串字面量,多行原始字符串字面量。单行字符串字面量的内容定义在一对单引号或一对双引号之内,引号中的内容可以是任意数量的(除了非转义的双......
  • 数据类型
    Java基础语法中的数据类型是编程中非常重要的一个概念,它决定了变量能够存储什么类型的数据以及这些数据在内存中的表示方式。Java的数据类型可以分为两大类:基本数据类型(PrimitiveTypes)和引用数据类型(ReferenceTypes)。基本数据类型基本数据类型是Java中不可变的数据类型,它们直......
  • C程序设计(安徽专升本3.2基本数据类型)
    一、数据类型的分类 在本章节我们之讲解基础的数据类型,因为后续的数据类型将会单独对此讲解,常考的为基本数据类型,数组,函数,指针这几种类型!其它类型作为了解,认识即可二、整型类型此处对整数类型的讲解排除字符型和布尔型,它们单独拉出讲解,且我不喜欢废话讲解,我直接列表加代码......