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;<br/>集合类型: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;
CREATE TABLE user(
id INT
) CHARACTER SET 'utf8';
SHOW CREATE TABLE user;
CREATE TABLE temp1(
id INT,
NAME VARCHAR(15) CHARACTER SET 'gbk'
);
SHOW CREATE TABLE temp;
- 规律: 如果创建表中的字段时没有指明字符集,就按创建表的字符集,如果创建表时没有指明字符集就按创建数据库时指明的字符集,如果创建数据库没有指明字符集,就按数据库配置文件
my.ini
中的字符集。
- 字段的字符集<表的字符集<创建数据库的字符集<数据库配置文件中的字符集
- 查看 数据库配置文件中的字符集:
SHOW VARIABLES LIKE 'character_%';
- 注意:一般在创建数据库时指明字符集就行,后面的表和字段的字符集都是按创建数据库时指明的字符集。