Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създадете последователност в MySQL

Понякога може да се наложи да генерирате последователност в MySQL. Тъй като MySQL няма вградена функция за създаване на последователност, трябва да я генерирате чрез SQL заявка. Ето как да създадете последователност в MySQL с помощта на MySQL заявка за последователност.

Как да създадете последователност в MySQL

Ето стъпките за създаване на последователност в MySQL. Има различни начини за генериране на последователност в MySQL.

Създайте последователност с помощта на AUTO_INCREMENT

Можете просто да съхранявате вашата MySQL последователност в колона, като използвате атрибут AUTO_INCREMENT по време на създаване на таблица. Да приемем, че искате да създадете таблица поръчки(id, order_date, amount) и съхранявайте последователността в id колона.

mysql> create table orders(id int AUTO_INCREMENT PRIMARY KEY, 
        order_date date, amount int);

mysql> insert into orders(order_date,  amount)
      values('2020-08-01', 250),
       ('2020-08-02',125),
       ('2020-08-03',300);

mysql> select * from orders;
+----+------------+--------+
| id | order_date | amount |
+----+------------+--------+
|  1 | 2020-08-01 |    250 |
|  2 | 2020-08-02 |    125 |
|  3 | 2020-08-03 |    300 |
+----+------------+--------+

В горната таблица ние дефинираме id колона като наш първичен ключ и включете опция AUTO_INCREMENT за автоматично увеличаване и съхраняване на стойностите на първичния ключ в нея.

Моля, имайте предвид, че MySQL ви позволява да имате само една колона AUTO_INCREMENT на таблица и това също като първичен ключ.

В горната заявка INSERT предоставяме само стойности за order_date и сума колони, но не и id колона, но MySQL автоматично генерира последователност за нея.

Бонус четене:Как да сравним две таблици в MySQL

Създаване на последователност без използване на AUTO_INCREMENT

Да кажем, че искате да създадете друга колона с последователност, без да използвате AUTO_INCREMENT. В този случай ще трябва да използвате израза UPDATE, за да изчислите математически и да попълните тази колона с последователност.

Например, нека добавим последователност колона към горната таблица, за да съхраните нова последователност.

mysql> alter table orders 
add column sequence int;

Бонус четене:Как да копирам таблица в MySQL

След това използваме оператор UPDATE, за да създадем последователност в MySQL. Ще създадем последователност, която е два пъти id стойност на колоната

mysql> update orders
       set sequence=2*id;

mysql> select * from orders;
+----+------------+--------+----------+
| id | order_date | amount | sequence |
+----+------------+--------+----------+
|  1 | 2020-08-01 |    250 |        2 |
|  2 | 2020-08-02 |    125 |        4 |
|  3 | 2020-08-03 |    300 |        6 |
+----+------------+--------+----------+

Бонус четене:Как да получите данни за последния месец в MySQL

Можем също да създадем нелинейна последователност, като актуализираме формулата, използвана в израза UPDATE. Ето SQL заявката за генериране на поредица от квадратни стойности (y x y) на id колона

mysql> update orders
      set sequence=id*id;

mysql> select * from orders;
+----+------------+--------+----------+
| id | order_date | amount | sequence |
+----+------------+--------+----------+
|  1 | 2020-08-01 |    250 |        1 |
|  2 | 2020-08-02 |    125 |        4 |
|  3 | 2020-08-03 |    300 |        9 |
+----+------------+--------+----------+

Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да видите индекси за база данни или таблица в MySQL?

  2. Как да създадете таблица в MySQL

  3. MySQL преобразува изхода timediff във формат ден, час, минута, секунда

  4. Как работи функцията OCT() в MySQL

  5. MySQL WITH клауза