русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Видалення даних


Дата добавления: 2015-07-09; просмотров: 467; Нарушение авторских прав


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

DELETE FROM STUDENTS;

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

DELETE FROM STUDENTS

WHERE SNUM = 3416;

Тут як предикат використаний номер студентського квитка: дійсно, це поле фактично є первинним ключем таблиці, що дає гарантію видалення тільки одного запису. Використання поля SFAM, загалом кажучи, приводить до видалення декількох записів, тому що в таблиці могла зберігатися інформація про однофамільців.

У команді DELETE допускається використати предикат, що вибирає целую групу рядків. Наприклад, що випливає команда видаляє з таблиці USP всі дані, що ставляться до оцінок, отриманим 10/06/1999:

DELETE FROM USP

WHERE UDATE = 10/06/1999;

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

DELETE FROM STUDENTS

WHERE SNUM =

(SELECT SNUM

FROM USP

WHERE OCENKA = 3) ;

У цьому випадку подзапрос вибере всіх студентів, що мають трійки, з таблиці успішності, і в предикат основної команди поверне номера їхніх студентських квитків.



Допускається в предикаті команди DELETE використати й подзапросы, що дає можливість установити досить складні критерії того, які рядки будуть віддалятися. Крім того, дуже ефективно виконувати спочатку вторинні дії (перевірки й т.п.), після чого виконувати саме видалення. Хоча не можна посилатися на таблицю, з якої будуть віддалятися запису, у пропозиції FROM подзапроса, у предикаті допускається посилання на поточний рядок цієї таблиці, тобто можна використати співвіднесені подзапросы. Наприклад:

DELETE FROM STUDENTS

WHERE EXISTS

(SELECT *

FROM USP

WHERE OCENKA = 3

AND STUDENTS.SNUM = USP.SNUM) ;

Властиво вся команда видаляє інформацію, аналогічно попередньому прикладу. Зверніть увагу на те. Що частина предиката внутрішнього запиту посилається до таблиці STUDENTS. Це означає, що весь подзапрос буде виконуватися окремо для кожного рядка даної таблиці.

У цілому, структура команди DELETE досить проста для розуміння, тому більш докладно на ній зупинятися не будемо.



<== предыдущая лекция | следующая лекция ==>
Додавання інформації в базу даних | Зміна існуючих даних


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 4.165 сек.