首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL系列之数据类型及约束

MySQL系列之数据类型及约束

作者头像
数据山谷
发布2020-12-08 11:21:15
发布2020-12-08 11:21:15
6180
举报
文章被收录于专栏:数据山谷数据山谷
前言

上篇咱们介绍了MySQL的基本情况和建库建表语句,当然必不可少的增删改查中的增删改也一并介绍了一下,此处再次强调语句,删库需谨慎,三思而后行。

内容简介

本篇会分两部分介绍:

第一部分:MySQL中的数据类型

第二部分:MySQL中的字段约束

MySQL中的数据类型

MySQL是存储数据的数据库,涉及到数据就需要有数据的类型,MySQL中的数据类型大致可以分为以下五类:

数值类型 : 例如 int, bit;

浮点数类型 : 例如 float;

时间/日期类型 : 例如 date;

字符串类型: 例如 char,varchar;

枚举类型 : enum

我们下面依次对这些数据进行说明

数值类型

MySQL中的常见数据类型如下:

类型

字节大小

有符号范围(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

MySQL中我们最常见到的和用到的是int类型,而具体要用到那种取决于我们字段存储的数字大小。最好使用字段合适的类型,节省数据库空间,提升效率。

浮点数类型

浮点数常见类型:

类型

字节大小

取值范围

float

4

最小非零值:±1.175494351E – 38

double

8

最小非零值:±2.2250738585072014E – 308

decimal(M,D)

如果M>D,为M+2否则为D+2

可变,取值范围根据M和D进行改变

浮点数类型中值得一说的就是decimal(), decimal是一个可变的数据类型,数据的取值范围和占用的内存大小是可变的。

例如:decimal(5,2) 表示该字段取值最常为5位有效数字,小数点后面的占两位。

时间/日期类型

时间日期类型:

类型

字节大小

实例

date

4

'2020-11-19'

time

3

'16:55:23'

datetime

8

'2020-11-19 16:55:23'

year

1

'2020'

timestamp

4

'1970-01-01 00:00:01' UTC ~ '2038-01-01 00:00:01' UTC

实际工作环境中使用这种类型的时候很少,一般来说都是使用数字类型来进行代替。

字符串类型

字符串类型:

类型

字节大小

示例

char

0 ~ 255

name char(10)

varchar

0 ~ 65535

name varchar(10)

text

0-65535

大文本

大家此处注意,如果大家是按照我们的这个教程进行安装的MySQL8.0的话,这个版本的varchar和char 两个类型后面的参数是表示接受多少个字符,不是字节。另外此处如果存储的数据长度超过了这个数字会报错。

枚举类型

MySQL中的枚举类型严格来说算是字符串类型,枚举类型的作用就是给出几个选项,该字段就只能在这几个选项中进行选择,类似于Excel中的下来菜单。

例如 gender enum('男', '女') 这个时候gender字段就只能在男或者女这两个中进行选择,如果是别的内容就会报错。

字段约束

MySQL中的字段约束分为6种:

NOT NULL:非空约束,用于保证该字段的值不能为空 比如姓名、学号等 DEFAULT:默认约束,用于保证该字段有默认值 比如性别 PRIMARY KEY:主键约束,用于保证该字段的值具有唯一性,并且非空 比如学生的学号、员工的编号等 UNIQUE:唯一约束,用于保证该字段的值具有唯一性,可以为空 比如座位号 FOREIGN KEY:外键约束,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值 在从表添加外键约束,用于引用主表中某列的值 比如学生表的班级编号,员工表的部门编号,员工表的工种编号

AUTO_INCREMENT :自增约束,在表中插入数据时,如果不对该字段赋值,会自动在已有最大值的基础上+1

总结

数据类型的使用取决于该字段的存储内容,一定要选择合适的类型以及约束,这样可以让数据库的性能提升不少。

本系列下篇就正式开始查询语句了,大家快快关注我!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据山谷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档