MySQL数据类型:数值类、字符串类、日期/时间类
1.数值类:
定义无符号的类型加个UNSIGNED关键字即可:
age TINYINT UNSIGNED
这里的年龄一般是1-120之间,所以类型建议为TINYINT, 由于是正数就加个无法符号
2.时间类型
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
3.字符串类型
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。
注意:
CHAR(n) 和 VARCHAR(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。
CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
VARCHAR相对于CHAR来说性能差一点, 因为它是去计算字符串的占用的空间。
练习:
username不超过50字符:用VARCHAR,动态占用空间大小
sex 性别不是男就是女,直接用CHAR ,不用去计算字符占用的空间