В этой статье мы рассмотрим полезные SQL запросы, который могут нам помочь в рутинной работе: изменение текста, добавление к тексту, изменение цен. Пример рассмотрим на популярном движке для интернет-магазина Opencart. Структуру таблиц базы будет использовать от 2й версии Опенката. Перейдем сразу к конкретике.
SQL запрос к базе можно сделать 2-мя основными способами:
- Через phpMyAdmin или другое подобное приложение для работы с MySQL. Обычно в phpMyAdmin можно зайти через панель управления хостингом. Нужно выбрать нужную Вам базу и зайти во вкладку SQL b вставить приведенный ниже запросы, заранее подправив под свои нужды.
Теперь к самим примерам. Я привожу те случаи, с которыми я сталкивался, с моими цифрами, названиями таблиц и префиксами. Вы же должны подправить под свои данные!
1. Массовое изменение цены в Opencart
UPDATE `oc_product` SET `price` = `price` / 65.99;
Этот пример разделит все цены на 65.99, так мы можем перевести цены в рублях на доллары.
P.S позже опишу, как сделать цены в админке в валюте, а для пользователей в рублях.
Немного усложним, добавим условие
UPDATE `oc_product` SET `price` = `price` / 65.99 WHERE `oc_product`.`price` > 1;
Так мы сделаем те же действий, но для тех товаров, у которых цена больше 1
Аналогично, Вы можете добавить свои условия, по другим полям.
Допустим, Вам нужно увеличить цену на 7%
UPDATE `oc_product` SET `price` = `price` + (`price`/100*7) WHERE `oc_product`.`price` > 1;
Т.е в рамках запроса, мы можем производить математические действия +-*/.
Вычитаем 8% от товаров определенного производителя
UPDATE `oc_product` SET `price` = `price` — (`price`/100*8) WHERE `oc_product`.`manufacturer_id` = 54;
Сам manufacturer_id можете узнать в админке, зайдя в производители и наведя курсор на «Изменить». Там в ссылке Вы его и увидите. Или же посмотрите в базе oc_manufacturer.
2. Массовое изменение мета тегов в Opencart
Рассмотрим на таком примере, Вы собрали базу, импортировали, но в ней есть наименование Вашего поставщика. И нужно заменить его на Ваше название.
Изменяем метатег title
UPDATE `oc_product_description` SET `seo_title` = REPLACE(`seo_title`, ‘Фирма поставщика’, ‘Ваша фирма’);
Изменяем метатег description
UPDATE `oc_product_description` SET `meta_description` = REPLACE(`meta_description`, ‘Фирма поставщика’, ‘Ваша фирма’);
Изменяем метатег description
UPDATE `oc_product_description` SET `seo_h1` = REPLACE(`seo_h1`, ‘Фирма поставщика’, ‘Ваша фирма’);
Также можно добавить приставку Вашей фирмы в конце мет тегов, например тайтла. Для остальных по аналогии с вышеприведенными примерами.
UPDATE `oc_product_description` SET `seo_title` = CONCAT(`seo_title`, ‘Ваша фирма’);
Это основные примеры, которыми я пользуюсь. Они хорошо тем, что можно не использовать сторонние модули и тем более их покупать, если Вам это нужно проделывать не так часто. Или Вы часто создаете интернет магазины.
P.S Вы также можете использовать сразу несколько команд, каждая с новой строки и обязательно в конце каждой команты точка с запятой.
P.P.S Эти примеры касаются не только Opencart, Вы их можете использовать и на других сайтах, например, на Joomla, WordPress …