mysql数据库优化课程---4、mysql字段属性
一、总结
一句话总结:
mysql字段:没有被淘汰的必然有其存在的合理性(也就是有优点),比如char类型
1、为什么char类型没有被淘汰?
char相比于varchar速度快
有缺点必有优点,不然必然被淘汰
char优点:速度快
varchar优点:变长
2、zerofill?
zerofill:0填充:左侧补0:不够位数则左侧补0
3、为什么mysql的服务端和客户端都用utf-8的编码?
因为浏览器现在默认都是utf-8编码
在存储过程中,就算别的编码都是一致的,比如都是gbk,但是因为浏览器现在都普遍是utf-8,所以还是不能够正常显示。
4、MYSQL 客户端与服务器关系,及mysql客户端和服务端是什么?
一个mysql服务器上面有几个客户端
mysql服务端:我们在windows中开启的服务
mysql客户端:我们用命令行登录的账号密码
5、mysql服务器默认字符集:?
1.建议客户端字符集是utf8:default-character-set = utf8
2.mysql服务端字符集为utf8:character-set-server = utf8
3.mysql服务端校验字符集(校验字符集是来排序的):collation-server = utf8_general_ci
1.建议客户端字符集是utf8
default-character-set = utf8
2.mysql服务端字符集为utf8
character-set-server = utf8
3.mysql服务端校验字符集(校验字符集是来排序的)
collation-server = utf8_general_ci
6、mysql设置默认值?
age int not null default 18;
7、mysqll服务端校验字符集是干嘛的?
校验字符集是来排序的:mysql里面的排序会用到这个字符集:collation-server = utf8_general_ci
(校验字符集是来排序的)
(mysql里面的排序会用到这个字符集)
collation-server = utf8_general_ci
二、内容在总结中
数据字段属性:
1.unsigned
无符号
2.zerofill
0填充
3.auto_increment
mysql> create table t9(
-> id int unsigned auto_increment primary key,
-> username varchar(50)
-> );
4.null
age int null;
5.not null
age int not null;
6.default
age int not null default 18;
mysql服务器默认字符集:
1.建议客户端字符集是utf8
default-character-set = utf8
2.mysql服务端字符集为utf8
character-set-server = utf8
3.mysql服务端校验字符集
collation-server = utf8_general_ci
3、为什么mysql的服务端和客户端都用utf-8的编码?
因为浏览器现在默认都是utf-8编码,
在存储过程中,就算别的编码都是一致的,比如都是gbk,但是因为浏览器现在都普遍是utf-8,所以还是不能够正常显示。
4、MYSQL 客户端与服务器关系?
一个mysql服务器上面有几个客户端,一个
mysql服务端:我们在windows中开启的服务
mysql客户端:我们用命令行登录的账号密码