MySql常见数据类型及五大约束

目录

1.数值型

       1.1 整型

       1.2 小数

              1.2.1 定点数

              1.2.2 浮点数

              1.2.3 特点

2.字符型

       2.1 短文本

       2.2 char和varchar的区别

       2.2 长文本

3.日期型

       3.1 具体日期类型

       3.2 datetime和timestamp区别

4.五大约束

       4.1 约束分类

              4.1.1 列级约束

              4.1.2 表级约束

       4.2 非空约束

       4.3 默认约束

       4.4 主键约束

       4.5 唯一约束

       4.6 外键约束

       4.7 主键约束和唯一约束的异同点


1.数值型

       1.1 整型

       tinyint:1字节

       smallint:2字节

       mediumint:3字节

       int/integer:4字节

       bigint:8字节

特点:

       1)如果不通过unsigned关键字设置有无符号,默认有符号

       2)如果插入的数据超出了整型范围,会报out of range异常,并且插入临界值

       3)如果不设置长度,会有默认的长度。长度代表显示的最大宽度,如果想启用0填充,需搭配zerofill使用

       1.2 小数

              1.2.1 定点数

       DEC(M,D):

       DECIMAL(M,D):

              1.2.2 浮点数

       float(M,D):4字节

       double(M,D):8字节

              1.2.3 特点

       1)M:整数部分位数+小数部分位数 D:小数部分位数

       2)M和D可以省略,decimal的M默认10,D默认0;float和double会根据插入数值的精度来决定精度

       3)定点性精确度较高

2.字符型

       2.1 短文本

       char(M):M字符数

       varchar(M):M字符数

       2.2 char和varchar的区别

  写法 M的含义 特点 空间消耗 效率
char char(M) 最大字符数,可以省略,默认为1 固定长度的字符 耗费
varchar varchar(M) 最大字符数,不可省略 可变长度的字符 节省

       2.2 长文本

       text:是一个能够存储大量数据的大对象

字段类型 存储字节数
TINYTEXT 256
TEXT 65535
MEDIUMTEXT 16777215
LONGTEXT 4294967295

       blob:二进制大型对象,可以存储大量数据的容器

字段类型 存储字节数
TinyBlob  256
Blob   65535
MediumBlob  16777215
LongBlob 4294967295

3.日期型

       3.1 具体日期类型

       date:4字节

       datetime:8字节

       timestamp:4字节

       time:3字节

       year:1字节

       3.2 datetime和timestamp区别

       1)timestamp和实际市区有关,更能反映实际的日期,而datetime则只能反映出插入时的当地时区

       2)timestamp的属性受MySql版本和SQL Mode影响

4.五大约束

       4.1 约束分类

       约束:一种限制,用于限制表中数据,为了保证表中数据的准确和可靠性

              4.1.1 列级约束

       六大约束语法上都支持,但外键约束没有效果

              4.1.2 表级约束

       除了非空、默认,其他都支持

       4.2 非空约束

       NOT NULL:用于保证该字段的值不为空

       4.3 默认约束

       DEFAULT:用于保证该字段有默认值

       4.4 主键约束

       PRIMARY KEY:用于保证该字段的值具有唯一性且非空

       4.5 唯一约束

       UNIQUE:用于保证该字段的值具有唯一性,可以为空

       4.6 外键约束

       POREIGN KEY:用于限制两个表的关系

       4.7 主键约束和唯一约束的异同点

  唯一性 是否允许为空 单张表内可以存在几个 是否允许组合
主键约束 可以 不可以 至多一个 允许,但不推荐
唯一约束 可以 可以 可以多个 允许,但不推荐

猜你喜欢

转载自blog.csdn.net/qq_36756682/article/details/114361460