MySQL 如何在MySQL中创建和使用序列?

MySQL 如何在MySQL中创建和使用序列?

在MySQL中创建序列,可以在列上使用auto_increment。它从值1开始,每插入一条记录就增加1。

首先,可以使用CREATE table来创建一个表。其查询语句如下所示 –

mysql> CREATE table SequenceDemo
-> (
-> SequenceId int auto_increment,
-> primary key(SequenceId)
-> );
Query OK, 0 rows affected (1.22 sec)

创建表后,可以使用insert命令将记录插入表中,如下所示 –

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.19 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.14 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.10 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.09 sec)

在插入记录后,可以使用select语句来显示记录,如下所示 –

mysql> SELECT * from SequenceDemo;

得到以下输出 –

+------------+
| SequenceId |
+------------+
| 1          |
| 2          |
| 3          |
| 4          |
| 5          |
+------------+
5 rows in set (0.00 sec)

可以使用alter命令设置序列。其语法如下 –

alter table yourTableName auto_increment=Somevalue;

下面的查询中使用以上语法来设置序列值 –

mysql> alter table SequenceDemo auto_increment = 500;
Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0

之后,从500开始在表中插入记录,如下 –

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into SequenceDemo values();
Query OK, 1 row affected (0.05 sec)

使用select语句可以显示所有记录,如下 –

mysql> SELECT * from SequenceDemo;

输出如下 –

+------------
| SequenceId |
+------------
| 1          |
| 2          |
| 3          |
| 4          |
| 5          |
| 500        |
| 501        |
| 502        |
+------------+
8 rows in set (0.00 sec)

从上面的输出可以看出,插入了5条记录之后,序列ID从500开始,并每次递增1。

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程