1.1 数据类型——值类型
1.1.1 整型
类型 | 字节 | 范围 |
---|---|---|
tinyint | 1 | -128~127 |
smallint | 2 | -32768~32767 |
mediumint | 3 | -8388608~8388607 |
int | 4 | -2^31^~2^31^-1 |
bigint | 8 | -2^63^~2^63^-1 |
1、无符号整数(unsigned):无符号数没有负数,正数部分是有符号的两倍。
例题
1 | mysql> create table stu( |
2、整型支持显示宽度(最小的显示位数) 比如int(5),如果数值的位数小于5位,前面加上前导0。比如输入12,显示00012;大于5位就不添加前导0。
1 | 脚下留心:必须结合zerofill才起作用 |
1 | mysql> create table stu( |
1.1.2 浮点型(保存近似值小数)
浮点型 | 占用字节 | 范围 |
---|---|---|
float(单精度) | 4 | -3.4E+38~3.4E+38 |
double(双精度) | 8 | -1.8E+308~1.8E+308 |
1、浮点数声明: float(M,D) double(M,D)
M:总位数
D:小数位数
例题;
1 | mysql> create table t1( |
2、浮点的精度可能会丢失【精度指的是小数】
1.1.3 定点数
语法:decimal(M,D)
1 | mysql> create table t4( |
1 | 多学一招: |
1.2 数据类型——字符型
数据类型 | 描述 | 长度 |
---|---|---|
char(长度) | 定长 | 最大255 |
varchar(长度) | 变长 | 最大65535 |
tinytext | 大段文本 | 2^8^-1=255 |
text | 大段文本 | 2^16^-1=65535 |
mediumtext | 大段文本 | 2^24^-1 |
longtext | 大段文本 | 2^32^-1 |
1、char(10)和varchar(10)的区别?
答:相同点:它们最多只能保存10个字符;
不同点:char不回收多余的字符,varchar会回收多余的字符。
char效率高,浪费空间,varchar节省空间,效率比char低。
2、char的最大长度是255。
3、varchar理论长度是65535字节,实际根本达不到。具体长度与字符编码有关。
4、一个记录的总长度不能超过65535个字节。
5、大块文本(text)不计算在总长度中,一个大块文本只占用10个字节来保存文本的地址。