Небольшой набор приёмов MySQL, которые могут пригодиться в работе напрямую с базой данных.
Перенумеровать все строки в таблице
set @a = 0; UPDATE `table_name` SET `id`= @a:=@a+1;
Замена подстрок в тексте
UPDATE `table_name` SET `column_name`= replace(column_name, 'substring', 'replacement');
Может понадобиться, например когда вы перенесли старый сайт на новую платформу, и нужно перепрописать новые пути ко всем картинкам в контенте.
Копирование таблицы
CREATE TABLE `new_table` SELECT * FROM `old_table`;
или
CREATE TABLE `new_table` LIKE `old_table`; INSERT INTO `new_table` (SELECT * FROM `old_table`);
Касаемо работы с внутренней структурой MODX
Поиск неиспользуемых шаблонов MODX
SELECT id,templatename FROM `modx_site_templates` WHERE id NOT IN (SELECT template FROM `modx_site_content`)
Количество документов, в каждом шаблоне MODX
SELECT c.template, COUNT(c.id) as `Количество`,t.templatename FROM `modx_site_content` as c, modx_site_templates as t WHERE c.template=t.id GROUP BY c.template
Количество документов, в каждом шаблоне MODX, вариант 2, через LEFT JOIN
SELECT t.id,t.templatename,COUNT(t.id) as Количество FROM `modx_site_templates` as t LEFT JOIN modx_site_content as c ON t.id=c.template GROUP BY c.template