字符集:字符集是一套符号和编码,校对规则是在字符集内用于比较字符的一套规则。

MYSQL能够使用多种字符集来储存字符串,并使用多种校对规则来比较字符串,可以实现在同一台服务器、同一个数据库,甚至在同一个表中使用不同的字符集或校对规则来混合字符串,MYSQL支持40多种字符集的70多种校对规则。

数据类型

1.数值类型

MYSQL支持所有标准SQL数据类型,包括严格数值数据类型(integer、smallint、decimal和numeric)和近似数值类型(float、real和doubleprecision)。

2.字符串类型

字符串类型主要是由字母、汉字、数学符号、特殊符号构成的数据对象。按照字符个数的不同,字符串可分为以下几类。

(1)char和varchar类型

char和varchar类似,但它们保存和检索的方式不同,它们在最大长度和尾部空格是否保留等方面也不同,在存储或检索过程中二者均不进行大小写转换。

char列的的长度固定为创建表是声明的长度。长度可以为从0到255的任何值。

varchar列中的值为可变长字符串。长度可以指定为0到65535之间的值。

(2)blob和text类型

blob被视为二进制字符串。blob列没有字符集,并且排序和比较基于该列所包含的字节的数值。

text列被视为非二进制字符串。text有一个字符集,并且根据字符集的校对规则对值进行排序和比较。

text与blob的存储或检索过程中,不存在大小写转换,lblob或text的最大值有其类型确定,但在其客户端和服务器之间实际可以传递的最大值由可用内存数量和通信缓存区大小确定。

3.日期和时间类型

日期和时间类型的数据具有特定格式的数据,专门用于表示日期、时间、包括以下几种类型。

(1)date类型:表示日期,输入数据的格式是yyyy-mm-dd,支持的范围是从'1000-01-01'到'9999-12-31'。

(2)time类型:表示时间,输入数据的格式是hh:mm:ss,time值的范围是从'-838:59:59'到'838:59:59'。

(3)datetime类型:表示日期时间,格式是yyyy-mm-dd hh:mm:ss,支持的范围为从'1000-01-01' 00:00:00'到'9999-12-31 23:59:59''。