Полезные SQL-запросы к базе данных
Изменение порядка столбцов
Имеется | Таблица `articles` с полями `id`, `text`, `title` |
---|---|
Нужно | Поменять местами `text` и `title` |
-
Определяем значения полей, которые использовались при создании таблицы:
Примерный результат:SHOW CREATE TABLE `articles`
CREATE TABLE `articles` ( `id` int(3) unsigned NOT NULL AUTO_INCREMENT, `text` text NOT NULL, `title` varchar(255) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8
-
Копируем значения поля `title` (от `title` до запятой):
`title` varchar(255) NOT NULL
-
Формируем запрос, который поместит поле `title` после `id`:
ALTER TABLE `articles` MODIFY `title` varchar(255) NOT NULL AFTER `id`
Данные также переместятся ☺.
Поиск и замена
UPDATE `таблица` SET `поле` = replace (`поле`, 'что+найти', 'на+что+заменить');
Поиск осуществляется с учётом регистра.
Можно также просто сделать экспорт базы данных в формате sql
, открыть полученный файл в текстовом редакторе с поддержкой поиска и замены (например, Notepad++), найти и заменить нужный текст; а после, импортировать изменённый sql-файл обратно в базу данных.
Удаление лишних пробелов
UPDATE `таблица` SET `поле` = replace(`поле`,' ','');
Данный запрос удалит двойные (' ') пробелы из указанного поля соответствующей таблицы.