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

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

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

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


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

Зазвичай для вилучення записів розробник використовує прості форми запитів до бази даних MySQL:

  • delete from 'ex _ customs' - вилучення всіх записів з таблиці ex_customs;
  • delete from 'ex _ customs' where 'aCol' = '12.13.14' - вилучення тільки тих записів, які в колонці 'aCol' мають значення '12.13.14';

Насправді, оператор Delete MySQL пропонує безліч варіантів для видалення записів.

Спочатку можна сортувати (order by) записи таблиці і видаляти ті з них, які задовольняють конкретні умови (where). Певний ефект можна досягти при використанні параметра Limit і видаляти конкретне число записів.

Вилучення лише одного запису з певним унікальним кодом можна виконати так:

У цьому прикладі з таблиці "is _ cache" буде вилучено лише один запис, у якому значення "owner _ code '=' CA011712011116164842".

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

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


Алгоритм видалення записів повинен бути побудований таким чином, щоб ймовірність випадкового видалення відомостей була повністю виключена.

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

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

Використання дії вилучення в об "єкті бази даних

Запити MySQL Query: delete, insert і update у своєму звичайному вигляді не дуже зручні при розробці алгоритмів обробки інформації, коли доводиться працювати з кількома таблицями відразу однаковим чином.

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

Дуже ефективно створити об 'єкт для роботи з базою даних, який включає в себе чотири основні операції:

  • додавання (iLceIns, iLinesAdd);
  • зміна (iLceUpd);
  • вилучення (iLceDel);
  • вибірка (iLceSel).

Всі інші операції: підрахунок рядків, таблиць, пошук мінімального і максимального елементів, пошук інформації по таблицях, стовпчиків залежать від конкретного завдання.


При створенні об 'єкта всі звернення до нього проводяться однаковим чином, а при необхідності зміни - змінюється тільки об' єкт доступу до бази даних. Щодо дії видалення delete, MySQL тут забезпечує додаткову гарантію безпеки. Якщо алгоритм вилучення працює, то він однаково діє за всіма таблицями бази даних.

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

Проблема запитів MySQL: delete from * where & у тому, що є набір таблиць (*) і є набір умов (&). MySQL - відмінна, швидка, надійна і компактна база даних від професійного розробника великих баз даних.

Але в кожній предметній області завжди доводиться писати конкретні запити, а це потенційні помилки. Процес трудомісткий і займає певний час.

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

Фактично об 'єкт у контексті бази даних - це послідовність символів. Вилучити об 'єкт - це не оператор Delete MySQL, а дія розробника, який просто видаляє рядок символів з конкретного запису бази даних.


У даному прикладі один рядок бази даних може містити декілька об 'єктів у полі oj_store, при цьому тіло об' єкта може займати не один рядок бази даних, а кілька (нумерація в полі oj_line). Кожен об 'єкт має ім' я oj_name, код екземпляра oj_code і власника цього екземпляра - oj_owner.

При такому рішенні запис і видалення робляться на рівні об 'єктів, а не рядків бази даних. Це переводить операцію вилучення у властивість системи об 'єктів, не у використанні конкретного оператора запиту.