字符集(charset)

字符集(character)

mysql中常见字符集

  • utf8
  • latin1
  • gbk
#mysql查看字符集命令
show charset

校对规则(collation)

常见校对规则

  • ci: 大小写不敏感
  • cs或者bin: 大小写敏感
#查看校对规则命令
show collation

生产环境更改字符集(含数据)

alter database test character set utf8 collate utf8_general_ci;
alter table t1 character set utf8;

数据类型

数字型

1)整数:整数
2)浮点数:小数
3)定点数:精确值数值
4)BIT:位字段值

类别 说明
整数 TINYINT 极小整数数据类型(-128~128 255个)
整数 SMALLINT 较小整数数据类型(-215~215-1)
整数 MEDIUMINT 中型整数数据类型
整数 INT 常规整数数据类型-231~231-1
整数 BIGINT 较大的整数类型(-263~263-1)
浮点数 FLOAT 小型单精度(四个字节)浮点数
浮点数 DOUBLE 常规双精度(八个字节)浮点数 double(6,2)共计6位小数点后保留2位
定点数 DECIMAL 包含这整数部分,小数部分或者同时包括二者的精确值数值
BIT BIT 位字段值
文本 CHAR 定长 最多255个字符
文本 VARCHAR 变长 最多65,535个字符
文本 TINYTEXT 变长 最多255个字符
文本 TEXT 变长 最多65,535个字符
文本 MEDIUMTEXT 变长 最多16,777,215个字符
文本 LONGTEXT 变长 最多4,294,967,295个字符
整数 ENUM 一组固定的合法值组成的枚举 例如:enum(‘m’,‘f’)
整数 SET 一组固定的合法值组成的集
二进制 BINARY 类似于char(定长) 存储二进制字节字符串而不是二进制字符串
二进制 VARBINARY 类似于varchar(变长) 存储二进制字节字符串而不是二进制字符串
BLOB TINYBLOB 最大长度为255个字节的BLOB列
BLOB BLOB 最大长度为65535个字节的BLOB列
BLOB MEDIUMBLOB 最大长度为16,777,215个字节的BLOB列
BLOB LONGBLOB 最大长度为4.294.967.295个字节的BLOB列data
date DATETIME 年月日时分秒
date timesstamp 时间戳

####约束

unsigned #不能为负数

primary key #主键 唯一+非空

unique key #唯一键 唯一但可为空 unique key + not null = primary key

not null #不能为空

default #默认值

auto_increment #自增

数据类型 属性 说明
数值 UNSIGNED 禁止使用负值
仅整数 AUTO_INCREMENT 生成包含连续唯一整数值的序列
字符串 CHARACTER SET 指定要是用的字符集
字符串 COLLATE 指定字符集整理
字符串 BINARY 指定二进制整理
全部 NULL 或者 NOT NULL 指定字段是否可以包含NULL值
全部 DEFAULT 如果新数据未指定值,则为其提供默认值