После создания базы данных необходимо внести данные в таблицы. Для внесения данных в базу данных можно использовать оператор INSERT. Самый простой вариант – внесение данных во все поля таблицы:
mysql> INSERT INTO cars VALUES
('Volga', '2003', 'A786YC23', 'white', '','1');
Аналогично можно добавлять данные только в избранные поля, при этом надо указать имена полей явно:
mysql> INSERT INTO cars (model, madein, reg_number, color) VALUES
-> ('Volga', '2002 ' , 'A788YC23', 'yellow');
mysql>INSERT INTO cars (model, madein, reg_number, color) VALUES
-> ('Volkswagen','2003','A789YC23','red');
mysql>INSERT INTO cars (model, madein, reg_number, color) VALUES
-> ('Renault', '2005' , 'A790YC23', 'white');
Добавим еще несколько значений в созданные ранее таблицы:
mysql> INSERT INTO timetable VALUES ('2008-08-09', 3,1,1),
-> ('2008-07-21', 2,2,2), ('2008-07-20', 2,2,3);
Последняя запись наверняка делается диспетчером автопарка каждый день с утра. Чтобы упростить его работу, можно использовать встроенную в MySQL функцию curdate(), которая возвращает текущую дату как раз в нужном формате:
mysql> INSERT INTO timetable VALUES (curdate(), 2,2,4);
Если вы попытаетесь оставить пустыми поля, отмеченные NOT NULL и не имеющие значения по умолчанию, то сервер MySQL выдаст сообщение об ошибке и не выполнит команду.
Кроме того, сервер MySQL 5 проверяет связи между таблицами при внесении записей. То есть вам не удастся внести в поле, являющееся внешним ключом, значение, отсутствующее в связанной таблице.
Утилита mysql может создавать таблицы и заполнять их данными и в пакетном режиме. Для этого необходимо создать текстовый сценарий с командами SQL, обычно такой сценарий сохраняют в файле с расширением sql. Затем необходимо запустить утилиту mysql в пакетном режиме и передать ей имя сценария. Рассмотрим эту процедуру подробнее в следующем разделе.
Обновление и удаление данных в таблицах
Если необходимо изменить значение поля, то следует использовать команду UPDATE. В команде надо указать имя используемой таблицы и предложение SET, определяющее изменение, которое нужно сделать для некоторого столбца. Исправим дату выпуска автомобиля "Renault":
mysql>UPDATE cars SET madein='2004' WHERE model='Renault';
Можно изменить значение всех полей столбца, например, при переоценке товаров. Увеличим цены на все товары на 10% с учетом инфляции:
mysql>UPDATE goods SET price = price * 1.1;
Удалить целые строки из таблицы можно с помощью команды DELETE. Удалим некоторые строки из таблицы cars в связи с продажей старых машин, изготовленных до 2006 г.:
mysql>DELETE FROM cars where madein<=2005;
Можно удалить все записи из таблицы:
mysql>DELETE FROM cars;
При этом счетчик автомобилей в столбце id не сбрасывается, и при вставке новых данных MySQL автоматически присвоит новой записи следующий после последнего удаленного номер.
Для того чтобы очистить таблицу и сбросить счетчик, можно применить команду:
mysql>TRUNCATE cars;
Удалить таблицу можно командой DROP TABLE:
mysql>DROP TABLE timetable;
При этом надо иметь права на удаление, а также учитывать, что удалить таблицу, имеющую первичный ключ, по которому осуществляется связь с другой таблицей, MySQL не позволит, пока не удалена таблица с соответствующим внешним ключом. Удалить можно и всю базу целиком: