2022年01月14日整理发布:mysql数据类型有哪些

科技 2022-01-14 15:55:48
导读 我会告诉你mysql的数据类型。相信朋友们也应该密切关注这个话题。现在,我将为我的朋友们讲述mysql数据类型。边肖还收集了关于mysql数据类

我会告诉你mysql的数据类型。相信朋友们也应该密切关注这个话题。现在,我将为我的朋友们讲述mysql数据类型。边肖还收集了关于mysql数据类型的相关信息。我希望你看到后会喜欢。

Mysql的数据类型如下:1。数字类型;2.日期和时间类型;3.字符串类型有CHAR、VARCHAR、BInary[二进制数据类型]、BLOB、TEXT[文本类型]、ENUM[枚举类型]和SET[数据集]。

Mysql数据类型有:

MySQL支持几种数据类型:数字类型、日期和时间类型以及字符串(字符)类型。

数据类型:

注意:

在定义字段时,我们经常使用num int(10)无符号的写法,其中int(10)并不意味着字段将存储10位数的长度。

Int(M)表示数字显示的格式,只有在field属性中设置了zerofill时才有效。

例如:

yint(4)-实际存储值为2。如果未指定zerofill查询,则结果为2。如果指定了零填充查询,则查询结果为0002。用0填充左边。

零填充属性:

如果为字段指定了zerofill属性,Mysql将自动向字段添加UNSIGNED属性。

当ZEROFILL属性包含在列表达式或UNION查询中时,它将被忽略。

浮点类型:

Float (m,d): M是位数,包括整数部分和小数部分;D为小数部分,[D=M-2];如果相等,整数部分为0,最大值为0.99。

例如:

Float(2,1) -表示整数和小数eg:1.1

Float(1,2) -语法错误总共只有一个数字。怎么会有两位小数?

关于默认值:

默认值必须是始终开启的函数或表达式。异常:时间戳的默认值可以使用CURRENT _时间戳。

Blobdtext无法设置默认值

如果一列没有明确指出默认值是什么:

如果数据库处于严格模式,将会报告错误

如果模式不是严格模式模式,系统会根据类型确认使用哪个默认值。

日期和时间格式:表示时间值的日期和时间类型有数据时间、日期、时间戳、时间和年份。

时间范围:“1000-01-01 003:00:00”到“9999-12-31 233:59”。

数据范围:“1000-01-01”到“9999-12-31”

时间戳范围:“1970-01-01 00:00:01”世界协调时到“2038-01-19 03:07”

时间范围:"-838:59336059 '到' 838336059336059 '

年份范围:年(4)-1901 ~ 2155;年份(2) - 00~99

TIMESTAMP:时间戳列以与DATETIME列相同的格式显示。换句话说,显示宽度固定为19个字符,格式为‘yyyy-mm-DD hh 3360mm 3360 ss’。

时间戳数据类型提供自动初始化和更新。但是只有一列默认值和更新可以被指定为CURRENT _时间戳。

1.更新当前时间戳时自动初始化并自动更新eg:ts时间戳默认当前时间戳

2.仅自动初始化;例如:ts时间戳默认值当前时间戳

3.仅自动更新;更新当前时间戳时时间戳默认值为0

4.无;例如:ts时间戳默认值0

字符串类型:字符串类型有CHAR、VARCHAR、BInary[二进制数据类型]、BLOB、TEXT[文本类型]、ENUM[枚举类型]和SET[数据集]。

char和varchar的区别:存储长度的区别在于最大长度和是否预留空间;

Char保留空格。varchar不保留空格

Char为0 ~ 255;Varchar为0 ~ 65535

ENUM:枚举是一个字符串对象,它从一个列表中选择一个值,该列表在创建表时明确列出了列规范的允许值。【默认值为插入值无法与列表值唤醒时的最大索引值】

、numbers ENUM("0 '、' 1 '、' 2 ')MySQL INSERT INTO t(numbers)VALUES(2)、(' 2 ')、(' 3 ');MySQL SELECT * FROM t;-

|数字|

-

| 1 |

| 2 |

| 2 |

-Set :是一个可以有零个或多个值的字符串的对象,当允许从列表中创建表时,每个值必须选择指定的值。【当插入的值与列表中的值不匹配时,MYSQL将忽略列表中不存在的值】

1 CREATE TABLE myset (col SET('a ',' b ',' c ',' d ');2 3 INSERT INTO my set(col)VALUES(' a,d '),(' d,a '),(' a,d,a '),(' a,d,d '),(' d,a,d ');从定义中可以看出,ENUM和SET的区别在于值是否是定义中指定的一个或多个值。性能上也有差异,插入的值不存在于列表中。

更多免费学习推荐:mysql教程(视频)

以上就是mysql数据类型的细节!

来源:php中文网站

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢

最新文章