文章目录
NULL和’’
另外’'可以走索引,null走不了索引
空值是不占用空间的。MySQL中的NULL是占用空间的
打个比方来说,你有一个杯子,空值代表杯子是真空的,NULL代表杯子中装满了空气,虽然杯子看起来都是空的,但是区别是很大的。
空值通过以下2种方法创建:
1.ALTER TABLE mytable ALTER COLUMN sex set DEFAULT ‘’
2.
1、 问:varchar(255)可以保持多少个汉字?
MySQL版本 < 4.1: VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-8 3字节编码长度),则VARCHAR(255)共可存放约85个汉字。
MySQL版本 >= 4.1: VARCHAR以字符[注意区分字符和字节]
为单位存储( 对于varchar的最大长度来说要根据字符集而变化。例如:Utf8中一个字符相当于3个字节,Gbk中一个字符相当于2个字节),假设输入仍然为常用汉字,则VARCHAR(255)可以存放255个汉字。
2、问:MySQL中int(10)与int(11)有什么区别吗?
int默认是10位的长度,如int(3),即代表数值前面补0,直到够10位的长度,由此可以得出int(10)和int(11)只是显示的长度不同而已,在内存中都是占4个字节32位。
3、问:double(6,2)代表什么意思?
表示规定显示的值不会超过6位数字,小数点后面带有2位数字;
即共占6位数字,小数点后占两位,小数点前占4位。
例子:double(6,2) ==> 1234.56,3333.44,5566.78
4、问:文字过多应该用什么类型存储?
可以使用TEXT,BLOB俩种类型来存储长文本。
1.text分为4种类别:TINYTEXT 256bytes,TEXT 64kb,MEDIUMTEXT 16Mb,LONGTEXT 4GB
- BLOB也分为4种类别:TINYBLOB,BLOB,MEDIUMBLOB,LONGBLOB
且blob 保存的是二进制数据,利用这个特性,可以把图片存储到数据库里面。text只能存储文本