字符型数据
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
);