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 教程