当前位置:   article > 正文

Mysql 常用数据类型_mysql数组数据类型

mysql数组数据类型

Mysql 的列类型-即数值类型

大致分为四类:

  • 数值类型
  • 文本类型
  • 二进制数据类型
  • 日期类型
    在这里插入图片描述

数值类型

使用规范:在能够满足需求的情况下,尽可能选择占用空间小的类型
在这里插入图片描述

  • 类型后加 [UNSIGNED],那么该类型就为无符号数,及非负数
  • decimal 类型中的 M 表示总长度,D 表示小数位的长度(M > D)。如果 D 是 0,则没有小数部分。 M 最大为 65,D 最大为 30。如果省略 M,默认为 10,省略 D,默认为 0。所以decimal 可以存非常大的数

例子:

CREATE TABLE decimal_table(
	num1 FLOAT,
	num2 DOUBLE,
	num3 DECIMAL(30, 20)
);

INSERT INTO decimal_table VALUES(88.123456789123456, 88.123456789123456, 88.123456789123456);
SELECT * FROM decimal_table
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

结果:
在这里插入图片描述

其他类型

在这里插入图片描述

二进制类型

例子:
创建一张表,id 的数组类型为二进制类型

CREATE TABLE bit_table (
	id BIT(8)
	);
INSERT INTO bit_table VALUES(3);
INSERT INTO bit_table VALUES(5);
SELECT * FROM bit_table;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

再 SQLyog 中显示为:
在这里插入图片描述
可见,bit 类型是以二进制类型展示的

字符串类型

  • char(size) 表示固定长度为 size 的字符串 (0 ~ 255)
  • varchar(size) 可变长度字符串(0 ~ 65535),最长 65532 字节,因为 utf8 编码需要三个字节记录字段大小
  • size 表示的是字符个数,而不是字节数
  • 如果表的编码是 utf8,那么 varchar 的 size 最大值为 (65535 - 3)/ 3 = 21844。因为 utf8 是三个字节表示一个字符
  • 如果表的编码是 gbk,那么 varchar 的 size 最大值为 (65535 - 3)/ 2 = 32766。因为 gbk 是两个字节表示一个字符
  • char(size) 是固定长度的,不管存的字符串长度多小,都占 size 个字符的字节数
  • varchar(size) 是长度可变的,只占实际用的字符长度对应的字节数 + 1~3 用来记录字段大小的字节,size 是用来限制输入字符的长度
  • 在存放文本时,也可以使用 Text 数据类型,可以将 Text 列视为 varchar 列,但是 Text 不能有默认值。大小为 0 - 216 字节
  • 如果希望存下更多字符,可以选择 MEDIUMTEXT 0 - 224 字节 或者 LONGTEST 0 - 232 字节

日期类型

CREATE TABLE birthday_timestamp (
   birthday DATE,
   detail DATETIME,
   login_time TIMESTAMP 
   	NOT NULL DEFAULT CURRENT_TIMESTAMP 
   	ON UPDATE CURRENT_TIMESTAMP
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 在上述例子中,timestamp 类型的列 login_time 默认值即为创建记录时的系统时间

枚举类型

该类型的值需要从给定的集合中的一个,比如限制性别只能为 男、女

create table person (
	sex enum('男', '女') not null
);
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号