首页 > 数据库 > MySQL > 正文

mysql int类型存储时需要几字节

2024-07-24 12:34:22
字体:
来源:转载
供稿:网友
  MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件。
 
  其中int类型:
 
  类型名称 说明 存储需求
  INT 普通大小的整数 4个字节
  在MySQL中,INT代表标准整数,它可以是1,100,4,-10等,它不能是1.2,5/3等。整数可以是零,正和负。
 
  MySQL INT数据类型可以是有符号或无符号。
 
  类型 有符号 无符号
  最小值 最大值 最小值 最大值
  INT -2147483648(-216) 2147483647(-216) 0 4294967295(-232)
  在列中使用INT
 
  因为整数类型表示确切的数字,所以通常将它用作表的主键。此外,INT列可以具有 AUTO_INCREMENT 属性,这样每增加一条记录,int列数据会自动以相同步长进行增长。
 
  当你 插入一个NULL值或0到INT AUTO_INCREMENT列,列的值设置为下一个序列值。请注意,序列值以1开头。
 
  当您向AUTO_INCREMENT列中插入一个非零或零值时,列将接受NULL值。此外,序列被重置为插入值的下一个值。
 
  让我们看一个使用带AUTO_INCREMENT  属性的整数列的表的示例  。
 
  首先,使用以下语句创建一个新表items以整数列作为主键:
 
  CREATE TABLE items (
      item_id INT AUTO_INCREMENT PRIMARY KEY,
      item_text VARCHAR(255)
  );
  您可以在CREATE TABLE上使用INT或INTEGER,因为它们相等的。无论何时向items表中插入新行,item_id列的值都会增加1。
 
  接下来,以下INSERT语句在items表中插入三行。
 
  INSERT INTO items(item_text)
  VALUES('laptop'), ('mouse'),('headphone');
  然后,使用以下SELECT语句从items表中查询数据:
 
  SELECT
      *
  FROM
      items;
 
  之后,插入一个新行,明确指定item_id的值。
 
  INSERT INTO items(item_id,item_text)
  VALUES(10,'Server');
  由于item_id列的当前值为  10,序列将重置为11.如果插入新行,则AUTO_INCREMENT列将使用11作为下一个值。
 
  INSERT INTO items(item_text)
  VALUES('Router');
  最后,再次查询items表的数据以查看结果。
 
  SELECT
      *
  FROM
      items;
 
  注意:自MySQL 5.1以来,AUTO_INCREMENT列仅接受正值。AUTO_INCREMENT列不支持负值  。
 
  拓展
 
  加上 AUTO_INCREMENT 约束条件后,字段中的每个值都是自动增加的。因此,这个字段不可能出现相同的值。通常情况下,AUTO_INCREMENT 都是作为 id 字段的约束条件,并且将 id 字段作为表的主键。

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表