Удаление строк по условию - MySQL

Узнай цену своей работы

Формулировка задачи:

всем привет) мучаюсь уже который день с бд и сейчас совсем попал в ступор. вообщем имеется таблица со строками вида: id mac ip port vlan date 1 00:1e:58:af:96:d6 10.90.91.25 28 17 2016-11-13 2 00:1e:58:af:96:d6 10.90.91.25 28 9 2016-11-13 3 00:1e:58:af:96:d6 10.90.91.25 28 17 2016-11-13 4 00:1e:58:af:96:d6 10.90.91.25 28 17 2016-11-13 5 00:1e:58:af:96:d6 10.90.91.25 28 17 2016-11-13 6 00:1e:58:af:96:d6 10.90.91.25 27 17 2016-11-13 7 00:1e:58:af:96:d6 10.90.91.25 27 9 2016-11-13 8 00:1e:58:af:96:d6 10.90.91.25 27 17 2016-11-13 9 00:1e:58:af:96:d6 10.90.91.25 27 17 2016-11-13 10 00:1e:58:af:96:d6 10.90.91.25 27 17 2016-11-13 11 00:1e:58:af:96:d6 10.90.91.25 14 17 2016-11-13 12 00:1e:58:af:96:d6 10.90.91.25 11 17 2016-11-13 13 00:1e:58:af:96:d6 10.90.91.25 19 17 2016-11-13 необходимо из этой таблицы удалить все те порты, на которых есть vlan=9, т.е привести все в такой формат: id mac ip port vlan date 11 00:1e:58:af:96:d6 10.90.91.25 14 17 2016-11-13 12 00:1e:58:af:96:d6 10.90.91.25 11 17 2016-11-13 13 00:1e:58:af:96:d6 10.90.91.25 19 17 2016-11-13 ничего на ум пока не приходит. очень буду благодарен, кто даст ответ по этой теме)

Решение задачи: «Удаление строк по условию»

textual
Листинг программы
delete from таблица where vlan LIKE '%9%' or PORT in (SELECT PORT FROM таблица WHERE vlan LIKE '%9%');

Объяснение кода листинга программы

  1. Таблица - название таблицы, из которой удаляются строки.
  2. vlan - название столбца, по которому происходит фильтрация строк для удаления.
  3. %9% - шаблон поиска, который указывает на то, что в столбце vlan нужно искать строки, содержащие символ 9.
  4. PORT - название столбца, который используется в подзапросе для определения, какие строки нужно удалить.
  5. SELECT PORT FROM таблица WHERE vlan LIKE '%9%' - подзапрос, который выбирает значения из столбца PORT для строк, где в столбце vlan содержится символ 9.
  6. DELETE FROM таблица - команда удаления строк из таблицы таблица.
  7. WHERE vlan LIKE '%9%' or PORT in (SELECT PORT FROM таблица WHERE vlan LIKE '%9%') - условие, которое определяет, какие строки нужно удалить из таблицы таблица.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5