Описание команд языка SQL




Автор: Вардомацкая Елена Юрьевна, ст. преподаватель кафедры математики и информационных технологий УО "Витебский государственный технологический университет".

Язык SQL, соответствующий последним стандартам SQL:2003, SQL:1999 представляет собой очень богатый и сложный язык, все возможности которого трудно сразу осознать и тем более понять. Поэтому приходится разбивать язык на уровни. В одной из классификаций, предусмотренных стандартом SQL, этот язык разбивается на «базовый» (entry), «промежуточный» (intermediate) и «полный» (full) уровни. Базовый уровень содержит около сорока команд, которые можно сгруппировать в категории по их функциональному назначению.

Рассмотрим команды SQL базового уровня по категориям.

Для примера создадим базу данных Банк, отражающую следующие сведения:

Вид вклада

Код вклада

3. Ставка %

ФИО вкладчика

Дата

Сумма вклада

7. % в месяц уе

В таблицу Справочник включим данные 1,2 и 3 а в таблицу Сведения – 2 и 4-7. Предусмотрим не менее четырех видов вкладов групп, на каждом из которых хранят деньги не менее трех вкладчиков.

Т.о. таблицы базы данных могут иметь вид:

Справочник

Вид вклада Код Ставка %
Валютный депозит ВД  
Валютный депозит накопительный ВДН  
Валютный депозит срочный ВДС  
Валютный текущий ТВ  

Сведения

ФИО Код вклада Дата Сумма вклада % в месяц уе
  Сергеев И. ВД 02.02.2009    
  Костин В. ВД 05.01.2009    
  Суворов А. ВД 10.01.2009    
  Петрова И. ВДС 02.02.2009    
  Соколова Н. ВДС 01.03.2009    
  Михайлова А. ВДС 02.02.2009    
  Орлова И. ВДН 02.02.2009    
  Богданова О. ВДН 05.01.2009    
  Купцова С. ВДН 05.01.2009    
  Архипов Н. ТВ 04.03.2009    
  Разин А. ТВ 02.02.2009    
  Пугачева А. ТВ 02.02.2009    

 

Для того, чтобы с таблицами можно было работать как с единым целым, они должны быть связаны. Связь в данном случае устанавливается по полям [Код] таблицы Справочник и таблицы [Код вклада] таблицы Сведения.

 

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

§ Команда CREATE TABLE – Создает структуру таблицы

Формат: CREATE TABLE <имя таблицы>

({<имя поля> <тип данных>[<размер>] [<ограничения на поле>][<значение поля по умолчанию>] },...)

Например, по команде

*CREATE TABLE Справочник ([Вид вклада] CHAR(30), Код CHAR(5), [Ставка %] INT))

в БД создается структура таблицы, Справочник включающая поля: Вид вклада Вид вклада, Код, Ставка %. Поля Вид вклада и Код имеют символьный тип с размерами 30 и 5 символа соответственно, поле Ставка % имеет целый тип.

§ Команда DROP TABLE удаляет таблицу

Формат: DROP TABLE <имя таблицы>

Например, по команде DROP TABLE Справочник

таблица Справочник удаляется из БД.

§ Команда ALTER TABLE – изменяет описание таблицы

Формат: ALTER TABLE <имя таблицы>

({<имя поля> <тип данных>[<размер>] [<ограничения на поле>][<значение поля по умолчанию>] },...)

Например, по команде ALTER TABLE Сведения (Адрес CHAR(30))

в структуру таблицы Сведения добавляется новое поле Адрес, символьного типа размером 30 символов.

§ Команда CREATE VIEW – создает представление - это таблицы, содержимое которых извлекается из других таблиц БД, т.е. представление – это сохраненный запрос выбора.

Формат: CREATE VIEW <имя представления> AS <запрос>

[ WITH CHECK OPTION ]

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

§ *Команда INSERT - добавляет новые записи в таблицу

Формат: INSERT INTO <имя таблицы> [{<имя поля1>},...]

VALUES ({<значение>},...)

Например, по команде

INSERT INTO Справочник VALUES (“Текущий рублевый ”, "ТР", 3)

в конец таблицыСправочник добавляется новая запись, в первое поле которой заносится значение “Текущий рублевый ”, во второе поле – значение "ТР", в третье поле –3.

§ Команда DELETE –удаляет записи из таблицы

Формат: DELETE FROM <имя таблицы> [ WHERE <условие>]

Например, по команде

DELETE FROM Сведения WHERE [код вклада] =”ТВ”

из таблицы Сведения удаляются все записи, у которых в поле [код вклада] хранится значение ТВ.

§ *Команда UPDATE Обновляет данные таблицы

Формат UPDATE < имя таблицы> SET

{<имя поля>=<выражение>},... [ WHERE <условие>]

В предложении UPDATE указывается имя обновляемой таблицы, в предложении SET указываются имена столбцов и выражение, изменяющее данные указанного поля. Часть WHERE является необязательной. Она позволяет отобрать строки, к которым будет применена модификация. Если условие отбора не задается, то операция модификации будет применена ко всем строкам таблицы.

Например, по команде

UPDATE Справочник SET [Ставка %] = 0.9*[Ставка %];

Значения процентных ставок по всем видам вкладов будет понижено на 10% (значения поля [Ставка %] будут уменьшены на 10%).

А по команде

UPDATE Справочник SET [Ставка %] = 1.1*[Ставка %]

WHERE Код = “ВДС”;

Значение процентной ставки по вкладам вида ВДС будет повышено на 10%.

Пример4 (потом после WHERE)

Для того, чтобы рассчитать значения поля [% в месяц уе] таблицы Сведения в зависимости от значения %-ой ставки, размещенной в таблице Справочник, необходимо запрос на обновление составлять на основании двух таблиц, установив между ними связь.

UPDATE Справочник, Сведения SET [% в месяц уе] = [Ставка %]/100*[Сумма вклада]/12

WHERE Справочник.Код=Сведения.[Код вклада];

Сведения
ФИО Код вклада Дата Сумма вклада % в месяц уе
  Сергеев И. ВД 02.02.2009    
  Костин В. ВД 05.01.2009    
  Суворов А. ВД 10.01.2009    
  Петрова И. ВДС 02.02.2009    
  Соколова Н. ВДС 01.03.2009    
  Михайлова А. ВДС 02.02.2009    
  Орлова И. ВДН 02.02.2009    
  Богданова О. ВДН 05.01.2009    
  Купцова С. ВДН 05.01.2009   83,33334
  Архипов Н. ТВ 04.03.2009    
  Разин А. ТВ 02.02.2009   2,5
  Пугачева А. ТВ 02.02.2009    

Лекция 5

ВЫБОР ДАННЫХ ИЗ БАЗЫ

План лекции

1. Оператор выбора данных SELECT

2. Устранение избыточности данных

3. Предложение WHERE

4. Функции агрегирования. Параметры GROUP BY и HAVING

5. Упорядочивание выходных полей

6. Вложение запросов



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: