Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭУБД_лекции.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.05 Mб
Скачать

3.4 Методы заполнения полей базы данных Использование insert

Оператор SQL INSERT используется для добавления строк в таблицы.

use employee;

delete from department;

insert into department values (42, 'Финансовый отдел'),

(128, 'Отдел проектирования'),

(NULL, 'Отдел кадров'),

(NULL, 'Отдел маркетинга');

Перед тем как вводить данные в каждую из таблиц, мы применяем оператор DELETE — это не обязательное действие, но благодаря ему будут удалены все тестовые данные, которые вы могли уже ввести.

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

Ввиду того, что столбец является столбцом auto_increment, мы можем ли­бо указать значение столбца сами, либо позволить MySQL вычислить его для нас. (Обычно выбор подходящего значения можно оставить на усмотрение MySQL, но иногда требуется указать конкретное значение, как это сделано здесь.)

В строках Отдел кадров и Отдел маркетинга, как видите, в качестве значения departmentID оставлено NULL. Это заставит параметр auto_ increment сделать свое дело, выбрав для столбца подходящее значение. Если вы посмотрите на приведенные здесь операторы INSERT, то увидите, что при добавлении данных типа строки или даты эти данные помещаются в оди­нарные кавычки, например 'Отдел проектирования'. Если же вставляемые данные являются числовыми, кавычки использовать не следует.

Если сами данные содер­жит кавычки, тогда перед одинарной кавычкой необходимо поместить обратную косую черту (\), например ' 0\ ' Leary'.

Извлекают данные из базы данных с помощью оператора

SELECT. select * from имя_таблицы;

Если напечатать select * from department; вы получите нечто похожее на следующий вывод:

вы получите все данные, которые в настоящий момент хранятся в таблице

Обратите внимание на результат работы auto_increment — соответству­ющее значение оказывается на единицу большим, чем максимальное текущее значение в столбце.

Аналогичным образом проведем заполнение всех таблиц базы данных

delete from employee;

insert into employee values (7513, 'Нора Эдварде', 'Программист', 128) ,

(9842, 'Бен Смит', 'Администратор БД', 42),

(6651, 'Аджай Пател', 'Программист', 128),

(9006, 'Кэнди Барнетт', 'Системный администратор', 128);

delete from employeeSkills;

insert into employeeSkills values (7513, 'C'),

(7513, 'Perl'),

(7513, 'Java'),

(9842, 'DB2'),

(6651, 'VB'),

(6651, 'Java'),

(9006, 'NT'),

(9006, 'Linux');

delete from client;

insert into client values (NULL, 'TelcoInc', '1 Collins St Melbourne', 'Fred Smith', '95551234'),

(NULL, 'The Bank', '100 Bourke St Melbourne', 'Jan Tristan', '95559876');

delete from assignment;

insert into assignment values (1, 7513, '2003-01-20', 8.5);

Использование replace

Оператор REPLACE аналогичен оператору INSERT, за исключением того, что при возникновении конфликта значений ключа новая добавляемая строка заменит старую.