Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh_teoria_Avtosokhranenny.docx
Скачиваний:
52
Добавлен:
23.03.2015
Размер:
7.75 Mб
Скачать

X devideby y

Пример

Получить имена поставщиков, поставляющих деталь номер 2.

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

  • Получить имена поставщиков, поставляющих все детали.

  • Получить имена поставщиков, не поставляющих деталь номер 2.

3)Операторы определения данных в языке sql. Пример на каждый оператор.

Оператор

Описание

CREATE TABLE

Предназначен для создания таблицы базы данных

ALTER TABLE

Удаляет таблицу

DROP TABLE

Изменяет структуру таблицы

CREATE INDEX

Создает индекс

DROP INDEX

Удаляет индекс

CREATE VIEW

Создает представление

DROP VIEW

Удаляет представление

Операторы определения данных.

Давайте рассмотрим более подробно операторы определения данных. Оператор CREATE TABLE служит для создания новой таблицы базы данных и имеет следующий формат:

CREATE TABLE<Имя таблицы>  <Имя поля> <Тип данных>,

<Имя поля> <Тип данных>);

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

CREATE TABLE MyTable  (Number INTEGER, Name CHAR(20),  Surname CHAR(20));

При этом в каталоге текущей базы данных создастся новая таблица муТаblе, состоящая из полей Number, Name и Surname. Первое поле имеет целочисленный тип (INTEGER), остальные поля - символьного типа и ограничены длиной в 20 символов. Если при выполнении этого запроса выяснится, что таблица с таким именем уже существует, будет сгенерирована исключительная ситуация. Оператор DROP TABLE <имя таблицы> служит для удаления имеющейся таблицы. Если таблицы с таким именем не существует, будет сгенерирована исключительная ситуация: DROP TABLE МуТаЫе;

При выполнении этой операции будут удалены все файлы, относящиеся к таблице МуТаЫе. Оператор ALTER TABLE предназначен для добавления или удаления полей действующей таблицы базы данных. Во время действия этого оператора никакие другие приложения не должны обращаться к таблице. Этот оператор имеет следующий формат:

ALTER TABLE<Имя таблицы>  ADD<Имя поля><Тип данных>,  DROP<Имя поля>, … ADD <Имя поля> <Тип данных>,  DROP <Имя поля>;

При этом операнд ADD добавляет к таблице новое поле, а оператор DROP удаляет из таблицы существующее поле. Операнды могут располагаться внутри оператора ALTER TABLE произвольно:

ALTER TABLE МуТаblе ADD Telefon INTEGER,  ADD Address CHAR(50),  DROP Number;

При выполнении данного примера в таблицу МуТаblе добавятся два поля: felefon и Address, целочисленного и символьного типа соответственно. Кроме того, будет удалено поле Number.

4)Операторы манипулирования данными в языке sql. Пример на каждый оператор.

Оператор

Описание

SELECT

Предназначен для выборки записей по определенному формату

UPDATE

Предназначен для изменения и обновления записей

INSERT

Вставляет новые записи в таблицу

DELETE

Удаляет записи из таблицы

Главным оператором манипулирования данными является оператор SELECT. Этот оператор используется для отбора данных, соответствующих сложным условиям. Оператор SELECT имеет вид:

