SQL
January 12
Изменение данных - INSERT, UPDATE, DELETE
INSERT - Вставка данных
Для начала создадим новую таблицу:
CREATE TABLE band_my ( band_id INTEGER, name VARCHAR, year SMALLINT, comment VARCHAR);
INSERT INTO band_my (band_id, name, year, comment) VALUES (303, 'The Beatles', 1957, '')
Так же можно добавлять несколько записей за раз:
INSERT INTO band_my (band_id, name, year, comment) VALUES (93, 'Metallica', 1981, ''), (192, 'Queen', 1970, 'UK Rock')
Есть 3 типа добавления строк:
- Вставка одной или нескольких строк:
INSERT INTO band_my (band_id, name, year, comment) VALUES (.....)
- Вставка с помощью SELECT и запроса из другой таблицы:
INSERT INTO band_my(band_id, name, year, commnet) SELECT ........ FROM another_table
- Загрузка данных из внешних файлов:
COPY band FROM '/tmp/band'
- Сделать вставку при создании таблицы:
CREATE TABLE band AS SELECT ........... FROM another_table
UPDATE - Обновление данных
UPDATE band_my SET comment = 'Rock band' WHERE name = 'Metallica';
В предыдущем варианте UPDATE мы явно указывали новые значения колонок с помощью констант. Другой вариант указывать значения не в виде констант, а брать их из другой таблицы.
Допустим, есть таблица band_old, в которой те же самые музыкальные группы и мы хотим перенести значения колонок name и таблицы band_old в таблицу band_my.
UPDATE band_my as t SET name = t2.name FROM band_old as t2 WHERE t.band_id = t2.band_id
DELETE - Удаление данных
DELETE - удаляет строки из таблицы
DELETE FROM band_my WHERE name = 'Metallica';