Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа7.doc
Скачиваний:
5
Добавлен:
06.11.2018
Размер:
461.82 Кб
Скачать
    1. Модификация записей (update, insert, delete)

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

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

<имя поля> = <выражение>

<имя поля> = <выражение>

[WHERE <условие отбора>]

Если условия отбора не задано, то изменятся поля всех записей таблицы. Чтобы изменить одно поле <условие отбора> нужно задавать по ключевым полям. Пример изменения телефона у первой записи (предполагается что Code - ключевое поле):

UPDATE Person.db SET Tel = 271212 WHERE Code=1

Пример изменения всех записей:

UPDATE Tovar.db SET Price = Price*1.1

Добавление записей реализуется оператором INSERT:

INSERT INTO <имя таблицы>

[(<список полей>)]

VALUES (<список значений>)

Если <список полей> не указан, то <список значений> должен содержать значения всех полей. Пример:

Insert into Tovar.Db (Name, Price, Count) values (’Яблоки’, 20, 10)

Оператор INSERT позволяет также добавлять записи из других таблиц:

INSERT INTO <имя таблицы>

[(<список полей>)]

<оператор SELECT>

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

INSERT INTO Sclad.db (Name, Price, Count)

SELECT Name, SUM(Prise*Count)/ SUM(Count), SUM(Count)

FROM Sales.db GROUP BY Name

Для удаления группы записей используется оператор DELETE:

DELETE FROM <имя таблицы>

[WHERE <условие отбора>]

В результате его выполнения из указанной таблицы удаляются все записи, удовлетворяющие <условию отбора>. Пример:

DELETE FROM Sclad.db WHERE Count = 0

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

    1. Некоторые функции языка sql

Агрегатные (или статистические) функции:

  • AVG – среднее значение;

  • MAX – максимальное значение;

  • MIN - минимальное значение;

  • SUM – сумма;

  • COUNT – количество записей.

Функции работы со строками

  • UPPER(Str) – преобразование символов к верхнему регистру;

  • LOWER(Str) - преобразование символов к нижнему регистру;

  • TRIM(Str) – удаление пробелов в начале и конце строки;

  • SUBSTRING(Str FROM n1 TO n2) – копирование из строки символов Str, начиная с номера n1 и заканчивая номером n2;

  • Str1 || Str2 – объединение строк;

  • EXTRACT (<элемент> FROM <выражение>) – извлечение из выражения содержащего дату или время соответствующего <элемента> = YEAR, MONTH, DAY, HOUR, MINUTE или SECOND.

    1. Отчеты

Отчетом называется печатный документ, в котором содержится информация, полученная в результате выполнения SQL-запроса. В Delphi для построения отчетов применяется генератор отчетов QuickReport. Большое количество специальных компонентов позволяют создавать самые разнообразные отчеты. Но можно выводить данные в обычный текстовый документ или HTML-документ, вставляя теги при выводе в файл типа TextFile, или в Excel или Word-документ, используя OLE-технологии.

    1. Компоненты для построения отчетов

На странице QReport располагается более 20 компонентов, применяемых для построения отчетов:

QuickRep - определяет поведение отчета в целом.

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

  • область заголовка отчета

  • область заголовка страницы

  • область заголовка группы

  • область названий столбцов отчета

  • область детальных данных

  • область подвала группы

  • область подвала страницы

  • область подвала отчета

QRStringBand – имеет то же назначение, что и QRBand, но, в отличии от него, имеет встроенный список строк Items, содержимое которого будет видно при печати или предварительном просмотре, если на нем помещен компонент QRExpr.

QRExpr – применяется для вывода значений, являющихся результатом вычисления выражений по введенным формулам с помощью встроенного редактора формул.

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

QRChildBand – выполняет функции дочерней полосы, которая привязывается к родительской полосе и служит для ее расширения. Любая полоса может быть определена как родительская путем установки ее свойства HasChild в True.

QRGroup – применяется для группировки данных в отчете.

QRLabel – дает возможность разместить в отчете произвольную текстовую строку, например надписи столбцов.

QRDBText – используется для вывода в отчете содержимого поля набора данных.

QRSysData – служит для отображения в отчете системных значений: дата, время, номера страниц и т.д.

QRMemo – позволяет вставить в отчет многострочный текст.

QRExprMemo – используется для создания многострочных вычисляемых полей.

QRRichText – дает возможность добавить в отчет текст в формате RTF.

QRShape – применяется для отображения в отчете простых геометрических фигур: квадрат, круг и т.д.

QRImage – служит для вывода в отчете графической информации, источником которой является поле набора данных.

QRPreview – используется для создания нестандартных окон предварительного просмотра.

QRChart – служит для добавления в отчет графиков и диаграмм.