MySQL 数据类型和字段约束

MySQL支持数值、日期/时间和字符串等数据类型。数值包括tinyint到bigint,字符串有char和varchar等,日期类型涉及date、time到datetime。此外,介绍了NOTNULL、UNIQUE等字段约束,以及DEFAULT和AUTO_INCREMENT等特性。
摘要由CSDN通过智能技术生成

前言

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

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


数值类型

类型内存大小范围说明
tinyint1bytes

有符号:-128~127

无符号:0~255

特小型整数
smallint2bytes

有符号:-32768~32767

无符号:0~65535

小型整数
mediumint3bytes中型整数
int/integer4bytes

有符号:-2^31~2^31-1

无符号:0~2^32-1

整数
bigint8bytes大型整数
float4bytes单精度
double8bytes双精度
decimal对decimal(m,d) ,如果m>d,为m+2否则为d+2依赖m和d小数值

字符串类型

类型大小(bytes)说明
char0~255定长字符串
varchar0~65535可变长度字符串
tinyblob0~255不超过 255 个字符的二进制字符串
tinytext0~65535短文本字符串
blob0~65535二进制形式的长文本数据
text0~65535长文本数据
mediumblob0~1677215二进制形式的中等长度文本数据
mediumtext0~1677215中等长度文本数据
longblob0~4 294 967 295二进制形式的极大文本数据
longtext0~4 294 967 295极大文本数据

日期类型 

类型大小格式说明
date3bytes2023-07-14日期值,只储存年月日
time3bytes21:30:12时间值或持续时间,只储存时分秒
year1bytes2023年份值
datetime8bytes2023-7-14 21:30:12混合日期和时间值,储存年月日时分秒
timestamp4bytes20230714 213012混合日期和时间值,时间截

常见字段约束

NOT NULL指定字段的值不能为空,即该字段必须包含有效数据。
UNIQUE指定字段的值必须唯一,不能有重复值。
PRIMARY KEY将字段设置为主键,主键必须满足唯一性和非空性要求。一个表只能有一个主键。
FOREIGN KEY用于建立表之间的关联关系,将一个字段作为外键与另一个表的主键相关联。
DEFAULT设置字段的默认值,当插入新记录时若未指定该字段的值,则会自动使用默认值。
CHECK定义字段的取值范围或条件,确保插入的值符合指定的条件。
AUTO_INCREMENT用于自动递增生成唯一的整数值,通常与主键一起使用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Indifferent-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值