Сортируем строки в выборке в натуральном порядке (1,2,...,10,11)

mysql> select * from numbers order by value;
+----------+
| value    |
+----------+
| value 1  |
| value 10 |
| value 11 |
| value 12 |
| value 13 |
| value 2  |
| value 3  |
+----------+
7 rows in set (0.00 sec)
mysql> select * from numbers order by length(value), value;
+----------+
| value    |
+----------+
| value 1  |
| value 2  |
| value 3  |
| value 10 |
| value 11 |
| value 12 |
| value 13 |
+----------+
7 rows in set (0.00 sec)

Клонируем удалённую базу данных в нашу локальную

$ ssh moskva 'mysqldump mbs | gzip' | gunzip | mysql mbs

Отключить внутренний кэш для всех запросов в рамках данной сессии. При разработке благодаря этому будет всегда видно реальное время выполнения запроса

SET SESSION query_cache_type=0;

Добавляем нового пользователя в СУБД MySQL с одновременным присваиванием ему во владения вашей БД:

GRANT ALL PRIVILEGES ON наша_база.* TO 'наш_пользователь'@'localhost'
IDENTIFIED BY 'наш_пароль' WITH GRANT OPTION;

Сбрасываем auto_increment в таблице

alter table ai_test drop column id;
alter table ai_test add column id int auto_increment primary key;

Заставляем поле timestamp не изменять своё значение при изменении строки

ALTER TABLE timer CHANGE time time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

Проверить на существование таблицу в базе данных

SHOW TABLES LIKE "users";
+-----------------------+
| Tables_in_site (users) |
+-----------------------+
| users                 |
+-----------------------+
1 row in set (0.00 sec)

Вывести список всех пользователей в базе данных

select distinct(user) from mysql.user;
+------------------+
| user             |
+------------------+
| root             |
| bishon           |
| dogs             |
| mbs              |
| test             |
| whoop            |
+------------------+
6 rows in set (0.06 sec)

Добавляем столбец в таблицу

ALTER TABLE blog_comments ADD spam INT DEFAULT 0;

Сменить кодировку базы данных

alter database mydatabase charset=utf8;

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

alter table some_table convert to character set utf8;

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

alter table mytable alter column mycol charset=utf8;

Не обновлять поле timestamp при выполнении запроса

UPDATE table SET x=y, timestampColumn=timestampColumn WHERE a=b;

Отсортировать в произвольном порядке записи

SELECT * FROM user where id <= 3 order by field(`id`, 2, 3, 1)

Вывести список баз данных без заголовка

echo 'show databases' | mysql -N | grep -v information_schema | grep -v performance_schema
mbs2013
mbs2014
mbs2015
najomi
pir2013
pir2014
pir2015

Указать, какой файл с настройками использовать для соединения с сервером

$ mysql --defaults-extra-file=prj/.my.cnf 

Посмотреть какие пользователи подключены к серверу и какие запросы выполняются

show full processlist

Проставить в поле сортировки значения через 10. Полезно, если используется некое числовое поле sort в ORDER BY. В этом случае для перемещения записи А между двумя другими B и С, достаточно присвоить A.sort значение между B.sort и C.sort После этого надо привести нумерацию в порядок: my_table - имя таблицы, sort_field - имя поля сортировки

DROP TEMPORARY TABLE IF EXISTS tmp_sort_table;
CREATE TEMPORARY TABLE tmp_sort_table (
  id BIGINT,
  sort BIGINT,
  PRIMARY KEY(id)
);
set @row_num = 0;
INSERT INTO tmp_sort_table (id, sort)
SELECT
  id, @row_num := @row_num + 10 as row_index
FROM `my_table` ORDER BY `sort_field` ASC;
UPDATE `my_table` AS t_upd
  INNER JOIN tmp_sort_table AS t_src ON t_upd.id = t_src.id
SET t_upd.`sort_field` = t_src.`sort`;
DROP TEMPORARY TABLE IF EXISTS tmp_sort_table;
-----------
-----------