- •Методические указания к лабораторным работам по курсу «Базы данных»
- •Оглавление
- •Создание связей
- •Создание рекурсивных связей
- •Ввод данных в таблицы
- •Дефрагментизация таблиц
- •Создание запросов в «OpenOffice». Создание простых запросов
- •Вычисление значений выражений
- •Работа с null значениями
- •Исключение повторяющихся записей
- •Запрос данных из связанных таблиц
- •Контрольные задачи на простые запросы
- •Правое и левое соединение таблиц
- •Черная кошка в темной комнате
- •Если таблицы не соединять или «все комбинации»
- •Статистические функции
- •Запросы непосредственно на sql
- •Контрольные задачи на запросы на sql
- •Запросы на изменение данных
- •Запрос select … into
- •Запрос insert into
- •Запрос delete
- •Запрос update
- •Запрос drop table
- •Запрос create table
- •Запрос alter table
- •Запрос create view
- •Запрос drop view
- •Пакеты запросов на изменение
- •Пакеты запросов, формируемые select запросами
- •Хранимые процедуры и функции
- •Создание форм с выбором значений из списка Создание форм с помощью мастера.
- •Ввод данных с помощью формы.
- •Формы с расположением элементов типа столбцы или блоки.
- •Редактирование формы с помощью конструктора.
- •Создание выпадающего списка
- •Создание выпадающего списка в таблице
- •Создание независимых субформ
- •Доступ к элементам форм из программ на basic Библиотеки макросов
- •Вызов функции по нажатию кнопки
- •Настройка вызова редактора макросов по кнопке
- •Получение значений, введенных в поля формы
- •Изменение значений, в полях формы
- •Получение данных из текущей записи формы
- •Изменение данных текущей записи формы
- •Представление зависимых таблиц на одной форме
- •Представление независимых таблиц на одной форме
- •Обновление форм после изменения данных в базе.
- •Открытие формы по нажатию кнопки
- •Выполнение sql запросов из макросов Выполнение запросов на изменение данных
- •Универсальная форма для запросов на изменение данных
- •Выполнение параметрических запросов
- •Выполнение запросов на выборку данных
- •Загрузка данных в массив и вывод списка
- •Загрузка файла в базу данных и выгрузка файла из базы
- •Приложение 1 - Встроенные функции и процедуры Hsqldb Функции для работы с числами
- •Функции для работы со строками
- •Функции для работы с датой/временем
- •Функции информации о подключении к базе данных
- •Прочие функции
- •Литература
Функции для работы с датой/временем
CURDATE() – возвращает текущую дату
returns the current date
CURTIME()– возвращает текущее время
DATEDIFF(type, datetime1, datetime2) – возвращает число единиц времени, между datetime1 и datetime2. Единица времени задается параметром type: 'ms'='millisecond', 'ss'='second','mi'='minute','hh'='hour', 'dd'='day', 'mm'='month', 'yy' = 'year'. И короткая и длинная форма может быть использована.
DAYNAME(date) – возвращает наименование дня недели (английское)
DAYOFMONTH(date) – возвращает день месяца (1-31) для даты date
DAYOFWEEK(date) – возвращает номер дня недели (1-воскресенье)
DAYOFYEAR(date) – возвращает день года (1-366) для даты date
HOUR(time) – возвращает час (0-23)
MINUTE(time) – возвращает минуту (0-59)
MONTH(date) – возвращает номер месяца (1-12)
MONTHNAME(date) – возвращает наименование(английское) месяца (1-12)
NOW() - возвращает текущую дату и время
QUARTER(date) – возвращает номер квартала(1-4) для даты date
SECOND(time) – возвращает секунду(0-59)
WEEK(date) – Возвращает номер недели(1-53) года
YEAR(date) – возвращает год для даты date
CURRENT_DATE– возвращает текущую дату
CURRENT_TIME– возвращает текущее время
CURRENT_TIMESTAMP - возвращает текущую дату и время
Функции информации о подключении к базе данных
DATABASE() – возвращает имя базы данных, к которой подключен пользователь
USER() - возвращает имя пользователя, подключившегося к базе данных
CURRENT_USER - возвращает имя пользователя, подключившегося к базе данных
IDENTITY() – возвращает значение поля типа счетчик (автозначение) из последней добавленной записи в данном сеансе работы.
Прочие функции
IFNULL(exp,value) – Если результатом вычисления выражения «exp» явлается NULL, возвращает «value», иначе возвращает результат «exp».
COALESCE(expr1,expr2,expr3,...) – Если значение «expr1» не NULL, возвращает его, иначе, вычисляет выражение «expr2», и если результат не NULL, возвращает его. И так далее.
NULLIF(v1,v2) – Если «v1» равно «v2» - возвращает NULL, иначе возвращает «v1»
CASEWHEN(exp,v1,v2) – Если разультат выражения «exp» истина, возвращает «v1» , иначе возвращает «v2»
CONVERT(exp,type) – преобразует значение выражения «exp» к типу «type». Например, CONVERT('2010-12-31',DATE), CONVERT(YEAR("d1")||'-01-01',DATE)
CAST(exp AS type) – преобразует значение выражения «exp» к типу «type»
CASE v1 WHEN v2 THEN v3 END – Когда «v1» равно «v2», возвращает «v3» иначе NULL
CASE v1 WHEN v2 THEN v3 ELSE v4 END – Когда «v1» равно «v2», возвращает «v3» иначе «v4»
CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2] [ELSE v4] END – Когда значение выражения «expr1» - TRUE возвращает «v1», иначе если значение выражения «expr2» - TRUE возвращает «v2» (таких блоков может быть несколько или не быть вообще), иначе возвращает «v4» (или NULL, если блок ELSE опущен)
EXTRACT ({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} FROM dt) возвращает год или месяц или день, или час или минуту или секунду для значения даты/времени «dt»
POSITION(substring IN s) Возвращает позицию подстроки «substring» в строке «s» или 0 (если не такой подстроки нет)
SUBSTRING(s FROM start [FOR len]) Возвращает подстроку, строки s, начиная с символа с индексом start (счет с 1), и длиной len символов.
TRIM( LEDING ... FROM ...)[2]
TRIM(LEADING FROM s) Удаляет все пробелы в начале строки s и возвращает полученную строку.
TRIM(TRAILING FROM s) Удаляет все пробелы в конце строки s и возвращает полученную строку.
TRIM(BOTH FROM s) Удаляет все пробелы в начале и конце строки s и возвращает полученную строку.