Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000259.doc
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.27 Mб
Скачать

3.5.11. Запросы на создание таблиц

Запрос на создание таблиц аналогичен запросу на добавление, за исключением того, что он создает новую таблицу и сразу же копирует в нее записи. Общий вид запроса:

SELECT <список полей> INTO<имя новой таблицы>

Примеры.

Из таблицы ЗАКАЗЫ сформировать новую таблицу АРХИВ_ЗАКАЗОВ, которая содержит заказы, сделанные до 1 января 2012 года:

SELECT ЗАКАЗЫ.* INTO АРХИВ_ЗАКАЗОВ

FROM ЗАКАЗЫ

WHERE [Дата заказа] <= #01/01/12#;

Из таблицы ПОСТАВКА сформировать новую таблицу АРХИВ, в которую отправить записи с датой поступления, совпавшей с запрашиваемой:

SELECT ПОСТАВКА.Индекс_товара, ПОСТАВКА.Код_поставщика, ПОСТАВКА.Дата_поступления, ПОСТАВКА.Количество INTO АРХИВ FROM ПОСТАВКА

WHERE ПОСТАВКА.Дата_поступления=[Введите дату поступления];

3.5.12. Использование языка определения данных

Команды языка определения данных (Data Definition Language – DDL) представляют собой инструкции SQL, которые позволяют создавать и модифицировать элементы структуры базы данных. Например, используя DDL, можно создавать, удалять таблицы и изменять их структуру, создавать и удалять индексы.

Создание таблицы. Оператор создания таблицы имеет следующий вид:

CREATE TABLE <имя таблицы>

(<имя столбца> <тип данных> [NOT NULL]

[,<имя столбца> <тип данных> [NOT NULL]]…)

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

При создании таблицы для отдельных полей могут указываться некоторые дополнительные правила контроля вводимых в них значений. Например, конструкция NOT NULL (не пустое) служит для определения обязательного поля.

Следует отметить, что в коммерческих продуктах определение типов данных не полностью согласуется с требованиями официального стандарта SQL. Это объясняется желанием обеспечить совместимость SQL с другими языками программирования.

Стандарт SQL поддерживает следующие типы данных.

  1. Строка данных

CHARACTER [(длина)] или CHAR [(длина)]

Значения данного типа имеют фиксированную длину, которая определяется параметром длина. Этот параметр может принимать значения от 1 до 255 символов. Если вводимая текстовая константа меньше заданной длины, то автоматически строка дополняется справа пробелами.

Некоторые реализации языка SQL поддерживают в качестве типа данных строки переменной длины. Этот тип обозначается

VARCHAR [(длина)]

Этот тип описывает текстовую строку, которая может иметь произвольную длину. Максимальная длина определяется конкретной реализацией языка SQL (например, в ORACLE – до 2000 символов). При вводе текстовой константы, длина которой меньше заданной, не происходит дополнение ее пробелами до заданного максимального значения.

Текстовые константы в выражениях SQL заключаются в одиночные кавычки.

Если длина строки не указана явно, она полагается равной одному символу во всех случаях.

  1. Числовые типы данных.

Стандартными числовыми типами данных SQL являются:

INTEGER – используется для представления целых чисел в диапазоне от –231 до +231;

SMOLLINT – используется для представления чисел в диапазоне от –215 до +215;

DECIMAL (точность [, масштаб]) – десятичное число с фиксированной точкой, точность определяет количество значащих цифр в числе. Масштаб указывает максимальное число цифр справа от точки.

NUMERIC (точность[, масштаб]) – десятичное число с фиксированной точкой, такое же, как и DECIMAL;

FLOAT [(точность)] – число с плавающей точкой и указанной минимальной точностью;

REAL – число такое же, как при типе FLOAT, за исключением определения точности по умолчанию (в зависимости от конкретной реализации SQL);

DOUBLE PRECISION – число аналогично REAL, но точность в два раза выше точности REAL.