MySQL

Добавить столбец с порядковым номером строк в запросе

К сожалению в MySQL нет стандартной функции, которая бы отдавала нам порядковый номер каждой строки. В других базах данных она есть. В ORACLE для этого есть переменная rownum, а в PostgreSQL и msSQL функция ROW_NUMBER().

Пишем свой вариант для MySQL:

set @n:=0;
Query OK, 0 rows affected (0.000 sec)
select @n:=@n+1 as num, lname, fname, year from prot;
+------+-----------+-----------+------+
| num  | lname     | fname     | year |
+------+-----------+-----------+------+
|    1 | Кот       | Кот       | 2007 |
|    2 | Тка       | Тка       | 2007 |
|    3 | Дор       | Дор       | 2007 |
|    4 | Вла       | Вла       | 2007 |
|    5 | Мел       | Мел       | 2008 |
|    6 | Мал       | Мал       | 2008 |
|    7 | Син       | Син       | 2008 |
|    8 | Оле       | Оле       | 2007 |
|    9 | Бор       | Бор       | 2007 |
|   10 | Рик       | Рик       | 2008 |
...

еще: http://www.sql-tutorial.ru/ru/book_row_number_function/page2.html

Посмотреть все индексы таблицы

SHOW INDEX FROM table_name;
mysql> show index from rank_st;
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table   | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| rank_st |          0 | PRIMARY  |            1 | id          | A         |         416 |     NULL | NULL   |      | BTREE      |         |               |
| rank_st |          1 | key_main |            1 | course      | A         |           2 |     NULL | NULL   |      | BTREE      |         |               |
| rank_st |          1 | key_main |            2 | gender      | A         |           4 |     NULL | NULL   |      | BTREE      |         |               |
| rank_st |          1 | key_main |            3 | stroke      | A         |          19 |     NULL | NULL   |      | BTREE      |         |               |
| rank_st |          1 | key_main |            4 | dist        | A         |          69 |     NULL | NULL   |      | BTREE      |         |               |
| rank_st |          1 | key_main |            5 | mstime      | A         |         416 |     NULL | NULL   |      | BTREE      |         |               |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

https://andreyex.ru/bazy-dannyx/10-rasprostranennyh-oshibok-programmirovaniya-na-sql-i-kak-ih-izbezhat/

https://andreyex.ru/bazy-dannyx/baza-dannyx-mysql/11-osnovnyx-primerov-komandy-update-v-mysql/

https://andreyex.ru/mysql/peremennye-mysql/ + https://andreyex.ru/mysql/peremennaya-select-into-v-mysql/

https://andreyex.ru/mysql/vybor-sluchajnyh-zapisej-v-mysql/

https://andreyex.ru/mysql/kak-sbrasyvat-znacheniya-avtoinkrementa-v-mysql/

https://andreyex.ru/mysql/mariadb-protiv-mysql/

https://andreyex.ru/mysql/kak-sopostavit-znacheniya-null-s-drugimi-znachimymi-znacheniyami/

https://andreyex.ru/mysql/mysql-kommentarii-v-glubinu/

Как установить PostgreSQL на Ubuntu 20.04