Резервное копирование MySQL и восстановление из командной строки

Вы можете использовать подзапрос, чтобы получить первый год каждого client_id, сгруппированного по client_id, а затем подсчитать вхождение client_id, сгруппированного по году, так:

SELECT COUNT(client_id), YEAR_MIN FROM (
    SELECT client_id, MIN(YEAR(date)) AS YEAR_MIN 
    FROM   table 
    GROUP BY client_id) AS T
GROUP BY YEAR_MIN

[114 ] SQL Fiddle здесь

6
задан vahed 9 August 2015 в 13:31
поделиться

1 ответ

Включите параметр «--routines» для mysqldump, и он будет выводить процедуры.

РЕДАКТИРОВАТЬ # 1: Теперь ваша команда mysqldump должна выглядеть следующим образом:

mysqldump -u root -proot --routines Data1 > Datafile.mysql

РЕДАКТИРОВАТЬ # 2:
Вам также необходимо добавить параметр --add-drop-table, если вы хотите сохранить ваши представления. Причина в том, что представления создаются в два этапа (сначала как фиктивные таблицы, затем как реальные представления). Также обратите внимание, что таблицы и представления имеют одно и то же пространство имен, поэтому не вводите в заблуждение вывод команды «Показать таблицы» в mysqlclient. Вместо этого используйте «Show Create View vw_test», если эта команда показывает запрос на создание представления, а затем bingo, чтобы убедиться, что представления восстановлены правильно, вставьте некоторые данные в соответствующие таблицы в другой базе данных, а затем выполните запрос выбора на Посмотрите, если данные связаны, чем вы попадаете в глаза, погладьте себя по спине :), иначе вы всегда можете вернуться в это замечательное сообщество в Stackoverflow.

11
ответ дан 10 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: