mysql的数据类型int、bigint、smallint 和 tinyint及id 类型变换

bigint
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

int
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

smallint
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

tinyint
从 0 到 255 的整型数据。存储大小为 1 字节。

有时MySQL创建表时存储设计过小,可以通过以下等方法查看修改:

1。 创建表的时候定义:
create table test ( id int primary key auto_increment)

2. 创建表的时候指定auto_increment的起始值
create table test(id int primary key auto_incrment) auto_increment = 100;
start with 100.... default is 1;

3.去掉自增属性后,其默认值将变为0
alter table test modify column id int;

4.为字段添加auto_increment属性
alter table test modify column id int auto_increment;

5. 修改字段的初始值
alert table test auto_increment = 200;

6. 怎样查看一个表的auto_increment的下一个自增ID值
我们知道getLastInsertID()属性只是获取插入记录之后的最大ID,并不是我们想要的,所以我们采用
show table status like ‘tablename‘, 里面包含Auto_increment的字段

第二:

use information_schema;
select Auto_increment from tables where table_name = ‘table_name‘;
其中information_schema一般用户无法访问.

7. 修改全局自增参数:
利用 show variables like ‘AUTO_INCREMENT% ‘;
我们将看到
auto_increment_increment, auto_increment_offset, 它们代表全局的起始值和步进,通过如下方式修改:
set auto_increment_increment = 100;
set auto_increment_offset = 10 ;
这将对全局的auto_increment列产生影响,建议慎用!

时间: 2024-10-12 07:49:58

mysql的数据类型int、bigint、smallint 和 tinyint及id 类型变换的相关文章

MySQL数据库中int,bigint,smallint和tinyint区别

最近使用MySQL数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容,留档做个总结: 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. P.S. bigint已经有长度了,在mysql建表中的len

Mysql中int,bigint,smallint和tinyint的范围

http://www.jb51.net/article/31946.htm 最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容,留档做个总结: 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为

MySQL整数数据类型int

一.int类型说明 id int(M) [UNSIGNED] [ZEROFILL] 字段名 字段类型(显示长度,创建表时不指定显示长度) [无符号] [前导填充] unsigned 01:int (M)后面加上unsigned,就是无符号,只可插入正整数,其范围: 0~4294967295; 02:4字节就是32位,那么2的32次方减1就是4294967295; 03:因为加了unsigned,就是正整数,也就是无符号,所以范围是0~4294967295; 04:4294967295的长度是10

mysql中int、bigint、smallint 和 tinyint的区别与长度的含义

最近使用mysql数据库的时候遇到了多种数字的类型,主要有int,bigint,smallint和tinyint.其中比较迷惑的是int和smallint的差别.今天就在网上仔细找了找,找到如下内容,留档做个总结: 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. P.S. bigint已经有长度了,在mysql建表中的len

mysql中int、bigint、smallint和tinyint的区别与长度

对比发现 int bigint smallint 和 tinyint 类型,如果创建新表时没有指定 int(M) 中的M时,默认分别是 : int             -------     int(11) bigint       -------     bigint(20) smallint   -------     smallint(6) tinyint     -------     tinyint(4) 下面是这几种类型的取值范围 参考:http://www.2cto.com/d

int、bigint、smallint 和 tinyint (Transact-SQL)

使用整数数据的精确数字数据类型. 数据类型 范围 存储 bigint -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 8 字节 int -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 4 字节 smallint -2^15 (-32,768) 到 2^15-1 (32,767) 2 字节 tinyint 0 到 255 1 字节 注释 int 数据类型是

mysql中int、bigint、smallint 和 tinyint四种数据类型

最近在做数据库表设计的时候,对于多种数字的数据类型的选择存在很多顾虑,不是很清楚到底如何选择.总结一下int.bigint.smallint 和 tinyint四种数据类型. bigint:从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节.bigint已经有长度了,在mysql建表中的length,只是用于显示的位数. int:从 -2^31 (-2,147,483,648)

mysql中bigint、int、mediumint、smallint 和 tinyint的取值范

mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下:1.bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到 18446744073709551615.一位为 8 个字节. 2.int 一个正常大小整数.有符号

mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围

mysql数据库设计,其中,对于数据性能优化,字段类型考虑很重要,搜集了些资料,整理分享出来,这篇为有关mysql整型bigint.int.mediumint.smallint 和 tinyint的语法介绍,如下:1.bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字),无符号的范围是0到 18446744073709551615.一位为 8 个字节. 2.int 一个正常大小整数.有符号