字符型数据
char(20) /* fixed-length */
varchar(20) /* variable-length */
char列可以设置的最大长度是255个字节,varchar最多可以存储65535个字节。
如果需要存储更长的字符串,则要使用__文本类型__ (mediumtext 和 longtext)。
使用如下命令查看MySQL支持的字符集:
SHOW CHARACTER SET;
为数据列制定非默认的字符集,只需要再类型定义后加上系统支持的字符集名称,例如:
varchar(20) character set utf8
在MySQL中,还可以改变真个数据库的默认字符集:
create database foreign_sales character set utf8
文本数据
文本类型 | Maximum number of bytes |
---|---|
tinytext | 255 |
text | 65535 |
mediumtext | 16777215 |
longtext | 4294967295 |
数值型数据
整数类型:
- tinyint
- smallint
- mediumint
- int
- bigint
浮点类型:
- float(p,s)
- double(p,s)
p和s指定了精度和有效位。
例如,一个定义为 float(4,2) 的列将会存储4位数字,其中两位在小数点左边,两位在小数点右边。
时间数据
类型 | 默认格式 |
---|---|
date | YYYY-MM-DD |
datetime | YYYY-MM-DD HH:MI:SS |
timestamp | YYYY-MM-DD HH:MI:SS |
year | YYYY |
time | HHH:MI:SS |
下面是一个创建包含上述所有列类型的表的SQL:
drop table if exists test;
create table test
(
c1 char(20),
c2 varchar(20),
c3 varchar(20) character set utf8,
c4 tinytext,
c5 text,
c6 mediumtext,
c7 longtext,
c8 tinyint,
c9 smallint,
c10 mediumint,
c11 int,
c12 bigint,
c13 float(10,2),
c14 double(10,2),
c15 date,
c16 datetime,
c17 timestamp,
c18 year,
c19 time
);