Добавление данных
- Добавление полных строк
- Добавление части строки
- Добавление выбранных данных
- Копирование данных из одной таблицы в другую
Добавление полных строк
Простейший способ добавления данных в таблицу может быть реализован при использовании основного синтаксиса оператора INSERT. Для этого нужно указать имя таблицы и значения, которые должны быть введены в новую строку.
Вот пример:
'Toy Land', '123 Any Street',
'New York' ,
'NY' ,
'11111 ,
'USA',
NULL, NULL);
В этом примере в таблицу добавляются сведения о новом клиенте. Данные, которые должны быть сохранены в каждом столбце таблицы, указываются в условии VALUES, значения должны быть приведены для каждого столбца. Если для какого-то столбца не имеется соответствующего значения (например, как это произошло для столбцов cust^contact и cust_eraail в данном примере), следует использовать значение NULL (предполагается, что для данной таблицы разрешено не указывать значения в этих столбцах). Столбцы должны заполняться в порядке, в котором они появились в определении таблицы.
Ключевое слово INTO
Этот синтаксис довольно прост, но он не вполне безопасен, поэтому его применения следует всячески избегать. Результаты применения вышеприведенного оператора SQL весьма чувствительны к порядку, в котором столбцы определены в таблице. Они также зависят от того, соблюдается ли в действительности этот порядок. Однако даже если в данный момент порядок соблюдается, нет гарантий, что столбцы будут расположены в том же самом порядке, когда таблица будет реконструироваться в следующий раз. Следовательно, использовать оператор SQL, результаты применения которого зависят от порядка следования столбцов, весьма небезопасно. Если вы будете пренебрегать этим советом, вас ждут неприятности.
Безопасный (и, к сожалению, более громоздкий) способ записи оператора INSERT таков:
cust_address,
cust_city, cust_state,
cust_ZIP,
cust_country,
cust_contact,
cust_email) VALUES('1000000006',
'Toy Land',
'123 Any Street1,
'New York',
'NY' ,
'11111', 'USA',
NULL,
NULL);
В этом примере делается в точности то же самое, что и в предыдущем варианте применения оператора INSERT, но на этот раз имена столбцов явно указаны в круглых скобках, следующих после имени таблицы. Когда строка вводится в таблицу, СУБД устанавливает соответствие каждого предмета в списке столбцов с соответствующим значением в списке VALUES. Первое значение в списке VALUES соответствует первому указанному имени столбца, второе значение соответствует имени второго столбца и т.д.
Поскольку имена столбцов предоставлены, условие VALUES должно подобрать названные имена столбцов в порядке, в котором указаны столбцы, причем не обязательно в порядке, в каком они следуют в реальной таблице. Преимущество этого способа таково: даже если расположение столбцов в таблице изменяется, оператор INSERT все равно будет работать корректно.
Следующий оператор INSERT заполняет все столбцы строки (так же, как и в предыдущем примере), но делает это в другом порядке. Поскольку имена столбцов указываются, добавление будет выполнено правильно:
VALUES('4000000006' , NULL, NULL,
'Toy Land', '123 Any Street', 'New York', 'NY' , '11111',
Всегда используйте список столбцов
Как правило, оператор insert не используется без явного указания списка столбцов. Благодаря этому значительно возрастает вероятность того, что вы сможете продолжать работу, даже если в таблице произойдут изменения.



