文章目录


1. MySQL中的数据类型

类型

类型举例

整数类型

TINYINT、SMALLINT、MEDIUMINT、​INT(或INTEGER)​、BIGINT

浮点类型

FLOAT、DOUBLE

定点数类型

DECIMAL

位类型

BIT

日期时间类型

YEAR、TIME、​​DATE​​、DATETIME、TIMESTAMP

文本字符串类型

CHAR​、​VARCHAR​、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT

枚举类型

ENUM

集合类型

SET

二进制字符串类型

BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB

JSON类型

JSON对象、JSON数组

空间数据类型

单值类型:GEOMETRY、POINT、LINESTRING、POLYGON;

集合类型:MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION

  • 常见数据类型的属性,如下:

MySQL关键字

含义

NULL

数据列可包含NULL值

NOT NULL

数据列不允许包含NULL值

DEFAULT

默认值

PRIMARY KEY

主键

AUTO_INCREMENT

自动递增,适用于整数类型

UNSIGNED

无符号

CHARACTER SET name

指定一个字符集

2. 关于属性:character set

  • 创建数据库时,指名 字符集
CREATE DATABASE IF NOT EXISTS dbtest12 CHARACTER SET 'utf8';
SHOW CREATE DATABASE dbtest12;

【mysql】常用的数据类型_character set

  • 创建表的时候,指名表的 字符集
CREATE TABLE user(
id INT
) CHARACTER SET 'utf8';
SHOW CREATE TABLE user;

【mysql】常用的数据类型_数据库_02

  • 创建表,指名表中的字段时,可以指定字段的 字符集
CREATE TABLE temp1(
id INT,
NAME VARCHAR(15) CHARACTER SET 'gbk'
);
SHOW CREATE TABLE temp;

【mysql】常用的数据类型_mysql_03


  • 规律:​ 如果创建表中的字段时没有指明字符集,就按创建表的字符集,如果创建表时没有指明字符集就按创建数据库时指明的字符集,如果创建数据库没有指明字符集,就按数据库配置文件 ​​my.ini​​ 中的字符集。
  • 字段的字符集<表的字符集<创建数据库的字符集<数据库配置文件中的字符集
  • 查看 ​数据库配置文件中的字符集​:

SHOW VARIABLES LIKE 'character_%';

【mysql】常用的数据类型_mysql_04

  • 注意​:一般在创建数据库时指明字符集就行,后面的表和字段的字符集都是按创建数据库时指明的字符集。