MySQL数据类型和约束

数据类型和约束:保证数据的准确性和完整性

1、数据类型

  • 数据类型是指在创建表的时候为表中字段指定数据类型
  • 只有数据符合类型要求才能存储起来
  • 使用数据类型的原则:尽量使用取值范围小的,够用即可,以节省存储空间

常用数据类型如下:

  • 整数:int,bit
  • 小数:decimal
  • 字符串:varchar,char
  • 日期时间: date, time, datetime
  • 枚举类型(enum)

数据类型说明:

  • decimal表示浮点数,如 decimal(5, 2) 表示共存5位数,小数占 2 位
  • char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab ',3表示字符数
  • varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab',3表示最大字符数
  • 对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
  • 字符串 text 表示存储大文本,当字符大于 4000 时推荐使用, 比如技术博客

数据类型附录表:

整数类型

类型

字节大小

有符号范围(Signed)

无符号范围(Unsigned)

tinyint

1

-128 ~ 127

0 ~ 255

smallint

2

-32768 ~ 32767

0 ~ 65535

mediumint

3

-8388608 ~ 8388607

0 ~ 16777215

int/integer

4

-2147483648 ~2147483647

0 ~ 4294967295

bigint

8

-9223372036854775808 ~ 9223372036854775807

0 ~ 18446744073709551615

字符串

类型

说明

使用场景

char

固定长度,小型数据

身份证号、手机号、电话、密码

varchar

可变长度,小型数据

姓名、地址、品牌、型号

text

可变长度,字符个数大于 4000

存储小型文章或者新闻

longtext

可变长度, 极大型文本数据

存储极大型文本数据

时间类型

类型

字节大小

示例

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

2、数据约束

约束是指数据在数据类型限定的基础上额外增加的要求.

约束名称

约束

含义

主键

primary key

物理上存储的顺序

MySQL 建议所有表的主键字段都叫 id, 类型为 int unsigned

外键

foreign key

对关系字段进行约束, 当为关系字段填写值时, 会到关联的表中查询此值是否存在, 如果存在则填写成功, 如果不存在则填写失败并抛出异常

非空

not null

此字段不允许填写空值

惟一

unique

此字段的值不允许重复

默认

default

当不填写字段对应的值会使用默认值,如果填写时以填写为准

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值