比特值数据类型,取值范围从 1 到 64;默认值为:1。
create table tb_name(col_name bit(1)); // BIT 数据类型示例
整数数据类型,SQL 标准有:INTEGER、SMALLINT,MySQL8有:TINYINT、MEDIUMINT 和 BIGINT 等扩展类型。
DECIMAL 数据类型 和 NUMERIC 数据类型都用于存储精确的数字值。最大位数为 65,当精度很重要时使用这些类型,例如货币。在 MySQL 中,NUMERIC 和 DECIMAL 是一样的,因此 DECIMAL 同样适用于 NUMERIC。
try8 decimal(5,2) //DECIMAL 示例,存储范围:-999.99 到 999.99
FLOAT 数据类型 和 DOUBLE 数据类型都用于存储近似数字值。MySQL 对单精度值使用四个字节,对双精度值使用八个字节。从 0 到 23 的精度产生一个 4 字节的单精度列。从 24 到 53 的精度会产生一个 8 字节的双精度列。
float(5,2) //示例取值范围:-999.99 至 999.99,最大:(255,30) double(5,2) //示例取值范围:-999.99 至 999.99,最大:(255,30)
表示日期和时间的数据类型有:DATE、TIME、DATETIME、TIMESTAMP 和 YEAR。对于日期和时间数据类型,零值很特殊,您可以使用如下值存储它们,或者使用更容易编写的 0 值来执行操作。
DATE 数据类型表示日期但是没有时间部分的值,它允许使用字符串或数字,支持的格式为: 'YYYY-MM-DD',取值范围:'1000-01-01' 至 '9999-12-31' 。
create table tb_name (col_name date); //DATE 数据类型示例
BLOB 数据类型表示二进制字符串,有四种,TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB,其长度不同。
TEXT 数据类型表示字符串,有四种,TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT,其长度不同。
ENUM 数据类型表示枚举。用于存储一个字符串对象, 值在内部表示为整数,最多可以有 65535 个不同的元素。
create table tb_name (col_name enum ('a', 'b', 'c')); //ENUM 数据类型示例 insert into tb_name (col_name) values ('a'),('b'),('c'); select col_name from tb_name where col_name = 'a';
SET 数据类型表示字符串对象,可以有零个或多个值,值在内部表示为整数,最多可以有 64 个不同的成员。
create table tb_name (col_name set('a', 'b', 'c')); //SET 数据类型示例 insert into tb_name (col_name) values ('a'); insert into tb_name (col_name) values ('a,b,c');
MySQL 具有对应于 OpenGIS 类的空间数据类型。MySQL8 空间数据类型包含单个几何值:GEOMETRY、POINT、LINESTRING、POLYGON 。
create table tb_name (col_name GEOMETRY); //GEOMETRY 数据类型示例
MySQL 支持通过长 JSON 定义数据类型,可以高效访问 JSON(JavaScript 对象表示法)文档中的数据。与直接存储 JSON 格式的字符串相比,该数据类型具有很多优势如:方便查询、验证错误、优化存储结构等。
create table tb_name (col_name json); // JSON 数据类型示例 insert into tb_name values ('{"key1": "value1", "key2": "value2", "key3": "value3"}');
小提示:试试吧全栈教程之MySQL8教程,主打原创,定期更新,全部免费,欢迎收藏学习和转载分享。