mysql表数据类型及约束

常用数据类型

整数:int,bit
小数:decimal
字符串:varchar,char
日期时间: date, time, datetime
枚举类型(enum)
特别说明的类型如下:
decimal表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
字符串text表示存储大文本,当字符大于4000时推荐使用
对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径

约束

主键primary key:物理上存储的顺序
非空not null:此字段不允许填写空值
惟一unique:此字段的值不允许重复
默认default:当不填写此值时会使用默认值,如果填写时以填写为准
外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
数值类型(常用)

类型	      字节大小	  有符号范围(Signed)	                             无符号范围(Unsigned)
TINYINT	  1	          -128 ~ 127	                                 0 ~ 255
SMALLINT  2	          -32768 ~ 32767	                             0 ~ 65535
MEDIUMINT 3	          -8388608 ~ 8388607	                         0 ~ 16777215
INT       4	          -2147483648 ~2147483647	                     0 ~ 4294967295
BIGINT	  8	          -9223372036854775808 ~ 9223372036854775807	 0 ~ 18446744073709551615
字符串


类型	         字节大小	  示例
CHAR	     0-255	      类型:char(3) 输入 'ab', 实际存储为'ab ', 输入'abcd' 实际存储为 'abc'
VARCHAR	     0-255	      类型:varchar(3) 输 'ab',实际存储为'ab', 输入'abcd',实际存储为'abc'
TEXT	     0-65535	  大文本


日期时间类型
类型	       字节大小	示例
DATE	   4	    '2020-01-01'
TIME	   3	    '12:29:59'
DATETIME   8	    '2020-01-01 12:29:59'
YEAR	   1	    '2017'
TIMESTAMP  4	    '1970-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值