MySQL是一款广泛使用的关系型数据库管理系统,其中int类型是最常用的数据类型之一。在构建数据库时,要深入理解MySQL数据库中int类型的内部机制和使用方法,才能更好地使用和优化数据库。
10年建站经验, 成都做网站、成都网站建设客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
一、MySQL中的整型
MySQL支持多种整型,包括tinyint、allint、mediumint、int和bigint。其中,int类型是最常用的整型,因为int类型可以存储-2147483648 ~ 2147483647(4字节)的整数。如果需要存储更大的整数,则需要使用bigint类型,可以存储-9223372023854775808 ~ 9223372023854775807(8字节)的整数。
在MySQL中,整型可以使用有符号或无符号。有符号整型包括负数和正数,而无符号整型仅包括非负数。大多数时候,我们使用有符号整型,但在存储大整数时,可以考虑使用无符号整型。无符号整型比有符号整型可以存储更大的正整数。
二、MySQL中的int类型存储结构
MySQL中的int类型使用二进制补码存储,在计算机中25的二进制补码为10011,5的二进制补码为00101,那么25+5=30的二进制补码为10110,转换成十进制即为30。因此,计算机可以很好地处理二进制补码的数据类型。
在MySQL中,int类型占4个字节,可以存储-2147483648 ~ 2147483647的整数。int类型的取值范围如下表所示。
| 类型 | 最小值 | 更大值 |
| ————- | —————— | —————— |
| int | -2147483648 | 2147483647 |
| unsigned int | 0 | 4294967295 |
三、MySQL中的int类型使用方法
在MySQL中创建表时,我们需要选择每个字段的数据类型,包括int类型。
例如,我们可以使用以下命令创建一个包含id、name、age三个字段的表。
“`
CREATE TABLE student (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL DEFAULT ”,
age tinyint(4) NOT NULL DEFAULT ‘0’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
“`
在表中,id字段使用int(11)类型,在字段后面添加(11)表示字段宽度为11个字符,这个字符长度是确定的,并不是真正的数据长度。id字段还使用了AUTO_INCREMENT属性,表示在插入新记录时,自动为id字段分配唯一的自增值。
对于int类型的字段,还可以添加一些其他的属性,例如UNSIGNED、ZEROFILL、NOT NULL、DEFAULT等。
1. UNSIGNED
UNSIGNED属性表示该字段只可以存储非负整数,即无符号整型。
例如,我们可以使用以下命令创建一个只存储正整数的表。
“`
CREATE TABLE example (
id int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL DEFAULT ”,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
“`
2. ZEROFILL
ZEROFILL属性表示在取出数据时,不足位数的数据将用0填充。例如,如果一个字段的宽度为4,其值为9,则它的输出值为0009。
例如,我们可以使用以下命令创建一个width字段使用int类型且自动填充前导零的表。
“`
CREATE TABLE example (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL DEFAULT ”,
width int(11) ZEROFILL NOT NULL DEFAULT ”,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
“`
3. NOT NULL
NOT NULL属性表示该字段不可以为空,必须输入数据。
例如,我们可以使用以下命令创建一个age字段使用int类型且不为空的表。
“`
CREATE TABLE example (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL DEFAULT ”,
age int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
“`
4. DEFAULT
DEFAULT属性表示当该字段没有输入数据时,将默认赋值为指定的值。
例如,我们可以使用以下命令创建一个age字段使用int类型且使用默认值的表。
“`
CREATE TABLE example (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL DEFAULT ”,
age int(11) NOT NULL DEFAULT ’18’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
“`
四、MySQL中的int类型优化
在使用MySQL数据库时,我们通常需要考虑如何优化数据库性能,int类型也有一些优化技巧。
1. 使用正确的整型
在创建表时,我们需要根据字段的实际需要选择正确的整型,不要使用过大或过小的整型。如果使用过大的整型,将浪费存储空间,增加数据库负担。如果使用过小的整型,则存在存储不下的风险。
因此,需要根据实际需要合理选择整型大小。
2. 不要使用过多的int类型字段
在设计表结构时,应尽量避免使用过多的int类型字段,尽量使用其他类型字段进行数据存储。如果过多使用int类型,将增加数据库负担,也会占用更多的存储空间。在实际使用中,可以使用enum、varchar等类型进行数据存储,以减少int类型字段的使用。
3. 使用无符号整型
在存储非负整数时,应使用无符号整型。无符号整型比有符号整型可以存储更大的正整数,并且能够避免负数对存储空间的浪费。
4. 使用自增主键
在创建表时,建议使用自增主键。自增主键可以简化数据输入,也可以避免数据重复,实现快速查询。
在使用自增主键时,还需要注意以下几点:
(1) AUTO_INCREMENT值的起始值和步长,可以使用以下命令设置:
“`
ALTER TABLE tablename AUTO_INCREMENT = value;
ALTER TABLE tablename AUTO_INCREMENT = (SELECT MAX(id) + 1 FROM tablename);
“`
(2)自增id是无法跨分区使用的,因此,应该考虑在表的分区设计时,对自增id进行分区。
五、
在MySQL数据库中,int类型是最常用的数据类型之一。我们需要深入理解MySQL数据库中int类型的内部机制和使用方法,才能更好地使用和优化数据库。
在使用int类型时,需要根据实际需要选择正确的整型、避免使用过多的int类型字段、使用无符号整型以及使用自增主键等方法来优化数据库性能。
通过优化数据库的设计和使用方式,可以提高数据库的性能和可靠性,为业务提供更好的支持。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
mysql中将int类型的数字转换成
字符串
,只需要对要转换的数字使用concat方法即可,详细操作如下图。
示例如下:
拓展资料
可以使用命令行工具管理 MySQL 数据库(命令 mysql 和 mysqladmin),也可以从 MySQL 的网站下载图形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。
phpMyAdmin是由 php 写成的 MySQ L资料库系统管理程程序,让管理者可用 Web 界面管理 MySQL 资料库。
phpMyBackupPro也是由 PHP 写成的,可以透过 Web 界面创建和管理数据库。它可以创建伪 cronjobs,可以用来自动在某个时间或周期备份 MySQL 数据库。
另外,还有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager, navicat等等。
资料来源:
百度百科:mysql
MySQL 数字类型转换函数(concat/cast)。
1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′。
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串。
总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)。
扩展资料:
可用的类型:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
cast函数运行示例
参考资料:
mysql-百度百科
字段:number 是integer类型 在表test中
select cast(number as char) as number from test;
或者convert()方法。因为转换的时候mysql不支持转换成varchar所有要转成char.
/* 比如将123转换为char类型 */
SELECT CAST(123 AS CHAR);
/* 或者使用concat方法 */
SELECT CONCAT(123,”);
扩展资料:
Int是将一个数值向下取整为最接近的整数的函数。INT是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。
Basic函数
原型:Int(number)
类别:数学函数
返回值:Integer 类型
作用:求不大于number 的更大整数,Int(3.8)=3,Int(-3.8)=-4。
注意:int不能取整。取整要用fix。
举例:
Dim aa = Int(-32.9)Msgbox a
— 请叫我红领巾,不要问我为什么,有才就是这么任性
/* 比如将123转换为char类型 */
SELECT CAST(123 AS CHAR);
/* 或者使用concat方法 */
SELECT CONCAT(123,”);
/* 比如将123转换为char类型 */SELECT CAST(123 AS CHAR); /* 或者使用concat方法 */SELECT CONCAT(123,”);
— int
从 -2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
— bigint
从 -2^63 (775808) 到 2^63-1
(75807) 的整型数据(所有数字)。存储大小为 8 个字节。
P.S.
bigint已经有长度了,在mysql建表中的length,只是用于显示的位数
— allint
从 -2^15 (-32,768) 到 2^15 – 1 (32,767) 的整型数据。存储大小为
2 个字节。
— tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。
— 在支持整数值的地方支持 bigint 数据类型。但是,bigint 用于某些特殊的情况,当整数值超过 int 数据类型支持的范围时,就可以采用 bigint
— 在数据类型优先次序表中,bigint 位于 allmoney 和 int 之间。
只有当参数表达式是 bigint 数据类型时,函数才返回 bigint。
mysql数据库的int类型的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql数据库的int类型,深入理解MySQL数据库中的int类型,mysql中int型的数字怎么转换成字符串,mysql中int,bigint,allint和tinyint的区别与长度的信息别忘了在本站进行查找喔。
创新互联(cdcxhl.com)提供稳定的云服务器,香港云服务器,BGP云服务器,双线云服务器,高防云服务器,成都云服务器,服务器托管。精选钜惠,欢迎咨询:028-86922220。
当前名称:深入理解MySQL数据库中的int类型(mysql数据库的int类型)
分享路径:http://www.shufengxianlan.com/qtweb/news15/252065.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联