加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_镇江站长网 (https://www.0511zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL序列

发布时间:2022-09-17 15:09:37 所属栏目:MySql教程 来源:
导读:  MySQL序列

  MySQL中的序列是按特定需求按升序(1、2、3等)生成的整数的排列。数据库中使用序列来生成唯一编号。许多应用程序要求表的每一行都包含一个不同的值,例如student_table中的学生名册号,HR中的员
  MySQL序列
 
  MySQL中的序列是按特定需求按升序(1、2、3等)生成的整数的排列。数据库中使用序列来生成唯一编号。许多应用程序要求表的每一行都包含一个不同的值,例如student_table中的学生名册号,HR中的员工号,CRM中的客户ID等。为了实现这种类型的安排,我们使用了提供简单方法的序列生成它们。
 
  MySQL不提供任何内置函数来为表的行或列创建序列。但是我们可以通过SQL查询生成它。在本文中,我们将描述如何使用SQL查询在MySQL中创建序列。
 
  使用AUTO_INCREMENT创建序列
 
  在MySQL中创建序列的最简单方法是在表创建期间将列定义为AUTO_INCREMENT,该列应为主键列。
 
  以下是当我们对列使用AUTO_INCREMENT属性时应考虑的规则:
 
  例:
 
  让我们借助以下示例了解它。首先,我们需要创建一个新表,并确保有一列具有AUTO_INCREMENT属性,并且该列也作为PRIMARY KEY。
 
  执行以下查询以创建表:
 
  mysql> CREATE TABLE Insects (
     Id INT UNSIGNED NOT NULL AUTO_INCREMENT,
     PRIMARY KEY (id),
     Name VARCHAR(30) NOT NULL,
     Type VARCHAR(30) NOT NULL,
     Origin VARCHAR(30) NOT NULL
  );
  接下来,我们将在该表中插入几行,由于MySQL自动将其递增,因此无需为每行提供ID。
 
  mysql> INSERT INTO Insects (Name, Type, Origin) VALUES
      ('Cockroach', 'Crawling', 'Kitchen'),
 
      ('Mosquito', 'Flying', 'Driveway'),
      ('Spider' ,'Crawling', 'Court yard'),
      ('Grasshopper', 'Flying', 'Front yard');
  现在执行SELECT语句以验证记录:
 
  mysql> SELECT * FROM Insects;
  我们可以在下图中看到结果。
 
  在上图中,我们使用PRIMARY KEY和AUTO_INCREMENT选项定义了Id列,该列会自动递增此列并始终在其中存储唯一值。
 
  当我们执行INSERT查询时,我们不提供Id列的值,但是MySQL会自动为其生成一个序列。
 
  MySQL序列如何工作?
 
  MySQL中的AUTO_INCREMENT列包含以下属性:
 
  让我们看更多示例,以更好地理解MySQL序列的使用。
 
  在表中插入两个新记录。
 
  mysql> INSERT INTO Insects (Id, Name, Type, Origin) VALUES
  (6, 'Bee', 'Flying', 'Court yard'),
  (7, 'Ant', 'Crawling', 'Front yard');
 
  并执行SELECT语句以验证输出:
 
  接下来,我们将使用以下查询删除ID为6的昆虫:
 
  mysql> DELETE FROM Insects WHERE Id = 6;
  同样MySQL 序列使用,我们将使用以下语句在表中插入新行:
 
  mysql> INSERT INTO Insects (Name, Type, Origin) VALUES
  ('Cricket', 'Crawling', 'Front yard');
  我们将再次执行SELECT语句以查看输出:
 
  在上图中,我们可以看到MySQL不会重用已删除的序列号。这是因为Insects表的存储引擎是InnoDB。因此,插入查询将在昆虫表中将新序列添加为8。
 
  现在,我们将ID为3的现有昆虫更新为Id = 2:
 
  mysql> UPDATE Insects SET Name = 'Bee', Id = 2 WHERE Id = 3;
  MySQL发出了一个错误:键“ insects.PRIMARY”列的条目“ 2”重复。修复它
 
  mysql> UPDATE Insects SET Name = 'Bee', Id = 5 WHERE Id = 3;
 

(编辑:应用网_镇江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!