HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>SQL и MySQL</a><ul><li><a>Задачи SQL</a></li>
1 <ul><li><a>SQL и MySQL</a><ul><li><a>Задачи SQL</a></li>
2 </ul></li>
2 </ul></li>
3 <li><a>Форма записи обновления</a><ul><li><a>Одна таблица</a></li>
3 <li><a>Форма записи обновления</a><ul><li><a>Одна таблица</a></li>
4 <li><a>Несколько таблиц</a></li>
4 <li><a>Несколько таблиц</a></li>
5 </ul></li>
5 </ul></li>
6 <li><a>Подготовка примера</a></li>
6 <li><a>Подготовка примера</a></li>
7 <li><a>Все строки</a></li>
7 <li><a>Все строки</a></li>
8 <li><a>Строки с условием</a></li>
8 <li><a>Строки с условием</a></li>
9 <li><a>Значения с выражением</a></li>
9 <li><a>Значения с выражением</a></li>
10 <li><a>С Default</a></li>
10 <li><a>С Default</a></li>
11 <li><a>Несколько сразу</a></li>
11 <li><a>Несколько сразу</a></li>
12 <li><a>Ограничения</a></li>
12 <li><a>Ограничения</a></li>
13 <li><a>Обновление нескольких таблиц</a></li>
13 <li><a>Обновление нескольких таблиц</a></li>
14 <li><a>Объединение Inner Join</a><ul><li><a>Объединение "слева"</a></li>
14 <li><a>Объединение Inner Join</a><ul><li><a>Объединение "слева"</a></li>
15 <li><a>Условные операторы</a></li>
15 <li><a>Условные операторы</a></li>
16 <li><a>С сортировкой</a></li>
16 <li><a>С сортировкой</a></li>
17 <li><a>На основе других таблиц</a></li>
17 <li><a>На основе других таблиц</a></li>
18 </ul></li>
18 </ul></li>
19 </ul><p>Обновление данных в таблицах SQL - одна из базовых операций, с которой предстоит столкнуться пользователю при работе с СУБД MySQL. В качестве обновления (update) подразумевается изменение значений в ранее созданных и на текущий момент существующих записях таблицы. Возможно несколько вариантов реализации:</p>
19 </ul><p>Обновление данных в таблицах SQL - одна из базовых операций, с которой предстоит столкнуться пользователю при работе с СУБД MySQL. В качестве обновления (update) подразумевается изменение значений в ранее созданных и на текущий момент существующих записях таблицы. Возможно несколько вариантов реализации:</p>
20 <ul><li>изменение значений полей в группе строк;</li>
20 <ul><li>изменение значений полей в группе строк;</li>
21 <li>корректировка поля для отдельной строчки.</li>
21 <li>корректировка поля для отдельной строчки.</li>
22 </ul><p>Чтобы уметь работать с облачными и локальными базами данных, пользователям необходимо изучить синтаксис SQL-команд. Далее предстоит рассмотреть основы обновления данных в заданной таблице. Необходимо изучить различные варианты применения update в MySQL. Эта информация будет особо полезна новичкам, но и опытным пользователям она тоже пригодится.</p>
22 </ul><p>Чтобы уметь работать с облачными и локальными базами данных, пользователям необходимо изучить синтаксис SQL-команд. Далее предстоит рассмотреть основы обновления данных в заданной таблице. Необходимо изучить различные варианты применения update в MySQL. Эта информация будет особо полезна новичкам, но и опытным пользователям она тоже пригодится.</p>
23 <h2>SQL и MySQL</h2>
23 <h2>SQL и MySQL</h2>
24 <p>Перед изучением табличных обновлений необходимо понять, что собой представляют MySQL и SQL. Связано это с тем, что новички не всегда знают, с чем им предстоит работать.</p>
24 <p>Перед изучением табличных обновлений необходимо понять, что собой представляют MySQL и SQL. Связано это с тем, что новички не всегда знают, с чем им предстоит работать.</p>
25 <p>SQL - язык запросов. Стандарт для работы с таблицами в базах данных. Его можно использовать не только для обновления, но и для других операций. Примеры - выборка, удаление. Язык структурированных запросов позволяет работать с большим объемом информации. Происходят соответствующие операции в специальных средах. Они называются "системы управления БД".</p>
25 <p>SQL - язык запросов. Стандарт для работы с таблицами в базах данных. Его можно использовать не только для обновления, но и для других операций. Примеры - выборка, удаление. Язык структурированных запросов позволяет работать с большим объемом информации. Происходят соответствующие операции в специальных средах. Они называются "системы управления БД".</p>
26 <p>MySQL - это и есть СУБД. Представляет собой свободную реляционную систему управления БД. Это - наиболее распространенный продукт для малого и среднего бизнеса. В основном используется в качестве отдельного сервера. К нему обращаются локальные и удаленные клиенты.</p>
26 <p>MySQL - это и есть СУБД. Представляет собой свободную реляционную систему управления БД. Это - наиболее распространенный продукт для малого и среднего бизнеса. В основном используется в качестве отдельного сервера. К нему обращаются локальные и удаленные клиенты.</p>
27 <p>В официальный дистрибутив MySQL включена собственная библиотека для работы внутреннего сервера. Вместе с ней удастся подключать к СУБД автономные приложения и программы.</p>
27 <p>В официальный дистрибутив MySQL включена собственная библиотека для работы внутреннего сервера. Вместе с ней удастся подключать к СУБД автономные приложения и программы.</p>
28 <h3>Задачи SQL</h3>
28 <h3>Задачи SQL</h3>
29 <p>Задачами SQL-запросов (queries) являются такие операции как:</p>
29 <p>Задачами SQL-запросов (queries) являются такие операции как:</p>
30 <ol><li>Извлечение запрашиваемых сведений из ячеек таблиц баз данных. Происходит это через запрос, отправляемый пользователем.</li>
30 <ol><li>Извлечение запрашиваемых сведений из ячеек таблиц баз данных. Происходит это через запрос, отправляемый пользователем.</li>
31 <li>Операции с данными. Сюда можно отнести добавление новых компонентов в таблицу, обновление, удаление, сортировку.</li>
31 <li>Операции с данными. Сюда можно отнести добавление новых компонентов в таблицу, обновление, удаление, сортировку.</li>
32 <li>Идентификация информации из БД. Речь идет об определении отдельно взятых компонентов. Пример - числа в тесте используются в качестве целых чисел для дальнейшей обработки.</li>
32 <li>Идентификация информации из БД. Речь идет об определении отдельно взятых компонентов. Пример - числа в тесте используются в качестве целых чисел для дальнейшей обработки.</li>
33 <li>Управление имеющимися информационными таблицами.</li>
33 <li>Управление имеющимися информационными таблицами.</li>
34 <li>Защита и шифрование таблиц.</li>
34 <li>Защита и шифрование таблиц.</li>
35 </ol><p>Синтаксис SQL делится на несколько частей: для решение семантических задач, для непосредственной организации управления информацией в БД и для выдачи пользователям прав на отдельные единицы данных.</p>
35 </ol><p>Синтаксис SQL делится на несколько частей: для решение семантических задач, для непосредственной организации управления информацией в БД и для выдачи пользователям прав на отдельные единицы данных.</p>
36 <h2>Форма записи обновления</h2>
36 <h2>Форма записи обновления</h2>
37 <p>Далее предстоит рассмотреть особенности обновления данных при помощи SQL запросов. Для этого нужно изучить специальный оператор, а также форму его представления.</p>
37 <p>Далее предстоит рассмотреть особенности обновления данных при помощи SQL запросов. Для этого нужно изучить специальный оператор, а также форму его представления.</p>
38 <p>Ключевой оператор обновления в SQL - update. Обновить таблицу удастся последовательно от первой до последней строчки по порядку. В зависимости от типа обновления в MySQL нужно выделить два синтаксиса для update в SQL. Первый вариант используется для работы с одной таблицей, второй - для нескольких.</p>
38 <p>Ключевой оператор обновления в SQL - update. Обновить таблицу удастся последовательно от первой до последней строчки по порядку. В зависимости от типа обновления в MySQL нужно выделить два синтаксиса для update в SQL. Первый вариант используется для работы с одной таблицей, второй - для нескольких.</p>
39 <h3>Одна таблица</h3>
39 <h3>Одна таблица</h3>
40 <p>В случае, когда необходимо обновить информацию в одной таблице, рекомендуется использовать следующую форму записи:</p>
40 <p>В случае, когда необходимо обновить информацию в одной таблице, рекомендуется использовать следующую форму записи:</p>
41 <p>Обязательным параметром здесь служит только SET assignment_list. Он указывает на то, какие столбцы нужно изменить, а также способ внесения изменений.</p>
41 <p>Обязательным параметром здесь служит только SET assignment_list. Он указывает на то, какие столбцы нужно изменить, а также способ внесения изменений.</p>
42 <p>К необязательным параметрам в операторе update относят:</p>
42 <p>К необязательным параметрам в операторе update относят:</p>
43 <ol><li>Low_Priority. Если он указан, то обновление будет отложено до тех пор, пока другой клиент не решит посмотреть информацию в таблице.</li>
43 <ol><li>Low_Priority. Если он указан, то обновление будет отложено до тех пор, пока другой клиент не решит посмотреть информацию в таблице.</li>
44 <li>Ignore - сценарий, который не прерывает выполнение update from даже при возникновении ошибок. Если появляются дубликаты в столбце с уникальным ключом, то строки не обновляются.</li>
44 <li>Ignore - сценарий, который не прерывает выполнение update from даже при возникновении ошибок. Если появляются дубликаты в столбце с уникальным ключом, то строки не обновляются.</li>
45 <li>Where where_condition - оператор, задающий условия обновления данных. Если здесь нет никаких параметров, update будет применяться для всех строк в указанной таблице.</li>
45 <li>Where where_condition - оператор, задающий условия обновления данных. Если здесь нет никаких параметров, update будет применяться для всех строк в указанной таблице.</li>
46 <li>Order by. Этим выражением устанавливается сортировка. Строки будут обновляться в заданном порядке.</li>
46 <li>Order by. Этим выражением устанавливается сортировка. Строки будут обновляться в заданном порядке.</li>
47 <li>Limit row_count - ограничение на количество обновляемых strings. Считаться будут все строки, попадающие под условие were, независимо от факта внесения в них тех или иных изменений.</li>
47 <li>Limit row_count - ограничение на количество обновляемых strings. Считаться будут все строки, попадающие под условие were, независимо от факта внесения в них тех или иных изменений.</li>
48 </ol><p>Это - базовая форма представления оператора update в MySQL. Она применяется только для одной таблицы.</p>
48 </ol><p>Это - базовая форма представления оператора update в MySQL. Она применяется только для одной таблицы.</p>
49 <h3>Несколько таблиц</h3>
49 <h3>Несколько таблиц</h3>
50 <p>Если же их несколько, при работе с Microsoft SQL Server будет использоваться другая форма записи. Ее syntax выглядит так:</p>
50 <p>Если же их несколько, при работе с Microsoft SQL Server будет использоваться другая форма записи. Ее syntax выглядит так:</p>
51 <p>Table references - список tables, с которыми будет применяться update set where/select. Изменения осуществляются так, как написано в assignment_list.</p>
51 <p>Table references - список tables, с которыми будет применяться update set where/select. Изменения осуществляются так, как написано в assignment_list.</p>
52 <p>Limit и Order by при желании обновить данные сразу в нескольких таблицах, нельзя. Остальные параметры (where, ignore и low_priority) не являются обязательными. Они работают точно также, как и в случае с одной табличкой БД.</p>
52 <p>Limit и Order by при желании обновить данные сразу в нескольких таблицах, нельзя. Остальные параметры (where, ignore и low_priority) не являются обязательными. Они работают точно также, как и в случае с одной табличкой БД.</p>
53 <h2>Подготовка примера</h2>
53 <h2>Подготовка примера</h2>
54 <p>Чтобы понять принцип функционирования select from update в MySQL Server, предстоит рассмотреть возможные операции на наглядных примерах (examples). Они будут базироваться на заранее подготовленной БД. Она включает в себя информацию о книжном магазине. Поддерживает несколько табличных хранилищ:</p>
54 <p>Чтобы понять принцип функционирования select from update в MySQL Server, предстоит рассмотреть возможные операции на наглядных примерах (examples). Они будут базироваться на заранее подготовленной БД. Она включает в себя информацию о книжном магазине. Поддерживает несколько табличных хранилищ:</p>
55 <ul><li>писатели;</li>
55 <ul><li>писатели;</li>
56 <li>жанры;</li>
56 <li>жанры;</li>
57 <li>книги;</li>
57 <li>книги;</li>
58 <li>покупки.</li>
58 <li>покупки.</li>
59 </ul><p>Сначала необходимо воспользоваться операторами create table, а также insert into. Они помогут создать author, genre, book и sales.</p>
59 </ul><p>Сначала необходимо воспользоваться операторами create table, а также insert into. Они помогут создать author, genre, book и sales.</p>
60 <p>Получится таблица book:</p>
60 <p>Получится таблица book:</p>
61 <p>Здесь такие столбцы:</p>
61 <p>Здесь такие столбцы:</p>
62 <ul><li>book_id - уникальный идентификатор для каждой книжки;</li>
62 <ul><li>book_id - уникальный идентификатор для каждой книжки;</li>
63 <li>title - название;</li>
63 <li>title - название;</li>
64 <li>author_id - идентификатор автора (внешний ключ);</li>
64 <li>author_id - идентификатор автора (внешний ключ);</li>
65 <li>genre_id - жанр (внешний ключ);</li>
65 <li>genre_id - жанр (внешний ключ);</li>
66 <li>price - стоимость одного книжного экземпляра;</li>
66 <li>price - стоимость одного книжного экземпляра;</li>
67 <li>amount - количество книжек на складе.</li>
67 <li>amount - количество книжек на складе.</li>
68 </ul><p>Таблицы genres и author:</p>
68 </ul><p>Таблицы genres и author:</p>
69 <p>А так выглядит sales:</p>
69 <p>А так выглядит sales:</p>
70 <p>В ней каждая колонка отвечает соответственно за следующие параметры:</p>
70 <p>В ней каждая колонка отвечает соответственно за следующие параметры:</p>
71 <ul><li>id - уникальный идентификатор;</li>
71 <ul><li>id - уникальный идентификатор;</li>
72 <li>book_id - идентификатор книги из таблицы book (внешний ключ);</li>
72 <li>book_id - идентификатор книги из таблицы book (внешний ключ);</li>
73 <li>count - сколько книг были куплены;</li>
73 <li>count - сколько книг были куплены;</li>
74 <li>cost - общая стоимость.</li>
74 <li>cost - общая стоимость.</li>
75 </ul><p>На основе этих таблиц предстоит рассматривать различные варианты использования запросов update в MS Server.</p>
75 </ul><p>На основе этих таблиц предстоит рассматривать различные варианты использования запросов update в MS Server.</p>
76 <h2>Все строки</h2>
76 <h2>Все строки</h2>
77 <p>Update служит условием обновления всей заданной базы. Для этого его необходимо использовать без параметра where. Пример - в книжном магазине организована акция типа "все за 500". Для отображения этой ситуации у всех книг должна быть фиксированная цена на отметке 500 рублей:</p>
77 <p>Update служит условием обновления всей заданной базы. Для этого его необходимо использовать без параметра where. Пример - в книжном магазине организована акция типа "все за 500". Для отображения этой ситуации у всех книг должна быть фиксированная цена на отметке 500 рублей:</p>
78 <p>Выглядит это так:</p>
78 <p>Выглядит это так:</p>
79 <p>Если попытаться присвоить значения столбца, которые уже находятся в нем, в MySQL ничего не произойдет. Система заметит это и проигнорирует.</p>
79 <p>Если попытаться присвоить значения столбца, которые уже находятся в нем, в MySQL ничего не произойдет. Система заметит это и проигнорирует.</p>
80 <p>При попытке использования значения NULL столбцу, при создании которого было указано NOT NULL, запрос вернет ошибку:</p>
80 <p>При попытке использования значения NULL столбцу, при создании которого было указано NOT NULL, запрос вернет ошибку:</p>
81 <p> При указании параметра ignore в команде update значение будет изменено на значение по умолчанию. Оно у каждого типа устанавливается свое:</p>
81 <p> При указании параметра ignore в команде update значение будет изменено на значение по умолчанию. Оно у каждого типа устанавливается свое:</p>
82 <ul><li>0 - для числовых;</li>
82 <ul><li>0 - для числовых;</li>
83 <li>"" - для символьных;</li>
83 <li>"" - для символьных;</li>
84 <li>"нулевое" - для дат.</li>
84 <li>"нулевое" - для дат.</li>
85 </ul><p>Это - только один вариант использования update. Он является наиболее простым.</p>
85 </ul><p>Это - только один вариант использования update. Он является наиболее простым.</p>
86 <h2>Строки с условием</h2>
86 <h2>Строки с условием</h2>
87 <p>Изменение строки (string) обычно используется относительно конкретного поля. Полностью обновлять данные в БД требуется крайне редко.</p>
87 <p>Изменение строки (string) обычно используется относительно конкретного поля. Полностью обновлять данные в БД требуется крайне редко.</p>
88 <p>Для изменения записей для одного или нескольких полей команда update используется при условии where. Пример - распродажа книг, который осталось менее 5 штук. Для этого используется такая команда:</p>
88 <p>Для изменения записей для одного или нескольких полей команда update используется при условии where. Пример - распродажа книг, который осталось менее 5 штук. Для этого используется такая команда:</p>
89 <p>Результат обновленной таблички (updated table):</p>
89 <p>Результат обновленной таблички (updated table):</p>
90 <p>Здесь хорошо заметны изменения. Они вступили относительно Dead Souls и Iliad.</p>
90 <p>Здесь хорошо заметны изменения. Они вступили относительно Dead Souls и Iliad.</p>
91 <h2>Значения с выражением</h2>
91 <h2>Значения с выражением</h2>
92 <p>Следующий вариант применения update set select - это обновление с заданным выражением. Пример - в магазине проводится акция. Она распространяется на книги русских писателей. Скидка составит 15%.</p>
92 <p>Следующий вариант применения update set select - это обновление с заданным выражением. Пример - в магазине проводится акция. Она распространяется на книги русских писателей. Скидка составит 15%.</p>
93 <p>Для реализации задачи необходимо использовать запрос (query) такого типа:</p>
93 <p>Для реализации задачи необходимо использовать запрос (query) такого типа:</p>
94 <p>Результат:</p>
94 <p>Результат:</p>
95 <p>Здесь:</p>
95 <p>Здесь:</p>
96 <ol><li>В таблице имеются всего два русский писателя. Они имеют ID 1 и 3.</li>
96 <ol><li>В таблице имеются всего два русский писателя. Они имеют ID 1 и 3.</li>
97 <li>Обновление значений в заданном образце происходит в определенном порядке - слева направо.</li>
97 <li>Обновление значений в заданном образце происходит в определенном порядке - слева направо.</li>
98 </ol><p>Такой запрос сначала увеличит значение amount на единицу, а после - удвоит его:</p>
98 </ol><p>Такой запрос сначала увеличит значение amount на единицу, а после - удвоит его:</p>
99 <p>Теперь ясно, как организовывать update таблицы SQL с условием-выражением.</p>
99 <p>Теперь ясно, как организовывать update таблицы SQL с условием-выражением.</p>
100 <h2>С Default</h2>
100 <h2>С Default</h2>
101 <p>Значение строк (records) может быть изменено на значение по умолчанию. Оно будет задаваться при создании или изменении tables. Чтобы выяснить, какие значения в табличке используются по умолчанию, необходимо выполнить специальную команду. Ей служит запрос:</p>
101 <p>Значение строк (records) может быть изменено на значение по умолчанию. Оно будет задаваться при создании или изменении tables. Чтобы выяснить, какие значения в табличке используются по умолчанию, необходимо выполнить специальную команду. Ей служит запрос:</p>
102 <p>На экране появится такой результат:</p>
102 <p>На экране появится такой результат:</p>
103 <p>Теперь необходимо заменить значения каждого поля amount на DEFAULT. В этом поможет запись update set select:</p>
103 <p>Теперь необходимо заменить значения каждого поля amount на DEFAULT. В этом поможет запись update set select:</p>
104 <p>Изучаемая команда может применяться иначе. Пример - сразу для нескольких столбцов.</p>
104 <p>Изучаемая команда может применяться иначе. Пример - сразу для нескольких столбцов.</p>
105 <h2>Несколько сразу</h2>
105 <h2>Несколько сразу</h2>
106 <p>Один запрос select from update может помочь, когда требуется обновить не одно поле, а несколько. Выглядит это так:</p>
106 <p>Один запрос select from update может помочь, когда требуется обновить не одно поле, а несколько. Выглядит это так:</p>
107 <p>Здесь происходит замена стоимости и количества у строк, со значениями book_id меньше 4.</p>
107 <p>Здесь происходит замена стоимости и количества у строк, со значениями book_id меньше 4.</p>
108 <h2>Ограничения</h2>
108 <h2>Ограничения</h2>
109 <p>Еще один пример использования update - это установление ограничения строк при выводе результатов. Для этого необходимо задействовать setting LIMIT.</p>
109 <p>Еще один пример использования update - это установление ограничения строк при выводе результатов. Для этого необходимо задействовать setting LIMIT.</p>
110 <p>Здесь происходит update первой строчки. LIMIT не используется для обновления N полей. В результате запроса происходит обработка первых N-строк, которые подойдут под условие Where.</p>
110 <p>Здесь происходит update первой строчки. LIMIT не используется для обновления N полей. В результате запроса происходит обработка первых N-строк, которые подойдут под условие Where.</p>
111 <h2>Обновление нескольких таблиц</h2>
111 <h2>Обновление нескольких таблиц</h2>
112 <p>Далее будут рассмотрены примеры update для нескольких таблиц. Это - самый простой вариант из всех существующих:</p>
112 <p>Далее будут рассмотрены примеры update для нескольких таблиц. Это - самый простой вариант из всех существующих:</p>
113 <p>Возможны разные варианты использования изучаемой команды. Иногда корректировки устанавливаются путем объединения нескольких табличных компонентов или на основе информации из других элементов БД. Далее все эти варианты будут рассмотрены более подробно.</p>
113 <p>Возможны разные варианты использования изучаемой команды. Иногда корректировки устанавливаются путем объединения нескольких табличных компонентов или на основе информации из других элементов БД. Далее все эти варианты будут рассмотрены более подробно.</p>
114 <h2>Объединение Inner Join</h2>
114 <h2>Объединение Inner Join</h2>
115 <p>Команду (operator) Update можно использовать для обновления информации путем объединения нескольких компонентов БД. Самый простой вариант - это применение для updates INNER JOIN.</p>
115 <p>Команду (operator) Update можно использовать для обновления информации путем объединения нескольких компонентов БД. Самый простой вариант - это применение для updates INNER JOIN.</p>
116 <p>Указывает INNER не обязательно. Связано это с тем, что при использовании обновления данных параметр используется по умолчанию.</p>
116 <p>Указывает INNER не обязательно. Связано это с тем, что при использовании обновления данных параметр используется по умолчанию.</p>
117 <h3>Объединение "слева"</h3>
117 <h3>Объединение "слева"</h3>
118 <p>Еще один вариант объединения - это Left Join. Он применяется с update set select, если требуется именно "левое объединение". Указывать его полностью обязательно.</p>
118 <p>Еще один вариант объединения - это Left Join. Он применяется с update set select, если требуется именно "левое объединение". Указывать его полностью обязательно.</p>
119 <p>Пример - изменение на складе количества книг после их непосредственной покупки:</p>
119 <p>Пример - изменение на складе количества книг после их непосредственной покупки:</p>
120 <p>Если магазин продал 3 книжки "Анна Каренина" и одну - Dead Souls, запрос будет выглядеть так:</p>
120 <p>Если магазин продал 3 книжки "Анна Каренина" и одну - Dead Souls, запрос будет выглядеть так:</p>
121 <p>Если не использовать left join в заданном примере запроса SQL update, на экране появится ошибка. Связано это с тем, что поле amount не может быть отрицательным. При использовании параметра ignore появится следующий результат:</p>
121 <p>Если не использовать left join в заданном примере запроса SQL update, на экране появится ошибка. Связано это с тем, что поле amount не может быть отрицательным. При использовании параметра ignore появится следующий результат:</p>
122 <p>Здесь каждое поле будет уменьшено на 3. Результат будет ошибочным.</p>
122 <p>Здесь каждое поле будет уменьшено на 3. Результат будет ошибочным.</p>
123 <h3>Условные операторы</h3>
123 <h3>Условные операторы</h3>
124 <p>Update set select (обновление) может производиться через условные операторы:</p>
124 <p>Update set select (обновление) может производиться через условные операторы:</p>
125 <ul><li>if;</li>
125 <ul><li>if;</li>
126 <li>case;</li>
126 <li>case;</li>
127 <li>ifnull;</li>
127 <li>ifnull;</li>
128 <li>coalesce.</li>
128 <li>coalesce.</li>
129 </ul><p>Case используется для проверки истинности выбора условий. В зависимости от полученного результата вернут один из нескольких вариантов значений. Синтаксис при работает с таким update from окажется таким:</p>
129 </ul><p>Case используется для проверки истинности выбора условий. В зависимости от полученного результата вернут один из нескольких вариантов значений. Синтаксис при работает с таким update from окажется таким:</p>
130 <p>Результат в example:</p>
130 <p>Результат в example:</p>
131 <p>При помощи функции IF каждый раз в зависимости от условного выражения будет возвращаться одно из двух значений. Пример - если у книги жанр 4, ее стоимость уменьшается на 200 рублей. В противном случае ценник остается прежним:</p>
131 <p>При помощи функции IF каждый раз в зависимости от условного выражения будет возвращаться одно из двух значений. Пример - если у книги жанр 4, ее стоимость уменьшается на 200 рублей. В противном случае ценник остается прежним:</p>
132 <p>Через IFNULL оператор update проверит значение выражения. Если оно NULL, возвращается определенный "параметр". В противном случае - самое выражение. Пусть одно значение в заданной таблице окажется нулевым:</p>
132 <p>Через IFNULL оператор update проверит значение выражения. Если оно NULL, возвращается определенный "параметр". В противном случае - самое выражение. Пусть одно значение в заданной таблице окажется нулевым:</p>
133 <p>Оно должно быть заменено на 0. Соответствующий запрос должен выглядеть так:</p>
133 <p>Оно должно быть заменено на 0. Соответствующий запрос должен выглядеть так:</p>
134 <p>При помощи COALESCE можно указывать несколько значений, которые может принимать функция. Работает подобно IFNULL.</p>
134 <p>При помощи COALESCE можно указывать несколько значений, которые может принимать функция. Работает подобно IFNULL.</p>
135 <h3>С сортировкой</h3>
135 <h3>С сортировкой</h3>
136 <p>Select from и update - базовые операции для работы с таблицами. Их обновление возможно. Данный процесс помогает в ситуациях, когда изменения вступают в силу относительно поля с уникальным ключом.</p>
136 <p>Select from и update - базовые операции для работы с таблицами. Их обновление возможно. Данный процесс помогает в ситуациях, когда изменения вступают в силу относительно поля с уникальным ключом.</p>
137 <p>Если захочется сдвинуть id на единицу, изменив первую строчку, получится две строки, у которых Id = 2. Это вызовет ошибку. При добавлении order by и проведении обновления с конца, запрос будет успешно выполнен:</p>
137 <p>Если захочется сдвинуть id на единицу, изменив первую строчку, получится две строки, у которых Id = 2. Это вызовет ошибку. При добавлении order by и проведении обновления с конца, запрос будет успешно выполнен:</p>
138 <p>Но и это еще не все. Можно использовать select from и update для обновления на основе информации из других таблиц.</p>
138 <p>Но и это еще не все. Можно использовать select from и update для обновления на основе информации из других таблиц.</p>
139 <h3>На основе других таблиц</h3>
139 <h3>На основе других таблиц</h3>
140 <p>В условии Where можно использовать вложенные команды - from и select. Вот - пример, в котором сначала sets индикатор жанра “Epic poetry”, а затем на основе соответствующего значения происходит отбор строки для обновления:</p>
140 <p>В условии Where можно использовать вложенные команды - from и select. Вот - пример, в котором сначала sets индикатор жанра “Epic poetry”, а затем на основе соответствующего значения происходит отбор строки для обновления:</p>
141 <p>Чтобы выбрать значения, которые требуется изменить, используется запрос:</p>
141 <p>Чтобы выбрать значения, которые требуется изменить, используется запрос:</p>
142 <p>Требуется изменить стоимость всех книг, которых менее 5 штук на складе, на минимальную сумму продажи. Она будет равна 480. Обновить таблицу из самой себя не получится. Поэтому придется объединить компоненты между собой:</p>
142 <p>Требуется изменить стоимость всех книг, которых менее 5 штук на складе, на минимальную сумму продажи. Она будет равна 480. Обновить таблицу из самой себя не получится. Поэтому придется объединить компоненты между собой:</p>
143 <p>Все это - основы работы с SQL. Лучше понимать запросы, primary key, tables и даже изучить T-SQL с нуля помогут специальные дистанционные компьютерные курсы. Они прекрасно совмещаются с карьерой и учебой, а в конце выдается электронный сертификат, подтверждающий спектр приобретенных навыков и умений.</p>
143 <p>Все это - основы работы с SQL. Лучше понимать запросы, primary key, tables и даже изучить T-SQL с нуля помогут специальные дистанционные компьютерные курсы. Они прекрасно совмещаются с карьерой и учебой, а в конце выдается электронный сертификат, подтверждающий спектр приобретенных навыков и умений.</p>
144 <p><em>Прокачать <a>навыки работы с базами данных</a> можно на курсах Otus.</em><a></a></p>
144 <p><em>Прокачать <a>навыки работы с базами данных</a> можно на курсах Otus.</em><a></a></p>
145  
145