1、字符串类型
1)char(m):定长的字符串。
2)varchar(m):不定长的字符串。
上述知识,可以参考下图理解:
3)char和varchar存储的空间利用率比较。
从上表中可以看出:
4)tinytext、text、longtext
注意:只要存放的是字符串类型,都要注意编码问题,一般使用的是utf8编码。
2、数值类型
有符号位与无符号位详解网址:https://www.cnblogs.com/123ing/p/4135229.html
2.1、整型数据类型,声明时的参数问题
1)unsigned参数。
-- 创建表 create table person( pname varchar(20), page tinyint unsigned, psex bit(1) ) charset=utf8; -- 插入两条记录 insert into person(pname,page,psex) values("张三",18,0),("李四",22,0);
观察下图:
从上图可以看出:
2)zerofill参数必须和M参数配合使用"才有意义"。
-- 对学号字段进行一个说明: -- 1:学号不能为负; -- 2:学号一般位数相同,即使不同,也会用0填充。 -- eg:00001,00013,00128,01280。 -- 创建表 create table student( sid smallint(5) zerofill not null default 0, sname varchar(20), sage tinyint unsigned, ssex bit(1) default 0 ) charset=utf8; -- 插入两条记录 insert into student(sname,sid) values ("张飞",5),("吕布",1);
观察下图:
从上图可以看出: