《深入浅出Mysql》阅读梳理 一

Mysql的数据类型

数值类型

在这里插入图片描述
在这里插入图片描述
其中DEC(M,D)中的M的意思为最多显示M位数字(整数位和小数位),D的意思为小数位。
int(5)代表int的宽度为5.(默认为11)。只有与zerofill搭配使用时才有意义(左补0)当加了zerofill时,将把当前数据类型调整为无符号类型。当超出宽度时,按照正常情况显示(和c语言的%3d类似)。
bit(x)x代表字节数(1-8)当x=1时,bit可以表示0和1。插入数据时输入十进制数即可,因为会被自动转换成2进制。要查看bit类型数据时需要调用函数bin(字段名)或者hex(字段名)前者为显示2进制数后者为显示十六进制数。

日期时间类型

在这里插入图片描述
now()函数可以获得当前时间
可以设置时间的默认值为CURRENT_TIMESTAMP,这样插入数据时就不再需要为这个字段设置值了,他会自动填充当前时间。
可以设置on Update CURRENT_TIMESTAMP这样当数据更新时将会自动更新时间。
DateTime图TimeStamp的区别在于DateTime可以显示的范围更大。但是DateTime只有插入受时区影响。而DateStamp插入和查询都会受到时区的影响。

字符串类型

在这里插入图片描述

在这里插入图片描述

Char(x)和VarChar(x)

Char和VarChar都是用来存储比较短的字符的,其中Char为定长,长度在创建属性的时候就确定了,VarChar是变长的。在不超过x的情况下根据插入的数据确定长度。并且VarChar不会删除末尾的空格,而Char会删除末尾的空格。

Binary(x)和VarBinary(x)

存储二进制字符串。
Binary的结尾会用’\0’填充

ENUM类型

枚举类型需要在创建时规定。如create table test (day enum(‘1号’,‘2号’))
插入时可以插入’1号’ ‘2号’。也可以插入1,2(代表元素位置.1代表1号)
但是ENUM类型每次只能取一个值
###SET类型
SET类型与ENUM类型很相似。唯一的区别就是SET一次可以取多个值。

create table test (day set(‘a’,‘b’,‘c’))
然后插入
INSERT INTO test4 values (‘a’)
INSERT INTO test4 values (‘1’)
INSERT INTO test4 values (‘a,b,c’)
在这里插入图片描述

JSON类型

json类型可以是数字 字符串 布尔 null 数组 key-value(Object)
例子
create table test (t1 json)
可以插入
[“aa”,123,null,true]
{“key1”:“value”, “key2” : 1.99}
也可以进行组合
json中大小写敏感。且必须为false true null

函数

字符串函数

在这里插入图片描述
在这里插入图片描述

数值函数

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30033509/article/details/114366037
今日推荐