Фамилия varchar(20) not null

Имя VARCHAR (20) NOT NULL,

Отчество VARCHAR (20),

Дата DATE,

КодТовара INTEGER,

Количество DOUBLE);

Замечание 1. Для указания первичного ключа в описании поля используется ключевое слово PRIMARY KEY.

Замечание 2. Для указания обязательного заполнения поля используется ключевое слово NOT NULL.

Ввод новых записей в таблицу

Инструкция INSERTосуществляет добавление новых записей в конец таблицы. Эта инструкция имеет вид:

INSERT INTO <Имя таблицы> VALUES (<Значение1>, <Значение 2>, …<Значение n>);

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

Пример 2

INSERT INTO Покупка

VALUES (16,“Иванов”, “Пётр”, “Ильич”, “04.12.2014”, 3, 2);

В таблицу Покупка вводится запись, в которой содержится информация о том, что Иванов Пётр Ильич 4 декабря 2014 года купил продукт с кодом товара 3 в количестве 2-х упаковок.

Если значение какого-либо поля не определено и является необязательным, то при вводе записи значение этого поля вводится как NULL-значение.

Сделайте аналогичный запрос, но вместо отчества “Ильич” введите NULL. Посмотрите, что получится в результате выполнения запроса.

Пример 3

INSERT INTO Покупка

VALUES(17,“Иванов”, “Пётр”, NULL ,“07.12.2014”, 4, 3);

Если необходимо ввести значения полей в порядке отличном от порядка столбцов, заданного в таблице или нужно ввести значения не во все поля, можно использовать другую форму инструкции:

INSERT INTO <Имя таблицы> (<Поле 1>, <Поле 2>, …, <Поле m>) VALUES (<Значение 1>, <Значение 2>, …, <Значение m>)

Пример 4

INSERT INTO Покупка (Номер, Имя, Фамилия, КодТовара, Количество)

VALUES (18, “Пётр”, “Иванов”, 5, 2);

В этом запросе после названия таблицы указаны названия полей, в которые далее вводятся значения. Остальным полям, не указанным в списке, автоматически присваивается значение по умолчанию или NULL.

Создание новой таблицы на основе уже существующей таблицы

Инструкция SELECT … INTO создаёт новую таблицу на основе уже существующей. До сих пор с помощью инструкции SELECT мы создавали виртуальную таблицу, которая не сохранялась в базе данных. Для создания реальной таблицы как результат обработки существующих таблиц, используется команда:

SELECT <Поле 1>, <Поле 2>, …, <Поле k>

INTO <Имя новой таблицы>

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

Пример 5

SELECT Фамилия, Имя, Отчество, Дата, КодТовара, Количество

INTO Октябрь

FROM Покупка

WHERE Дата BETWEEN cdate(“01.10.2014”) AND cdate(“31.10.2014”);

Замечание. При создании новой таблицы её поля наследуют типы данных и размеры полей основной таблицы.

Удаление записей из таблицы

Удаление строк из таблицы осуществляется инструкцией DELETE. Эта инструкция имеет вид:

DELETE

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

WHERE <Условие отбора>;

Пример 6

DELETE FROM Покупка

WHERE Фамилия = “Соловьёв”;

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

Пример 7

DELETE FROM Продукция

WHERE ВидТовара = “Лосьон”;

Этот запрос удаляет из прайс-листа все лосьоны.

Изменение данных таблицы

Инструкция UPDATE позволяет изменить, то есть обновить значения некоторых полей в некоторой строке или нескольких строках таблицы. Эта инструкция имеет вид:

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

SET <Поле1>=<Новое значение1>, <Поле2>=<Новое значение2>, …, <Поле m>=<Новое значение m>

WHERE <Условие отбора>;

Пример 8

UPDATE Продукция

SET Баллы=15

WHERE ВидТовара = “Духи”;

После выполнения этого запроса в прайс-листе за покупку любых духов клиенту будет начисляться 15 баллов.

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

Пример 9

UPDATE Продукция

SET Баллы = 10, Цена = 770

WHERE Наименование = “Красная заря”;

В результате этого запроса в прайс-листе на продукт «Красная Заря» устанавливается цена 770 рублей, а клиенту при покупке этого продукта будет начислено 10 баллов.

В конструкции SET команды UPDATE можно использовать выражения, указывающие способ изменения значений поля.

Пример 10

UPDATE Продукция

SET Баллы = Баллы+1.4

WHERE ВидТовара = “Одеколон”;

Этим запросом в прайс-листе на все одеколоны баллы увеличиваются на 1,4.

Пример 11

UPDATE Продукция

SET Баллы = Баллы/2.1,

Цена = Цена-50

WHERE Наименование = “Зелёное яблоко”;

С помощью этого запроса на продукт под названием «Зелёное яблоко» цена уменьшается на 50 рублей, а начисляемые клиенту баллы при покупке этого продукта уменьшаются в 2,1 раза.



Наши рекомендации