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      |         |               |
+---------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

Индексы в MySQL (ruhighload) Индексы в MySQL: многоколоночные индексы против комбинированных индексов :habr: Основы индексирования и возможности EXPLAIN


https://andreyex.ru/bazy-dannyx/bd-mysql/vnutrennee-soedinenie-mysql/

https://andreyex.ru/bazy-dannyx/uchebnoe-posobie-po-sql/sql-strokovye-funkcii/

https://andreyex.ru/bazy-dannyx/uchebnoe-posobie-po-sql/sql-chislovye-funkcii/

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/

MariaDB Connector/Python

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