русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Добавление данных


Дата добавления: 2015-07-09; просмотров: 737; Нарушение авторских прав


Перед тем как начать изменение данных в таблицах или выборку данных из таб­лиц, необходимо их вставить. Данные в таблицу SQL Server могут быть внесены различными способами.

С помощью команды INSERT. Используя единственную команду INSERT, можно добавить как одну строку, так и множество строк. Причем разрешается указа­ние вставляемых значений как с помощью переменных (или констант), так и с помощью запроса.

С помощью команды SELECT INTO. В этом случае на основе результата выборки, возвращаемого запросом, сервер автоматически создает новую таблицу.

 

Использование команды INSERT

Начнем рассмотрение вставки данных в таблицу с команды INSERT. Как уже было сказано, эта команда может быть использована для вставки как одной, так и множества строк. Более того, эта же команда используется и при вставке строк через представление. Приведем синтаксис команды INSERT:

INSERT [INTO] таблица_или_представление [(список_столбцов)]

VALUES (список_значений)

Рассмотрим назначение каждого из аргументов команды.

[INTO]. Дополнительное ключевое слово, которое может быть использовано в команде между словом INSERT и именем таблицы (представления) для обозначения, что следующий параметр является именем таблицы, в которую будут вставлены данные.

Если список столбцов опущен, то сервер будет вставлять данные последовательно во все столбцы, начиная с первого. Значения для столбцов указываются после ключевого слова VALUES. Для каждого столбца должен быть указан аргумент, имеющий соответствующий тип данных. Если список столбцов не указан, то количество значений VALUES должно соответствовать количеству столбцов таблицы. Если же пользователь явно задал список столбцов, то это определяет порядок зна­чений VALUES (и, соответственно, их типы). Можно не указывать явно значения для столбцов, если для них определено значение по умолчанию или разрешено хранение значений NULL. Кроме того, запрещается указание явных значений для столбцов-счетчиков (с установленным свойством IDENTITY) и столбцов с типом данных timestamp.



- VALUES ( DEFAULT | NULL | expression ). Ключевое слово VALUES определяет набор данных, которые будут вставлены в таблицу. Количество аргу­ментов VALUES определяется количеством столбцов в таблице или количеством столбцов в списке (если таковой имеется). Для каждого столбца таблицы можно указать один из трех возможных вариантов.

- DEFAULT. Будет вставлено значение по умолчанию, определенное для столбца. Если для столбца разрешено хранение значений NULL, а значение по умолчанию не определено, то в столбец будет вставлено значение NULL. Параметр DEFAULT нельзя использовать при вставке значений в столбцы-счетчики.

- NULL. При указании этого параметра в столбец будет вставлено значение NULL. Естественно, вставка таких значений будет успешной, если для столбца была разрешена возможность хранения значений NULL. Отметим, что для столбцов, входящих в первичный ключ, возможность хранения значений NULL не предусмотрена.

- expression. В явном виде задает значение, которое будет вставлено в столбец таблицы. Этот параметр должен иметь тот же тип данных, что и столбец, а также удовлетворять ограничениям целостности, определенным для соответствующего столбца. В качестве этого параметра может быть использована константа, переменная, выражение, подзапрос или их произвольная комбинация.

При использовании оператора INSERT для модификации представления следует учитывать следующие ограничения:

- представление не должно содержать функций агрегирования, таких как COUNT или AVG;

- представление не должно содержать операторов TOP, GROUP BY, UNION, DISTINCT.

- представление не должно содержать вычисляемых столбцов;

- представление должно ссылаться на таблицу во фразе FROM;

- оператор INSERT модифицирует столбцы только из одной таблицы.

 

Рассмотрим пример добавления студента Алексея Петрова в таблицу Students:

Пример 1

Insert Students (id, family, Name, _ID_Group) Values (13, ‘Петров’, ‘Алексей’, 10)

 

Использование команды SELECT...INTO

Если необходимо быстро создать таблицу со структурой, позволяющей сохранить результат выполнения запроса, то лучшим выходом будет использование коман­ды SELECT...INTO. При выполнении запроса SELECT...INTO сервер автоматически создаст новую таблицу с нужной структурой и вставит в нее полученный набор строк. Заметим, что в базе данных не должно существовать таблицы или представления, имя которых совпадает с именем таблицы, указанной в команде SELECT...INTO.

Синтаксис команды SELECT...INTO следующий:

SELECT <столбец> AS <псевдоним> INTO <новая_таблица> FROM <список_источников>

Рассмотрим назначение приведенных аргументов:

- аргумент <столбец> определяет имя столбца таблицы, которая будет включена в результат. Указанный столбец должен принадлежать одной из таблиц, перечисленных в списке источников. Если столбцы, принадлежащие разным таблицам, имеют одинаковые имена, то для столбцов необходимо использовать псевдонимы. В противном случае сервер попытается создать таблицу со столбцами, имеющими одинаковые имена. В результате произойдет ошибка и выполнение запроса будет прервано. Указание псевдонимов обязательно для столбцов, значения в которых формируются на основе вычисления выражений. По умолчанию такие столбцы не имеют никакого имени, что недопустимо для таблицы. Назначение псевдонимов также полезно, когда пользователь хочет задать столбцам в создаваемой таблице новые имена (отличные от исходных).

- аргумент <новая_таблица> содержит имя создаваемой таблицы. Это имя должно быть уникальным в пределах базы данных. Можно задать имя временной таблицы, если перед именем указать символ # или ##.

- в простейшем случае конструкция FROM содержит список исходных таблиц. В более сложных запросах с помощью этой конструкции определяются условия связывания двух и более таблиц.

Рассмотрим пример

Пример 2.

Select *

Into #t1

From Students.

 



<== предыдущая лекция | следующая лекция ==>
Теоретическая часть | Изменение данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.081 сек.