专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > MySQL培训 > MySQL课程 > MySQL入门课程:整数类型

MySQL入门课程:整数类型

文章来源: 更新时间:2016/7/15 16:51:18

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

MySQL入门课程:整数类型,MySQL支持所有的ANSI/ISO SQL92的数字类型,其中的整数类型为INTEGER,和SMALLINT,关键词INT是INTEGER的一个同义词:

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

取值范围:有符号:-32768到32767(-215到215-1)无符号:0到65535(0到216-1)

存储要求:2个字节

INT[(M)] [UNSIGNED] [ZEROFILL]、INTEGER[(M)] [UNSIGNED] [ZEROFILL]

取值范围:有符号:-2147483648到2147483647(-231到231-1)无符号:0到4294967295(0到232-1)

存储要求:4个字节

作为对ANSI/ISO SQL92标准的扩展,MySQL也支持上表所列的整型类型TINYINT、MEDIUMINT和BIGINT:

TINYINT[(M)] [UNSIGNED] [ZEROFILL]

取值范围:有符号:-128到127(-27和27-1)无符号:0到255(0到28-1)

存储要求:1个字节

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

取值范围:有符号:-8388608到8388607(-223到223-1)无符号:0到16777215(0到224-1)

存储要求:3个字节

BIGINT[(M)] [UNSIGNED] [ZEROFILL]

取值范围:有符号:-9223372036854775808到9223372036854775807(-263到263-1)无符号:0到18446744073709551615(0到264-1)

存储要求: 8个字节

在为列选择了使用某种数值类型时,除了要考虑数据的类型外,还应该注意所要表示的值的范围和存储需求,只需选择能覆盖要取值的范围的最小类型即可。选择较大类型会对空间造成浪费,使表不必要地增大,处理起来没有选择较小类型那样有效。对于整型值,如果数据取值范围较小,则TINYINT最合适。MEDIUMINT和INT虽然能表示能够表示更大的数值并且可用于更多类型的值,但存储代价更大。BIGINT 在全部整型中取值范围最大,而且需要的存储空间是表示范围次大的整型 INT 类型的两倍,因此只在确实需要时才用。

作为对ANSI/ISO SQL92标准的的另一个扩展, MySQL支持可选地指定一个整型值显示的宽度,用括号跟在基本关键词之后(例如,INT(4))。这个可选的宽度指定被用于其宽度小于列指定宽度的值得左填补显示,但是不限制能在列中被存储的值的范围;如果某个特定值的可打印表示需要不止 M 个字符,则显示完全的值;不会将值截断以适合 M 个字符。当与可选的扩展属性ZEROFILL一起使用时,缺省的空格填补用零代替。例如,对于声明为INT(5) ZEROFILL的列,一个为4的值作为00004被检索。如果定义了一个没有明确宽度的整数列,将会自动分配给它一个缺省的宽度。缺省值为每种类型的“最长”值的长度。

我们可以这样知道M和D的缺省值。先创建一个表

CREATE TABLE number

(

tiny TINYINT,u_tiny TINYINT UNSIGNED,

small SMALLINT,u_small SMALLINT UNSIGNED,

medium MEDIUMINT,u_medium MEDIUMINT UNSIGNED,

num INT,u_num INT UNSIGNED,

big BIGINT,u_big BIGINT UNSIGNED

)

然后显示这个表的结构

DESCRIBE number

在MySQL3.23上的结果如下:

+----------+-----------------------+
| Field    | Type         |
+----------+-----------------------+
| tiny     | tinyint(4)    |
| u_tiny   | tinyint(3) unsigned |
| small    | smallint(6)      |
| u_small  | smallint(5) unsigned |
| medium   | mediumint(9)    |
| u_medium | mediumint(8) unsigned |
| num      | int(11)     |
| u_num    | int(10) unsigned  |
| big      | bigint(20)    |
| u_big    | bigint(20) unsigned|
+----------+-----------------------+


本文地址:http://www.cuug.com.cn/mysql/kecheng/12482232010.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区北清路164号28-38号院
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1