Главная » 2012 Январь 28 » Интересные и полезные запросы MySQL
09:55 Интересные и полезные запросы MySQL |
Источник: plutov.by Выбор записей с повторяющимся значением поля N раз. Замените в запросе N на конкретное число. Code SELECT * FROM `table_name` GROUP BY `column_name` HAVING COUNT(*) = N; Событие, которое срабатывает 1 раз в час и удаляет записи из таблицы. Code SET GLOBAL `event_scheduler` = ON; CREATE EVENT `hourly_event` ON SCHEDULE EVERY 1 HOUR DO DELETE FROM `table_name`; Получение название сущности, которая является первичным ключом в таблице. Code SELECT `COLUMN_NAME` FROM `information_schema`.`COLUMNS` WHERE `TABLE_NAME` = 'table_name' AND `COLUMN_KEY` = 'PRI'; Получение размера баз данных MySQL. Code SELECT `table_schema` AS `Db name`, ROUND(SUM(`data_length` + `index_length`) / 1024 / 1024, 3) AS 'Db size(MB)' FROM `information_schema`.`tables` GROUP BY `table_schema`; Получение одной случайной записи. Code SELECT * FROM `table_name` ORDER BY RAND() LIMIT 1; Получение записей с повторяющимися значениями поля и количества повторений. Code SELECT `column_name`, COUNT(`column_name`) AS `count` FROM `table_name` GROUP BY `column_name` HAVING `count` > 1; Поиск двух обратных слэшей. Запрос найдет все записи, в которых присутствует "\\". Code SELECT * FROM `table_name` WHERE `column_name` LIKE '%\\\\\\\\%'; Удаление первой строки из таблицы без использования WHERE условия. Code DELETE TOP 1 FROM `table_name`; Данный запрос сгруппирует все записи по `column_name` с максимальной датой для текущего значения. Code SELECT * FROM `table_name` AS `t1` WHERE `column_date` = (SELECT MAX(`column_date`) FROM `table_name` AS `t2` WHERE `t1`.`column_name` = `t2`.`column_name`); Выборка информации о внешних ключах таблицы. Code SELECT `COLUMN_NAME`, `CONSTRAINT_NAME`, `REFERENCED_TABLE_NAME`, `REFERENCED_COLUMN_NAME` FROM `information_schema`.`KEY_COLUMN_USAGE` WHERE `TABLE_NAME` = 'table_name' AND `CONSTRAINT_NAME` <> 'PRIMARY'; |
|
Всего комментариев: 1 | ||
| ||