Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Манипулирование данными в SQL (операторы insert, update, delete). Примеры




Язык SQL делится на три части: (1)операторы определения дан-х (Data Definition Language, DDL); (2)операторы манипуляции дан-ми (Data Manipulation Language, DML); (3)операторы опр-ия доступа к дан-м (Data Control Language, DCL).

Язык манипулирования данными - командный язык, обеспечивающий выполнение основных операций по работе с дан-ми: ввод, модификацию и выборку дан-х по запросам. К базовым ср-вам манипулирования дан-ми языка SQL относятся "поисковые" варианты операторов UPDATE и DELETE. Эти варианты наз-тся поисковыми, потому что при задании соотв-щей операции задается логическое условие, налагаемое на строки адресуемой оператором таблицы, к-ые д.б. подвергнуты модификации или удалению. Кроме того, в такую категорию языковых средств входит оператор INSERT, позволяющий добавлять строки в сущ-щие таблицы.

Операторы DML - операторы манипулирования данными:

►SELECT - отобрать строки из таблиц

►INSERT - добавить строки в таблицу

►UPDATE - изменить строки в таблице

►DELETE - удалить строки в таблице

►COMMIT - зафиксировать внесенные изменения

►ROLLBACK - откатить внесенные изменения

Примеры использования операторов манипулирования данными

SELECT – выбрать данные из таблицы. Пр. Выбрать все строки из таблицы поставщиков, удовлетворяющих нек-ому условию (ключевое слово WHERE …):

SELECT *

FROM P

WHERE P.PNUM > 2;

INSERT - вставка строк в таблицу. Пр. Вставка одной строки в таблицу:

INSERT INTO P (PNUM, PNAME) VALUES (4, "Иванов");

UPDATE - обновление строк в таблице. Пр. Обновление нескольких строк в таблице:

UPDATE P SET PNAME = "Пушников" WHERE P.PNUM = 1;

DELETE - удаление строк в таблице. Пр. Удаление нескольких строк в таблице:

DELETE FROM P WHERE P.PNUM = 1;

Пр. Удаление всех строк в таблице:

DELETE FROM P;

16.Оператор SELECT: отбор данных из таблиц. Примеры.

Оператор SELECT является фактически самым важным для польз-ля и самым сложным оператором SQL. Он предназначен для выборки дан-х из таблиц, т.е. он, собственно, и реализует одно их осн-х назначение БД - предоставлять информацию польз-лю.

Структура команды select:

Select …

- from …– таблица, из которой будут извлекаться данные;

- where …– «горизонтальный» фильтр, условие на строки;

- order by …– критерий упорядочения строк результатирующей таблицы

- group by… – критерий группирования строк таблицы: строки таблицы разбиваются на группы с одинаковым значением критерия, и каждая группа дает единственную строку в выходную таблицу;

- having… – критерий фильтрации групп;

- into… - куда и в каком виде записать результат.

Оператор SELECT всегда выполняется над нек-ыми таблицами, входящими в БД.

На самом деле в БД могут быть не только постоянно хранимые таблицы, а также временные таблицы и так называемые представления. Представления - это просто хранящиеся в БД SELECT-выражения. С т.з. польз-лей представления -это таблица, к-ая не хранится постоянно в БД, а "возникает" в момент обращения к ней. С т.з. оператора SELECT и постоянно хранимые таблицы, и временные таблицы и представления выглядят совершенно одинаково. Конечно, при реальном выполнении оператора SELECT системой учитываются различия м/у хранимыми таблицами и представлениями, но эти различия скрытыот польз-ля.

Рез-том выполнения оператора SELECT всегда явл-тся таблица. Т.о., по рез-там действий оператор SELECT похож на операторы реляционной алгебры. Любой оператор реляционной алгебры может быть выражен подходящим образом сформулированным оператором SELECT. Сложность оператора SELECT опр-ется тем, что он содержит в себе все возм-ти реляционной алгебры, а также дополнительные возм-ти, к-ых в реляционной алгебре нет.

Отбор данных из одной таблицы

Пр1. Выбрать все данные из таблицы поставщиков (ключевые слова SELECTFROM …):

SELECT * FROM P;

Замечание. В результате получим новую таблицу, содержащую полную копию данных из исходной таблицы P.

Пр2. Выбрать все строки из таблицы поставщиков, удовлетворяющих некоторому условию (ключевое слово WHERE …):

SELECT * FROM P WHERE P.PNUM > 2;

Замечание. В качестве условия в разделе WHERE можно использовать сложные логические выражения, использующие поля таблиц, константы, сравнения (>, <, = и т.д.), скобки, союзы AND и OR, отрицание NOT.

Отбор данных из нескольких таблиц

Пр. Естественное соединение таблиц (способ 3 - ключевое слово NATURAL JOIN):

SELECT P.PNUM, P.PNAME, PD.DNUM, PD.VOLUME FROM P NATURAL JOIN PD;

Замечание. В разделе FROM не указано, по каким полям производится соединение. NATURAL JOIN автоматически соединяет по всем одинаковым полям в таблицах.





Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 10784; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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