В этой статье мы рассмотрим полезные SQL запросы, который могут нам помочь в рутинной работе: изменение текста, добавление к тексту, изменение цен. Пример рассмотрим на популярном движке для интернет-магазина Opencart. Структуру таблиц базы будет использовать от 2й версии Опенката. Перейдем сразу к конкретике.

  В этой статье мы рассмотрим полезные SQL запросы, который могут нам помочь в рутинной работе: изменение текста, добавление к тексту, изменение цен.

SQL запрос к базе можно сделать 2-мя основными способами:

  • Через phpMyAdmin или другое подобное приложение для работы с MySQL. Обычно в phpMyAdmin можно зайти через панель управления хостингом. Нужно выбрать нужную Вам базу и зайти во вкладку SQL b вставить приведенный ниже запросы, заранее подправив под свои нужды.
Через систему восстановления Opencart. Для этого перейдите Система - Инструменты - Бэкап / Восстановление. Далее выберите заранее подготовленный файл с SQL запросом (создайте в текстовом редакторе файл с расширением sql и в него добавьте код) нажмите кнопку (вверху справа) восстановить.
Через систему восстановления Opencart. Для этого перейдите Система — Инструменты — Бэкап / Восстановление. Далее выберите заранее подготовленный файл с SQL запросом (создайте в текстовом редакторе файл с расширением sql и в него добавьте код) нажмите кнопку (вверху справа) восстановить.

Теперь к самим примерам. Я привожу те случаи, с которыми я сталкивался, с моими цифрами, названиями таблиц и префиксами. Вы же должны подправить под свои данные!

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 …

От admin