Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с записями.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
287.35 Кб
Скачать

Вставка, выборка, модификация и удаление записей таблиц

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

В данном случае необходимо перейти от изучения языка определения данных DDL (Data Definition Language) к изучению языка манипуляции данными DML (Data Manipulation Language).

Рассмотрим последовательно все основные операции, выполняемые над информацией, которая хранится в таблицах базы данных.

7.4.1. Операции вставки строк

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

INSERT INTO [имя_схемы.]имя_таблицы

[(имя_колонки1, имя_колонки2, ...)]

VALUES (выражение1, выражение2, ...)

Необязательный параметр имя_схемы используется для уточнения имени схемы, в которой находится таблица Oracle. По умолчанию используется схема пользователя, выполняющего операцию.

Перечисление колонок (имя_колонки1, имя_колонки2, ...) является необязательным. В случае его отсутствия подразумевается, что при вставке строки будут заполнены поля соответствующие всем колонкам, при этом порядок следования колонок будет использоваться тот, который был задан при создании таблицы с помощью команды CREATE TABLE.

Параметры (выражение1, выражение2, ...) заменяются на вычисляемые значения.

Рассмотрим использование команды INSERT на примерах. Пусть таблица project была создана следующей командой:

CREATE TABLE project (

proj_no NUMBER(4),

proj_name VARCHAR2(30),

bdate DATE,

budget NUMBER(10,2) )

Тогда для вставки строк в таблицу project можно использовать следующие команды:

  1. INSERT INTO project (proj_name, proj_no, budget, bdate,) VALUES (’Проект 1’,1, ,123.45, TO_DATE(’01.06.2009’,’DD.MM.YYYY’))

  1. INSERT INTO project (proj_no, proj_name) VALUES (2, ’Проект 2’)

  1. INSERT INTO project VALUES (1, ’Проект 1’, TO_DATE(’01.06.2009’,’DD.MM.YYYY’), 123.45)

В команде (1) перечислены все колонки таблицы project в произвольном порядке. После ключевого слова VALUES записаны выражения, значения которых будут вычислены и помещены в соответствующие поля таблицы project.

При заполнении колонок, имеющих тип DATE, в прикладных программах пользовательский интерфейс позволяет вводить дату в обычном национальном формате (например, 2 символа числа, 2 символа месяца и 4 символа года, разделенные точкой). Однако при составлении запроса, выполняющего вставку строки, в которой есть колонки типа DATE, необходимо использовать встроенную функцию TO_DATE, которой в качестве параметров передаются строка, содержащая дату (’01.06.2009’), и строка, содержащая формат даты (’DD.MM.YYYY’).

В команде (2) перечислены не все колонки. При выполнении такой команды поля, соответствующие отсутствующим колонкам, будут заполнены неопределенным (NULL) значением.

В команде (3) перечисление колонок отсутствует, то есть по умолчанию подразумеваются тот состав и тот порядок колонок, которые были использованы в команде CREATE TABLE.

Строки, которые необходимо вставить в таблицу, могут быть результатом запроса к другой таблице или представлению. При этом синтаксис команды INSERT будет иметь следующий вид: