Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Корр_Запросы на языке SQL и на базовом.doc
Скачиваний:
1
Добавлен:
17.11.2019
Размер:
539.14 Кб
Скачать

Лабораторная работа №7

7 Типы запросов данных в sql

4 основных типа запросов данных в SQL, которые относятся к языку манипулирования данными (ЯМД) (в англоязычной литературе он называется DATA Manipulation Language или DML):

  1. SELECT – выбрать строки из таблицы;

  2. INSERT – добавить строки в таблицу;

  3. UPDATE – изменить строки в таблице;

  4. DELETE – удалить строки в таблице.

Дополнительные типы запросов, которые используются совместно с SELECT: JOIN, UNION.

Мы сосредоточимся на основных четырех. Каждый из запросов имеет различное количество операторов и опций для выполнения какого-либо действия над данными. Наибольшее количество опций имеет SQL-оператор SELECT.

7.1 Дополнительный материал

7.1.1 Команды языка запросов sql

В язык FoxPro включен ряд команд на языке запросов SQL (Structured Query Language). Он разработан фирмой ИБМ, хорошо известен многим пользователям, работавшим еще на больших ЭВМ и считается стандартом. Первоначально включение SQL в пакет FoxPro было вызвано скорее желанием придать формальную полноту средствам СУБД, чем заботой о потребностях программистов. Однако рассматриваемые ниже команды являются полезным и быстрым инструментом обработки данных. Команды SQL могут непосредственно включаться в программы наряду с собственными командами FoxPro.

7.1.2 Создание таблицы базы данных

CREATE DBF <DBF-файл>

(<имя поля> <тип> [(<размер>[,<дробных разрядов>])

[,<имя поля>…]]) /FROM ARRAY <массив>

Команда создает новую таблицу базы данных <DBF-файл> с указанным именем. Для каждого поля задаются его имя, тип (одной из букв C,N,D,m,F,L), длина и число десятичных разрядов. Длина и точность не задаются для типов дата (D), логический (L) и примечаний (M), а точность – для символьного типа (C). Все требования к описанию полей таблицы БД – стандартные. Созданная ТБД сразу открывается.

Описание полей может быть задано и из <массива> при использовании опции FROM ARRAY. Такой двумерный массив из четырех столбцов и строк в количестве, совпадающем с количеством полей, должен иметь указанное выше наполнение. Например, функция AFIELDS() как раз генерирует такой массив из открытой ТБД.

7.1.3 Дополнение записей в таблицы базы

INSERT INTO <файл ТБД> [(<поле1> [, <поле2> [, …]])]

VALUES (<выр1> [, <выр2> [, …]])

Команда добавляет записи в конец существующего файла <файла ТБД>, используя имена полей и <выражения>, перечисленные после слова VALUES. Если опущены имена полей, <выражения> будут записываться в последовательные поля <ТБД> в соответствии с ее структурой.

Пример:

Insert into Poshk_k nomp, famp, gord, stat

Values (“п6”, “быков”, “москва”, 10)

Другой синтаксис этой команды:

INSERT INTO <имя ТБД> FROM ARRAY <массив> FROM MEMVAR

Переносит данные, содержащиеся в указанном <массиве> (опиция ARRAY), или данные из временных переменных (опция MEMVAR). Такие переменные должны существовать и иметь те же самые имена, что и поля базы данных (но с префиксом M). Такие переменные, например, вырабатываются по команде SCATTER MEMVAR. Поля, для которых нет переменных с подходящими именами, останутся пустыми.

Таким образом, SQL-оператор INSERT INTO соответствует паре команд базового языка СУБД FoxPro – APPEND BLANK и REPLACE.

Дополняемая ТБД может быть и не открыта к моменту выполнения команды, однако после этого она останется открытой и активной.