Оператор Delete видалення MySQL

19 0 Новини високих технологій

Інформація зберігається в базі даних MySQL в вигляді таблиць. У кожній таблиці є кілька колонок і довільне число рядків. Як правило, інформація розміщується в рядках, а її структура визначається іменами колонок.

Оператор Delete видалення MySQL
Можна видаляти рядки запитом Query Delete MySQL, але кращим є власний спосіб зберігання даних. Це дозволяє визначити порядок видалення інформації спроектований розробником, а не передбачений мовою запитів до бази даних.

Синтаксис і використання оператора Delete MySQL

Зазвичай для видалення записів розробник використовує прості форми запитів до бази даних MySQL:
  • delete from `ex_customs` - видалення всіх записів з таблиці ex_customs;
  • delete from `ex_customs` where `aCol` = '121314' - видалення тільки тих записів, які в колонці `aCol` мають значення '121314';
  • Насправді, оператор Delete MySQL пропонує безліч варіантів для видалення записів.


    Оператор Delete видалення MySQL
    Спочатку можна сортувати (order by) запису таблиці і видаляти ті з них, які відповідають конкретним умовам (where). Певний ефект можна досягти при використанні опції Limit і видаляти конкретне число записів. Видалення тільки одного запису з конкретним унікальним кодом можна виконати так:
    Оператор Delete видалення MySQL
    В даному прикладі з таблиці `is_cache` буде видалена тільки один запис, в якій значення `owner_code` = 'CA011712011116164842'.

    Безпечне видалення інформації

    Якщо таблиця містить важливі дані, то при видаленні слід вжити заходів обережності і контролювати дії користувача, який управляє вмістом бази даних і її таблиць.


    Алгоритм видалення записів повинен бути побудований таким чином, щоб ймовірність випадкового видалення відомостей була повністю виключена. Існує безліч завдань, які допускають вільне використання умов видалення і параметр Limit. Наприклад, у пошуковій видачі перед відображенням на сторінці можна видалити ті записи, які мають низький рейтинг або ті, у яких інформація не містить необхідних ключових слів.
    Оператор Delete видалення MySQL
    Проте в більшості випадків слід не тільки забезпечувати точне слідування діалогу з користувачем і бути впевненим в тому, що саме він має намір видалити, але і забезпечити такий алгоритм видалення, при якому гарантовано дотримуються всі умови, а видалення потрібних записів ніяк неможливо.

    Використання операції видалення в об'єкті бази даних

    Запити MySQL Query: delete, insert і update у своєму звичайному вигляді не дуже зручні при розробці алгоритмів обробки інформації, коли доводиться працювати з декількома таблицями відразу однаковим чином. Доводиться дублювати практично однакові запити і використовувати їх в різних місцях алгоритму. При необхідності оновлення коду, внесення правок стає помітною проблемою: можна упустити деякі запити і утворюється помилка. Дуже ефективно створити об'єкт для роботи з базою даних, який включає в себе чотири основні операції:
  • додавання (iLineIns, iLinesAdd);
  • зміна (iLineUpd);
  • видалення (iLineDel);
  • вибірка (iLineSel).
  • Всі інші операції: підрахунок рядків, таблиць, пошук мінімального та максимального елементів, пошук інформації в таблицях, колонкам залежать від конкретної задачі.
    Оператор Delete видалення MySQL
    При створенні об'єкта всі звернення до нього виробляються однаковим образом, а при необхідності зміни - змінюється тільки об'єкт доступу до бази даних. Щодо операції видалення delete, MySQL тут забезпечує додаткову гарантію безпеки. Якщо алгоритм видалення працює, то він однаковим чином діє по всьому таблиць бази даних.

    Об'єктно-орієнтоване видалення

    Проблема запитів MySQL: delete from * where & в тому, що є набір таблиць (*) і є набір умов (&). MySQL - відмінна, швидка, надійна і компактна база даних від професійного розробника великих баз даних. Але в кожній предметній області завжди доводиться писати конкретні запити, а це потенційні помилки. Процес трудомісткий і займає певний час. Якщо таблиці бази даних містять об'єкти, зовсім не обов'язково наявність безлічі таблиць. Достатньо однієї (може скільки завгодно таблиць), в якій будуть самі різні об'єкти. Наприклад, кожен об'єкт використовуваної системи об'єктів, може записати себе в рядок символів і відновитися з рядка символів. Фактично об'єкт в контексті бази даних - це послідовність символів. Видалити об'єкт - це не оператор Delete MySQL, а дія розробника, який просто видаляє рядок символів з конкретної запису бази даних.
    Оператор Delete видалення MySQL
    В даному прикладі один рядок бази даних може містити декілька об'єктів у полі oj_store, при цьому тіло об'єкта може займати не один рядок бази даних, а кілька (нумерація в поле oj_line). Кожен об'єкт має ім'я oj_name, код примірника oj_code і власника цього екземпляра - oj_owner. При такому вирішенні запис і видалення виробляються на рівні об'єктів, а не рядків бази даних. Це переводить операцію видалення властивість системи об'єктів, не у використанні конкретного оператора запиту.