Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
22.03.12 Проектирование клиент-серверных ИС.doc
Скачиваний:
2
Добавлен:
23.08.2019
Размер:
118.27 Кб
Скачать

Добавление данных в таблицу.

Добавление данных в таблицу осуществляется с помощью оператора INSERT (вставка).

Простейшая форма оператора INSERT позволяет определить значения для всех полей добавляемой в таблицу записи.

INSERT INTO ИМЯ_ТАБЛИЦЫ

VALUES (Значение1, Значение2, …);

Чтобы использовать данный синтаксис нужно знать количество полей таблицы, их порядок и тип каждого поля.

Пример:

INSERT INTO DEPARTMENT

VALUES (180, ‘Отдел маркетинга’);

INSERT INTO DEPARTMENT

VALUES (100, ‘Отдел продаж’);

Пример добавление в таблицу нескольких записей из другой таблицы:

INSERT INTO department2

SELECT * FROM department

Существует общая форма оператора INSERT. Позволяет задать значения определенных полей.

INSERT INTO имя_таблицы

(Поле1, Поле2, …) VALUES (Значение1, Значение2, …);

Пример:

INSERT INTO DEPARTMENT (DEPARTMENT, DEPT_NO)

VALUES (‘Кафедра финансов’, 620);

INSERT INTP EMPLOYEE (EMP_NO, LAST_NAME, FIRST_NAME, DEPT_NO)

VALUES (10335, ‘Smith’, ‘John’, 180);

Пример простейшей формы оператора INSERT:

INSERT INTO EMPLOYEE VALUES (21374, ‘Карлова’, ‘Екатерина’, 620);

INSERT INTO EMPLOYEE VALUES (13314, ‘Иванов’, ’Иван’, 100);

INSERT INTO EMPLOYEE VALUES (5441, ‘Левин’, ’Степан’, 100);

Сервер БД поддерживает механизм ссылочной целостности.

Каждый сотрудник иметь уникальный код.

Каждый сотрудник работает ровно в одном подразделении.

Изменение данных в таблице.

Оператор UPDATE.

UPDATE имя_таблицы

SET Поле1 = Значение1,

Поле2 = Значение2, …

WHERE условие;

Выражения условия:

Поле [=|>|<|>=|<=] значение.

Т.е. в простейшей форме условие позволяет сравнить значение некоторого поля с некоторыми заданными значениями.

Пример:

UPDATE EMPLOYEE

SET LAST_NAME = ‘Зяблицкая’ WHERE EMP_NO = 13314;

Пример2:

UPDATE EMPLOYEE

SET SURNAME = ‘Путин’

WHERE surname is null

Или

UPDATE EMPLOYEE

SET SURNAME = ‘Путин’

WHERE ID_EMPLOYEE = 6

Удаление данных из таблицы.

Удалить данные занесенные в таблицу можно с помощью оператора DELETE.

DELETE FROM имя_таблицы WHERE условие;

Пример:

DELETE FROM EMPLOYEE WHERE EMP_NO = 21347;

Пример добавление ПЗ:

UPDATE EMPLOYEE

SET SALARY = SALARY * 1.1

WHERE SALARY is not null

28.02.12

SELECT – Эффективное выполнение запросов для извлечения данных.

Оператор SELECT – один из наиболее важных и самых распространенных операторов SQL. Он позволяет производить выборки данных из таблиц и преобразовывать к нужному виду полученные результаты. Будучи очень мощным, он способен выполнять действия, эквивалентные операторам реляционной алгебры, причем в пределах единственной выполняемой команды. При его помощи можно реализовать сложные и громоздкие условия отбора данных из различных таблиц.

Структура оператора SELECT.

Обработка элементов оператора SELECT выполняется в следующей последовательности:

  1. SELECT – устанавливается, какие столбцы должны присутствовать в выходных данных;

  2. FROM – задает имена таблиц и просмотров, которые содержат поля, перечисленные в операторе SELECT.

  3. WHERE – выполняется фильтрация строк объекта в соответствии с заданными условиями;

  4. GROUP BY – образуются группы строк имеющих одно и то же значение в указанном столбце;

  5. HAVING – фильтруются группы строк объекта в соответствии с указанным условием;

  6. ORDER BY – определяется упорядоченность результатов выполнения операторов.

Порядок предложений и фраз в операторе SELECT не может быть изменен. Только два предложения SELECT и FROM являются обязательными, все остальные могут быть опущены. SELECT – закрытая операция: результат запроса к таблице представляет собой другую таблицу.

Удаление повторов:

SELECT distinct surname

FROM employee

Предложение SELECT помимо списка полей может иметь один из двух предикатов.

Предикат ALL (Всё) задаёт включение в выходной набор всех дубликатов строк. Этот предикат действует по умолчанию.

Предикат distinct применяется в тех случаях, когда требуется отбросить блоки данных содержащие дублирующие записи в выбранных полях.

SELSCT surname, dolgnost

FROM dolgnosti, employee

WHERE dolgnosti.id_dolg = employee.iddolg and employee.iddepartment = 1

В предложении FROM указываются названия таблиц, из которых выбираются данные.

После имени таблицы через пробел можно указать её сокращенное название – псевдоним.

Вместо имени можно использовать её псевдоним.

SELSCT surname, d.dolgnost

FROM dolgnosti d, employee e

WHERE d.id_dolg = e.iddolg and e.iddepartment = 1

Псевдоним можно создавать не только для таблиц, но и для колонок.

SELSCT surname, d.dolgnost “Должность”

FROM dolgnosti d, employee e

WHERE d.id_dolg = e.iddolg and e.iddepartment = 1

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

Существует пять основных типов условий поиска (или предикатов):

  1. Сравнение: сравниваются результаты вычисления одного выражения с результатами вычисления другого.

  2. Диапазон: проверяется, попадает ли результат вычисления выражения в заданный диапазон значений.

  3. Принадлежность множеству: проверяется, принадлежит ли результат вычислений выражения заданному множеству значений.

  4. Соответствие шаблону: проверяется, отвечает ли некоторое строковое значение заданному шаблону.

  5. Значение NULL: проверяется, содержит ли данный столбец определитель NULL (неизвестное значение).