Sql запрос заменить одно значение на другое
UPDATE заменит значения текущих полей таблицы на новые значения.
SET устанавливает какие поля изменять и новые значения, которые нужно присвоить этим полям.
WHERE (если необходимо) — условие на изменение определенных записей. Если WHERE не указан, изменены будут все записи.
При указании параметра LOW_PRIORITY, выполнение UPDATE задержится пока другие клиенты читают таблицу.
Пример запроса на изменение всех записей поля «apple» таблицы «fruit» на определенное значение
Пример запроса с WHERE который изменяет определенную запись:
При изменении значения поля можно использовать его текущее значение.
Пример запроса увеличивающего значение поля price в 2 раза:
SET в UPDATE вычисляет выражения слева направо.
Пример запроса который удваивает цену (поле price), а потом уменьшает его на 10:
Запрос UPDATE возвратит количество полей, которые были изменены в этом запросе.
Использование LIMIT позволит изменять заданное количество записей.
При работе над проектом возникла задача: во всех статьях сайта обнаружить и заменить одно строковое значение, на другое. С учетом того, что таких страниц больше пяти сотен, в ручную заниматься этим, совершенно нерационально. Все страницы формируются из статей, размещенных в таблице БД. Следовательно, задача сводится к обработке всех записей таблицы, поиску в них нужного стокового значения и его замены на новое.
Часто для таких задач прибегают к использованию регулярных выражений или делают PHP-скрипт, который обрабатывает каждую строку по отдельности.
Но данную задачу гораздо проще выполнить простым SQL запросом. Для такой ситуации, SQL располагает функцией REPLACE. Эта функция позволяет очень просто удалить или заменить часть текста в строке.
REPLACE( "исходная строка" , "искомое значение" , [ "значение для замены" ] )
Замена значения в строке запросом SQL
Следовательно, для замены строки значения "10000" во всех строках таблицы на "15000", используем запрос:
UPDATE pages SET content = REPLACE (content, "10000" , "15000" );
Такой запрос обработает все строки таблицы pages, исправив значение поля content, если оно содержит искомую фразу "10000".
Удаление текста в строке запросом SQL
Для удаления используем подобный запрос, в котором укажем либо пустую строку третьим параметром, либо просто не указывая этот параметр:
UPDATE pages SET content = REPLACE (content, "10000" , "" );
UPDATE pages SET content = REPLACE (content, "10000" );
В результате, в каждой строке таблицы pages, во всех значений поля content будет удалено текстовое значение 10000.
* Подобный механизм можно использовать для очистки или замены тегов, но нужно быть внимательным. Так как здесь идет сравнение строк строго по равенству, то может возникнуть ошибка и теги, содержащие классы или стили удалены не будут.
Часто в таблицах базы данных требуется произвести поиск и замену слова или подстроки. Для таких действий в SQL есть специальная функция «Replace». Рассмотрим на примерах как она работает в MySQL.
Внимание! При массовой обработке данных в базах данных не забывайте предварительно делать резервную копию.
Допустим, у компании поменялось название и требуется его заменить в таблице «table_name» на новое. Для этого выполняем запрос на обновление поля «field_text» с использованием нашей функции.
В качестве параметров передаём содержимое текущего поля, подстроки для поиска и замены. Секцию «WHERE» можно опустить, но препочтительно чтобы операция «UPDATE» применялась только к тем записям, где предварительно обнаружилась искомая подстрока.
Удаление подстроки из таблицы
Для удаления произвольной подстроки используем ту же функцию, но последний параметр указываем пустым.
Добавление подстрок к полю
Существую случаи когда в начало или конец поля требуется что-то добавить. Например, новое предложение. В этих случая в SQL используют функцию объединения строк — «Concat».
Эту же задачу можно решить и спомощью «Replace». При этом появляется возможность добавлять подстроку в начало поля.
В примере к каждому полю таблицы в начало добавляется подстрока «START!», а в конец — « THE END!».
Приведённые SQL запросы можно выполнять как на PHP, так и через скрипты администрирования, вроде «phpMyAdmin».
Как в sql заменить одно значение на другое
Регистрация на форуме тут, о проблемах пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите восстановить пароль
Поиск по форуму |
Расширенный поиск |
К странице. |
Есть таблица в ячейке которой может быть либо 0 либо 1
Нужен запрос который вставит в ячейку 1 если там стоит 0. И наоборот.
В SQL Server, как заменить значение секунд на другое значение?
У dataGridView есть столбец DataGridViewTextBoxColumn , который считывается из моей базы данных. Мне нужно заменить одно значение на другое, например: Если в поле date у меня есть значение 00.00.0000 — мне нужно заменить его на текст absent . Как я могу это сделать?
В SQL Server, как написать запрос в случае ItemType = MD5 , а затем заменить значение Null на ‘NAM’ ? Country ItemType Null MD5
Похожие вопросы:
Я получаю результаты этого массива: Array ( [0] => Array ( [subscription_id] => 67 [user_id] => 156 [property_id] => 1036 [title] => Rotchild 50, Tel Aviv, Israel.
У меня есть столбец EntryDate в базе данных SQL Server. Как я могу установить значение NULL, чтобы заполнить его сегодняшней датой (серверным временем), если значение не было указано в запросе?
Я хочу заменить значение в A div на id show_num_val новым значением каждые 5 секунд. Для этого я написал следующее. <div 0 </div> В сценарии: <script>.
У dataGridView есть столбец DataGridViewTextBoxColumn , который считывается из моей базы данных. Мне нужно заменить одно значение на другое, например: Если в поле date у меня есть значение.
В SQL Server, как написать запрос в случае ItemType = MD5 , а затем заменить значение Null на ‘NAM’ ? Country ItemType Null MD5
Я хочу заменить значение null в вычисляемом столбце на 0 в запросе SQL Server. Это мой вопрос. SELECT Scenario, sum_amount + sum_cash + sum_tips AS total_earned FROM Cash_Scenario WHERE scenario_Id.
У меня есть разделенное запятыми значение типа 1,2,3,4 в одном столбце таблицы в моей базе данных SQL Server. Я хочу заменить определенное значение в строке, разделенной запятыми, то есть из 1,2,3 я.
Я использую базу данных, я смог получить все данные из базы данных и сохранить их в List<>., я внес изменения в List<>, используя DataGrid, и теперь я хочу заменить каждое значение базы данных.
Есть таблица (SQL Server 2017) по продажам товаров в магазинах, некоторые записи не имеют цены. +———+————-+———+———-+——-+ | year_id | week_number | good_id | store_id |.
Я хочу найти способ заменить значения NULL на последнее значение not NULL. У меня есть такой стол, как : Date Cost 2017-01-01 18.6046511 2017-01-03 22.9787234 2017-01-03 NULL 2017-01-12 18.8584937.
Как в таблице заменить значение столбца вычисленным значением?
childsCount было добавлено для скорости отклика и время от времени должно перекэшироваться. Мне такой подход не нравится, но идея не моя. Так вот, вопрос, как его вычислить, и заполнить?
Сам запрос, который вернет нужные значения выглядит так
В столбце ccount будет актуальное значение. Как перенести его в таблицу?
Можно, конечно, сделать через курсор, пройтись по всем строкам ответа, взять идентификаторы и по ним апдэйтнуть соответствующие строки таблицы. Но, возможно, есть способ без перебора?