Синтаксис:
>> IF условие THEN операторы END IF;В следующем синтаксисе:
- Если это's предложение ключевого слова для условия, которое должно быть запущено.
- Условие: После предложения 'IF' это ограничение должно быть выполнено.
- Заявления: Может быть любой фрагмент кода, e.грамм., выбрать, получить, обновить, удалить. Если условие оценивается как ИСТИНА, то будут выполняться операторы после предложения THEN.
- ENDIF: Это конец предложения "ЕСЛИ". После этого власть переходит к следующему пункту.
Давайте начнем разбираться в If-then, запустив командную оболочку MySQL. Введя пароль, мы готовы к работе.
Пример 01: MySQL IF () Функция:
Чтобы получить представление об операторе If, мы должны сначала протестировать функцию IF (). В приведенном ниже примере мы определили функцию IF () в запросе SELECT и даем ей условие, чтобы проверить, больше ли 2, чем 9, или нет. Если условие действительно, оно вернет первое значение после условия; в противном случае второй. Поскольку наше условие недействительно, оно возвращает false.
Предположим, что таблица "порядок", как показано на прилагаемом изображении.
>> ВЫБРАТЬ * ИЗ данных.заказывать;
Давайте посмотрим на функцию IF (), выполняемую в этой таблице. Мы выбрали три столбца. Если в столбце «Статус» указано значение «Оплачено», тогда метод IF () вернет «Отлично», в противном случае - «Плохо». Возвращаемое значение функции IF () будет сохранено во вновь созданном во время выполнения столбце «Примечания». Теперь мы можем увидеть результат, как показано ниже.
Пример 02: Оператор MySQL IF-THEN
Мы пробовали использовать функцию IF () в командной строке MySQL. Давайте попробуем новый пример оператора IF-Then в графическом интерфейсе MySQL при использовании процедур. Откройте MySQL Workbench 8.0 и сначала подключитесь к базе данных.
Мы работали над базой данных «data»; затем вы должны указать команду «использовать данные», чтобы использовать ее в Workbench. Нажмите значок вспышки, чтобы запустить его. Вы должны знать, что операторы If-then работают с процедурами хранилища, как показано ниже. Мы объявили разделитель ключевых слов для запуска процедуры сохранения. Процедура myResult принимает два аргумента. После оператора BEGIN у нас есть оператор IF, который проверяет условие. Если условие удовлетворяется, то будет выполнена команда THEN и следующий за ней оператор. Если условие становится ложным, то будут реализованы операторы после 'END IF'.
Поскольку процедура myResult принимает два аргумента, мы должны передать в нее два значения.
После передачи значений в процедуру хранилища мы должны вызвать процедуру, чтобы увидеть результаты оператора If-then.
И результат приведен ниже. Он рассчитал Discount_rate с помощью оператора If-then.
Если вы хотите снова использовать ту же хранимую процедуру, вы должны сначала отбросить эту процедуру, используя команду DROP ниже, а затем выполнить ее снова.
Пример 03: Оператор MySQL IF-THEN-ELSE
Давайте перейдем к более широкому уровню. На этот раз мы рассмотрим оператор IF-Then-Else, используя хранимую процедуру в нашем примере. Взгляните на приведенную ниже таблицу "студент" с некоторыми полями в ней.
>> ВЫБРАТЬ * ИЗ данных.ученик;
Прежде всего, вы должны использовать базу данных «data», чтобы использовать таблицу «student» в нашей процедуре хранения. Для этого введите следующую команду в терминале командной строки MySQL.
>> использовать данные;
Теперь объявите разделитель, а затем начните писать процедуру хранения. Команда 'CREATE' будет использоваться для объявления или создания процедуры, как всегда. «Детали» процедуры принимали два аргумента. После этого процедура сохранения начинается с ключевого слова BEGIN. Слово DECLARE использовалось для определения переменной Sub для субъектов. Запрос «SELECT» использовался для выбора значений столбца «Тема» из таблицы «student» и сохранения их во вновь объявленной переменной «Sub». Предоставленное пользователем значение S_Subject будет сравниваться со значением столбца Subject. В операторе 'IF', если предоставленное пользователем значение 'S_Subject' совпадает со значением столбца 'Subject', тогда относительный оператор 'THEN' будет выполнен вместе с его операторами в. Эта процедура будет обрабатываться от первого оператора IF ко второму, а затем к третьему оператору ELSEIF. Если последняя часть ELSEIF не совпадает со значением, предоставленным пользователем, управление будет передано оператору END IF.
Давайте закончим разделитель следующей командой.
Мы должны вызвать процедуру хранилища, выполнив ее с запросом CALL и предоставив аргументы в круглых скобках. Поскольку мы указали «Maths» в качестве значения, тогда будет создан новый столбец для вывода операторов «THEN» и «SET».
Давайте проверим вновь созданный столбец S_Cource, используя команду ниже. Вы можете видеть, что у нас есть соответствующий результат по курсу «Математика».
Снова вызовите процедуру, изменив первый аргумент, i.е., предмет. На этот раз мы предоставили тему "Компьютер".
Выбирая значение столбца «S_Cource», вы можете видеть, что у нас есть значение, относящееся к теме «Компьютер», то есть «ИТ».
Еще раз, мы вызывали процедуру, как показано ниже, путем модификации первого аргумента. На этот раз мы поставили тему «История».
Снова вызвав столбец «S_Cource», вы можете увидеть, как мы получили результат «Мастера истории» в отношении недавно предоставленной темы, e.грамм., История.
Заключение:
Мы сделали все примеры, необходимые для разработки операторов If-then, e.грамм., Функция IF (), простой оператор If-then, оператор If-then-else.