Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по ORACLE 2004 года.doc
Скачиваний:
26
Добавлен:
03.05.2015
Размер:
466.43 Кб
Скачать

6 Regiser varchar2(20), Таблица создана.

7 god_vip date,

8 Stoimost_prok number(5,2),

9 KOL number(2));

Таблица создана.

SQL> create table dogovor

2 (KlientID number(2)

3 constraint KlientID_fk references

4 klient(klientID),

5 filmID NUMBER(2)

6 CONSTRAINT filmID_fk references

7 film (filmID),

8 Vidacha date,

  1. Vozvrat date);

Таблица создана.

Создание таблицы с заполнением строками из другой таблицы

Синтаксис

CREATE TABLE таблица

[столбец(, столбец...)]

AS подзапрос;

где: таблица имя таблицы.

cтолбец имя столбца, значение по умолчанию и ограничение целостности.

подзапрос команда SELECT, определяющая строки для вставки в новую таблицу.

Синтаксис

DESC[RIBE]имя_таблицы

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

Пример.

Подтверждение создания таблицы Klient и Dogovor.

SQL> Describe Klient

Имя Пусто? Тип

----------------------------------------- -------- ----------------------------

KLIENTID NOT NULL NUMBER(2)

FIO VARCHAR2(25)

PHONE VARCHAR2(11)

SQL> Describe Dogovor

Имя Пусто? Тип

----------------------------------------- -------- ----------------------------

KLIENTID NUMBER(2)

FILMID NUMBER(2)

VIDACHA DATE

VOZVRAT DATE

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

Тема: ОБРАБОТКА ДАННЫХ

Для добавления, изменения или удаления данных из базы данных выполняется команда DML (язык манипулирования данными).

Вставка строк в таблицу

Синтаксис

INSERT INTO таблица [(столбец [, столбец...])]

VALUES (значение [, значение...]);

где: таблица имя таблицы.

столбец имена столбцов таблицы, в которые вносятся значение.

значение соответствующие значения столбцов.

Эта команда с предложением VALUES добавляет в таблицу только одну строку.

SQL> Desc film

Имя Пусто? Тип

----------------------------------------- -------- ----------------------------

FILMID NOT NULL NUMBER(2)

NAMEF NOT NULL VARCHAR2(25)

REGISER VARCHAR2(20)

GOD_VIP DATE

STOIMOST_PROK NUMBER(5,2)

KOL NUMBER(2)

SQL> Insert into film

2 Values (1, 'Красотка', 'Поланский','12-12-1987', 30, 2);

1 строка создана.

SQL> Insert into film

2 values (2, 'Дом', 'Шолохов', '17-01-1991', 25, 3);

1 строка создана.

Символьные значения и значения дат заключаются в апострофы; цифровые значения в апострофы не заключаются.

Вставка неопределенных значений

  • Неявный - Опустить столбец в списке столбцов.

  • Явный - Задать ключевое слово NULL в списке VALUES.

- Задать пустую строку (‘’) в списке VALUES (только для символьных строк и дат).

Пример.

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

SQL> Insert into film(FilmId, namef, god_vip, stoimost_prok, kol)

2 values (3, 'Азазель','1-02-2002',30,5);

1 строка создана.

Пример.

Еще один метод: неопределенное значение вводится в строку явно путем указания ключевого слова NULL вместо значения.

SQL> Insert into film

2 values (4, 'Ва-банк', null,'2-03-1985',30,3);

Select sysdate from sys.dual;

1 строка создана.

Пример.

Запись информации о взятом в прокат фильме в таблицу DOGOVOR. Текущие дата и время указывается в столбце Vidacha.

SQL> Insert into dogovor (klientID,FilmId,Vidacha)

2 values(1,1,sysdate);

1 строка создана.

Пример.

Проверить, что строки действительно вставлены в таблицу.

SQL> select klientID,FilmId,Vidacha from dogovor

2 where klientid=1;

KLIENTID FILMID VIDACHA

--------------- ------------ --------

1 1 16.05.03

Вставка конкретных значений даты и времени

Формат даты DD-MON-YY (число-месяц-год). В этом формате стандартным значением для столетия считается текущее столетие. Дата содержит и информацию о времени, стандартным значением времени является полночь (00:00:00). Если требуется задать другой век и конкретное время, применяется функция TO_DATE.

Пример.

Запись информации о взятом в прокат фильме в таблицу DOGOVOR. Время и дата (8 часов 00 минут 1 января 2003 г.) указывается в столбце Vidacha.

SQL> Insert into dogovor (klientID,FilmId,Vidacha)

2 values(1,2, to_date('01-01-03 08:00','DD-MM-YY HH:MI'));