Скачиваний:
47
Добавлен:
04.04.2013
Размер:
728.06 Кб
Скачать

Insert into salespeople values(1001,'Иванов','Москва',0.12);

Занесение записи в таблицу "Продавцы".

Insert into customers values(2001,'Белкин','Москва',100,1001);

Занесение записи в таблицу "Заказчики".

Insert into orders values(3008,4723.00,'2002-10-05',2006,1001);

Занесение записи в таблицу "Продавцы".

Следующий блок содержит команды модификации внутренней структуры базы данных.

drop database mybase;

Удалить базу данных MyBase.

alter table customers rename clients;

Переименовать таблицу customers в clients.

alter table salespeople modify sname varchar(50);

Изменить в таблице salespeople тип данных столбца snmae на varchar(50)

alter table orders add info text;

Добавить в таблицу orders поле info, содержащее данные типа text.

alter table customers drop snum;

Удалить из таблицы customers поле snum.

drop table orders;

Удалить таблицу orders.

Далее будет представлен блок команд, модифицирующих данные в таблице.

delete from salespeople;

Удалить все записи из таблицы salespeople.

delete from salespeople where snum = 1003;

Удалить записи из таблицы salespeople, у которых значение поля snum=1003.

update customers set rating = 200;

В таблице customers установить для всех записей значение поля rating, равное 200.

update customers set rating = 200 where snum = 1001;

В таблице customers установить значение поля rating, равное 200, для тех записей, у которых значение поля snum=1001.

Одно из основных достоинств языка SQL – стандартизованный синтаксис для организации выборки информации из таблиц. Ниже будут представлены примеры команд, иллюстрирующие выборку из таблиц созданной базы данных.

select snum, sname, city, comm from salespeople;

Выбрать значения полей snum, sname, city, comm для каждой записи из таблицы salepeople

select * from salespeople;

Выбрать значения всех полей для всех записей из таблицы salespeople

select distinct snum from orders;

Выбрать все уникальные значения поля snum из таблицы orders. Ключевое слово distinct позволяет обеспечить только однократное вхождение в выборку каждого значения snum (в таблице orders за каждым продавцом может числиться несколько заказов)

select sname from salespeople where city = 'Москва';

Выбрать все значения полей sname для каждой записи из таблицы salespeople, у которой значение поля city=’Москва’ (другими словами – выбрать идентификаторы продавцов, проживающих в Москве)

select * from customers where rating >= 100;

Выбрать всю информацию о заказчиках с рейтингом большим или равным 100

select * from customers where city = 'Екатеринбург' and rating > 200;

Выбрать всю информацию о заказчиках, проживающих в Екатеринбурге с рейтингом более 200

select sum(amt) from orders;

Посчитать суммарную стоимость всех заказов, представленных в таблице orders. В данном запросе была использована агрегатная функция sum. В стандарте SQL также определены агрегатные функции max, min, avg, count.

select count(*) from salespeople;

Посчитать количество записей в таблице salespeople (фактически посчитать количество продавцов)

select * from customers order by city;

Выбрать всю информацию о заказчиках и упорядочить выборку по значению поля city

select * from orders order by cnum, amt;

Выбрать всю информацию о заказах и упорядочить выборку по значению полей cnum и amt. При упорядочении по нескольким полям данные сначала упорядочиваются по значению внешнего поля. В случае, если значения внешнего поля совпадают у нескольких записей, данные упорядочиваются по значению внутреннего поля итд в порядке перечисления упорядочивающих полей.

select customers.cname, salespeople.sname, salespeople.city from salespeople, customers where salespeople.city = customers.city;

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