2.3 Средства модификации данных языка SQLМодификация данных подразумевает три возможных операции: вставка, изменение и удаление. В этом разделе показывается как выполняются эти операции средствами языка SQL. 2.3.1 Вставка данныхДля вставки данных в таблицы служит SQL-оператор INSERT. Этот оператор имеет две формы, в зависимости от того, всем ли столбцам таблицы присваиваются значения. Если указываются значения всех столбцов, то оператор имеет следующий вид: INSERT INTO WORK Обратите внимание, что значения типа Integer и Numeric не заключаются в кавычки, в отличие от Char и VarChar. Если данные для каких-то столбцов отсутствуют, можно использовать ключевое слово NULL для пропускаемых значений: INSERT INTO ARTIST Вторая форма оператора INSERT, которая допускает пропуск значений некоторых столбцов, предполагает перечисление имен столбцов, которым будут присвоены значения. Например, следующий оператор добавляет в таблицу ARTIST строку, в которой столбцам ArtistID, Name и Nationality присвоены значения, а столбцы BirthDate и DeceasedDate оставлены пустыми: INSERT INTO ARTIST (Name, Nationality, ArtistID) Если для какого-либо столбца при создании таблицы было определено начальное значение, тогда несмотря на то, что в операторе INSERT значение этому столбцу может и не присваиваться, СУБД все равно установит его равное значению по умолчанию. Есть несколько дополнительных замечаний, которые следует сделать по поводу второй формы оператора INSERT. Во-первых, порядок, в котором перечисляются значения столбцов, должен соответствовать порядку следования их имен. В предыдущем примере имена столбцов идут в порядке (Name, Nationality, ArtistID), поэтому сначала должно быть указано значение столбца Name, затем - Nationality и, наконец, ArtistID. Следует отметить, что столбцы в таблице идут в другом порядке (см. табл. 1.1). Во-вторых, чтобы вставка была выполнена, необходимо задать значения всех столбцов, определенных как NOT NULL. Если требуется скопировать большое количество данных из другой таблицы, их значения можно получить с помощью оператора SELECT. Например, следующий оператор копирует значения столбцов ArtistID, Name и Nationality из таблицы ARTIST в таблицу ARTIST_NEW (которая должна быть создана заранее): INSERT INTO ARTIST_NEW (ArtistID, Name, Nationality) Обратите внимание, что в этом случае ключевое слово VALUES не входит в оператор SELECT.
|