跟王老师学MySQL:MySQL数据类型之整数类型
2016-07-04 09:31
549 查看
跟王老师学MySQL:MySQL数据类型之整数类型
主讲教师:王少华QQ群号:483773664
MySQL的数据类型包括整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型和二进制数据类型。学习目标
整型包括哪些类型以及它们的取值范围以tinyint为例,讲解了定义整型的三个属性
一、简介
整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两类整数类型。
MySQL数据库除了支持这两种类型以外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。
整数类型最主要掌握其取值范围
二、取值范围
![](http://s3.51cto.com/wyfs02/M02/83/A5/wKiom1d5vIHQGLqEAABb6J5Eogk661.png)
三、以tinyint为例
(一)列的设计原则
够存放:存放的范围不浪费:占据空间
(二) 创建一张表
1 2 3 4 5 | create table student( id int primary key auto_increment, name varchar (10), age tinyint ) charset utf8; |
(三) 插入数据
1 插入正常的值
1 | insert into student( name ,age) values ( 'zhangsan' ,25); |
![](http://s3.51cto.com/wyfs02/M01/83/A5/wKiom1d5vIHQIzGDAAAZ9GbRMAE343.png)
2 插入大于范围的值
1 | insert into student(name,age) values ( 'lisi' ,200); |
![](http://s3.51cto.com/wyfs02/M00/83/A4/wKioL1d5vIGRezmcAAAJ_QGflHY504.png)
3 插入边界值
1 | insert into student( name ,age) values ( 'lisi' ,-128); |
![](http://s3.51cto.com/wyfs02/M02/83/A4/wKioL1d5vIGhfkZcAAAI0YMfAoY733.png)
(四)整数型的可选属性
1 | 数据类型 (显示宽度) unsigned zerofill |
unsigned:无符号类型(非负)
zerofill:0填充
1 unsigned
为student添加一个无符号类型的列1 | alter table student add age2 tinyint unsigned; |
![](http://s3.51cto.com/wyfs02/M00/83/A5/wKiom1d5vIGhmOgpAAAm0EcIz3k678.png)
为age2添加-1
1 | insert into student( name ,age,age2) values ( 'lisi' ,24,-1); |
![](http://s3.51cto.com/wyfs02/M01/83/A4/wKioL1d5vIKzoelSAAAJubGVJrA956.png)
添加0
1 | insert into student(name,age,age2)values( 'lisi' , 24 , 0 ); |
![](http://s3.51cto.com/wyfs02/M02/83/A5/wKiom1d5vIKBT04CAAAIwZR_pTw384.png)
所以unsigned是大于等于0
2、显示宽度
这只是显示宽度,跟存储范围一点关系都没有1 | alter table student add age3 tinyint(1); |
![](http://s3.51cto.com/wyfs02/M00/83/A4/wKioL1d5vILhXLdRAAAook4nelM892.png)
插入age3=100
1 | insert into student( name ,age3) values ( 'lisi' ,100); |
![](http://s3.51cto.com/wyfs02/M01/83/A5/wKiom1d5vILS8b7EAAAIXncnhog125.png)
3 zerofill
零填充 0000100005如果某列是zerofill,默认是unsigned
添加一列
1 | alter table studentadd age4 tinyint( 5 ) zerofill; |
![](http://s3.51cto.com/wyfs02/M02/83/A4/wKioL1d5vILCuvx_AAA4vxnuBJ8685.png)
插入数据age4=9
1 | insert into student( name ,age4) values ( 'lisi' ,9); |
![](http://s3.51cto.com/wyfs02/M00/83/A5/wKiom1d5vIPhNwnzAAAj-hdzq5s943.png)
四、教学视频
http://edu.51cto.com/course/course_id-6420.html相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