Mysql之数据类型

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。在Mysql5.7版本 新增了JSON数据类型。下面将对这个四大类的数据类型进行介绍

数值类型

持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。下面的表格基本上全部展示了数值类型的内容。

日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。TIMESTAMP类型有专有的自动更新特性。

字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。

注意:

1: char(n) 和varchar(n) 中n表示代表字符的个数,不是代表的字节数。

2: BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值.

3: BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

JSON数据类型

1:创建表

CREATE TABLE tab_base_info (
     id BIGINT NOT NULL PRIMARY KEY auto_increment,
     content json
);

2: 新增数据

 INSERT INTO tab_base_info (content)
 VALUES
 (
     '{"author": "zhangsan", "sex": "man"}'
);

注意: JSON列存储的数据要么是null,要么是JSON格式的数据,否则会报错。如果没有特殊指明,默认是NULL

好处:

1:文档校验: JSON列只能存储JSON格式的数据,起到校验的作用

2: 将JSON文档存储在JSON列中时,它不会存储为纯文本值。相反,它以优化的二进制格式存储,从而可以更快地访问对象成员和数组元素。

3:通过在JSON列中的值上创建索引来提高查询性能。这可以通过虚拟列上的“功能索引”来实现

4:JSON列的附加内联语法使在SQL中集成文档查询变得非常自然

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值