SELECT[DISTINCT] <Список Полей>или* FROM<Список Таблиц> [WHERE<Условия Выбора записей>] [ORDERBY<Список Полей Для Сортировки>] [GROUPBY<Список Полей Для Группировки:"]  [HAVING<Условия Группировки Полей>]  [UNION <Вложенный оператор SELECT >]

Результатом выполнения данного оператора будет набор записей, удовлетворяющих заданным условиям. Параметр DISTINCT определяет, будут ли включаться в результирующий набор данных повторяющиеся записи. Если он присутствует в операторе SELECT, то повторяющиеся записи будут исключены из набора данных. Если в список полей входят поля нескольких таблиц, для указания принадлежности поля к той или иной таблице используют составной оператор, включающий имя таблицы и, через точку, имя поля:

<Имя таблицы>.<Имя поля>

Операнд WHERE определяет критерии, которым должны удовлетворять записи в результирующем наборе данных. Операнд GROUP BY позволяет группировать записи. Иногда бывает необходимо выполнить какие-либо операции над группой записей. Операнд HAVING используется вместе с GROUP BY и позволяет выбирать записи внутри групп. Операнд ORDER BY содержит список полей, определяющих порядок сортировки записей результирующего набора данных. По умолчанию сортировка выполняется в порядке возрастания значений. Для сортировки в порядке убывания значений необходимо после имени поля поставить параметр DESC. Операнд UNION используется для организации вложенных операторов SELECT. Вложенные операторы SELECT называют иногда подзапросами. Приведем примеры выбора записей с использованием оператора SELECT.

Пример 17.1. Выбор всех полей таблицы SELECT * FROM MyTable

В результате выполнения этого запроса будут выбраны все поля и записи из таблицы мутаые. Значок * обозначает, что выбраны все поля таблицы. Вместо него можно просто перечислить через запятую все поля таблицы.

Пример 17.2. Выбор данных из трех полей таблицы  SELECY Number, Surname, Telefon  FROM MyTable

В результате выполнения примера 17.2 будут выбраны все записи из полей Number, Surname И Telefon таблицы MyTable .

Пример 17.3. Выбор уникальных значений  SELECT DISTINCT Surname  FROM MyTable

В результате мы получим набор данных, который содержит все фамилии (Surname), входящие в таблицу муТаblе. В этот набор данных не будет дважды включена одна и та же фамилия, т. е. будут исключены все однофамильцы.

Пример 17.4. Выбор данных из двух таблиц  SELECT * FROM МуТаbе1, МуТаbе2

Выбирает все данные из таблиц МуТаblе1 и МуТаbе2. Первыми будут располагаться поля таблицы MyTable1, а затем - поля второй таблицы.

Пример 17.5. Выбор записей по значениям числового поля  SELECT Name, Surname  FROM MyTable  WHERE (Number>l) and (Number<100) ;

Результирующим набором данных будут имена и фамилии первых ста человек, занесенных в таблицу МуТаblе.

Пример 17.6. Выбор записей по значению символьного поля  SELECT Name FROM МуТаЫе WHERE Surname='Иванов';

Результатом будет набор имен, фамилии которых Иванов.

Пример 17.7. Проверка частичного совпадения по символьному полю  SELECT Name, Surname  FROM MyTable  WHERE Surname LIKE 'И';

Будут выбраны имена и фамилии людей, занесенных в таблицу МуТаblе, фамилии которых начинаются на букву И. В выражениях операции LIKE можно использовать шаблоны. Символы шаблонов: % - замещает любое количество символов, в том числе и нулевое;  _ - замещает один символ.

Пример 17.8. Проверка частичного совпадения по шаблону SELECT Name, Surname FROM MyTable  WHERE Surname LIKE '%' I I 'ов' I I '%';

Будут выбраны имена и фамилии людей, в состав фамилий которых входя символы ов. Операнд ORDER BY служит для упорядочения (сортировки) значений полей.

Пример 17.9. Сортировка записей по полю SELECT * FROM MyTable  ORDER BY Name Таким образом, набор данных будет отсортирован в порядке возрастания по полю Name.

Пример 17.10. Сортировка по двум полям SELECT * FROM MyTable ORDER BY Name, Surname DESC

Будет произведена сортировка данных сначала по полю Name в порядке возрастания, затем по полю Surname в порядке убывания. Оператор UPDATE служит для изменения значений полей в группе записей и имеет следующий формат:

UPDATE <Имя таблицы> SET <Имя поля> = <Выражение>, … SET <Имя поля> = <Выражение>  [WHERE <Условия выбора>]; Во всех записях, которые удовлетворяют условию отбора, будут изменяться значения полей.

Пример 17.11. Изменение значений поля UPDATE MyTable SET Oklad = Oklad + 1000; WHERE Cklad < 1000; Изменит сумму оклада (oklad) сотрудника, если оклад менее 1000 руб. К сумме оклада прибавится еще 1000 руб. Оператор INSERT служит для вставки записей в таблицу и имеет следующий формат: INSERT INTO <Имя таблицы>  (<Список полей>)  VALUES (<Список значений>);

Таким образом, к таблице <имя таблицы> будет добавлена одна запись.

Пример 17.12. Добавление записи в таблицу  INSERT INTO MyTable (Name, Surname, Telefon)  VALUES ('Иван', 'Иванов', 2341234); В таблицу MyTable будет добавлена новая запись, содержащая имя и фамилию нового сотрудника, а также номер его телефона. Оператор DELETE служит для удаления записей из таблицы и имеет следующий формат:

DELETE FROM <Имя таблицы> [WHERE <Условия выбора>];

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

Пример 17.13. Удаление записей из таблицы  DELETE FROM MyTable WHERE Surname = 'Иванов';

Удаляет из таблицы MyTable все записи, содержащие фамилию Иванов. На этом мы заканчиваем обзор основных операторов и функций языка SQL. Дополнительную информацию вы можете почерпнуть из специальной литературы, посвященной данному языку.