MySQL字段类型

MySQL字段类型MySQL字段类型

大家好,又见面了,我是你们的朋友全栈君。

MySQL字段类型

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

数值类型

类型 大小 范围(有符号) 范围(无符号) 用途
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) 双精度
浮点数值

 

字符串

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

char和varchar:

1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。 

2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。 

3.char类型的字符串检索速度要比varchar类型的快。
 

varchar和text: 

1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。 
2.text类型不能有默认值。 
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用。

类型 大小 用途
CHAR 0-255字节 定长字符串
VARCHAR 0-65535 字节 变长字符串
TINYBLOB 0-255字节 不超过 255 个字符的二进制字符串
TINYTEXT 0-255字节 短文本字符串
BLOB 0-65 535字节 二进制形式的长文本数据
TEXT 0-65 535字节 长文本数据
MEDIUMBLOB 0-16 777 215字节 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215字节 中等长度文本数据
LONGBLOB 0-4 294 967 295字节 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295字节 极大文本数据

日期时间类型

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

类型 大小 范围 格式 用途
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 混合日期和时间值,时间戳

 

数据类型的属性

MySQL关键字 含义
NULL 数据列可包含NULL值
NOT NULL 数据列不允许包含NULL值
DEFAULT 默认值
PRIMARY KEY 主键
AUTO_INCREMENT 自动递增,适用于整数类型
UNSIGNED 无符号
CHARACTER SET name 指定一个字符集
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106444.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月23日 上午9:40
下一篇 2022年4月23日 上午9:40


相关推荐

  • Ubuntu20.04环境下安装pip过程遇到问题总结「建议收藏」

    Ubuntu20.04环境下安装pip过程遇到问题总结「建议收藏」今天新装了Ubuntu环境,需要开发Python的代码,需要装一些环境,在安装过程中pip的安装总是出现问题,尝试了很多的方法才成功,下面把我遇到的问题做一下总结:Ubuntu环境如下:下载包的路径在文章末尾问题1:无法定位软件问题:解决办法:修改Ubuntu的软件源就能解决无法定位软件包的问题问题2:安装setuptools报错问题解决办法:执行命令:sudo apt-get install python3-distutils结果如下:正在读取软件包列表… 完成正在分析软件包的

    2022年8月11日
    7
  • c语言编程 sort()什么意思,void sort在C语言中什么意思?「建议收藏」

    c语言编程 sort()什么意思,void sort在C语言中什么意思?「建议收藏」void是C语言中的一个关键字,其含义因其应用形式不同,一般分为两种:void和void*void的字面意思是“无类型”,void*则为“无类型指针”,void*可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义,不妨试着定义:这行语句编译时会出错,提示“illegaluseoftype’void’”。不过,即使voida的编译不会出错,…

    2022年5月12日
    51
  • gitlab搭建与基本使用

    gitlab搭建与基本使用一 git github gitlab 的区别 Git 是版本控制系统 Github 是在线的基于 Git 的代码托管服务 GitHub 是 2008 年由 RubyonRails 编写而成 GitHub 同时提供付费账户和免费账户 这两种账户都可以创建公开的代码仓库 只有付费账户可以创建私有的代码仓库 Gitlab 解决了这个问题 可以在上面创建免费的私人 repo 二 gitlabserver 搭建过程

    2026年3月20日
    2
  • flutter属于前端还是后端(kotlin比较flutter)

    尝试了网上多种库和教程都没办法互解,JAVA代码如下,求个大佬帮忙用dart(Flutter)实现一个可以互解的aes加密代码packagecom.example.lib;importjavax.crypto.Cipher;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;public…

    2022年4月9日
    255
  • Linux基础知识: SSH命令

    Linux基础知识: SSH命令linuxssh 命令使用

    2026年3月26日
    2
  • sql约束有哪些

    sql约束有哪些非空约束 NOTNULL 指示某列不能存储 NULL 值 唯一约束 UNIQUE 保证某列的每行必须有唯一的值 主键预约 PRIMARYKEY NOTNULL 和 UNIQUE 的结合 确保某列 或两个列多个列的结合 有唯一标识 有助于更容易更快速地找到表中的一个特定的记录 外键约束 FOREIGNKEY 保证一个表中的数据匹配另一个表中的值的参照完整性 检查约束 CHECK 保证列中的值符合指定的条件 默认约束 DEFAULT 规定没有给列赋值时的默认值

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号