- •1 . Архитектуры обработки данных. 1
- •Архитектура файл/сервер.
- •Архитектура клиент/сервер.
- •Многозвенная архитектура.
- •Способы организации данных.
- •Сетевая модель данных
- •Реляционная модель данных.
- •ЯзыкSqLкак язык работы с реляционными базами.
- •Данные и взаимосвязи.
- •Объекты.
- •Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц?
- •Нормализация данных.
- •Первая нормальная форма.
- •Вторая нормальная форма.
- •Третья нормальная форма.
- •Типы данных.
- •Числовые целые типы данных.
- •Числовые типы данных с плавающей точкой.
- •Символьные типы данных.
- •. Типы данных date, time и datetime.
- •Специальные типы данных.
- •Структура запроса, основные ключевые слова и операторы
- •Список основных операторовSql
- •Список основных ключевых словSql
- •ОператорSelect
- •ПредложениеSelect
- •ПредложениеFrom
- •Повторяющиеся строки (ключевое слово distinct).
- •ПредложениеWhere
- •Условия поиска.
- •Составные условия поиска (and, or и not)
- •Проверка на принадлежность диапазону значений (between)
- •Проверка на членство в множестве (in)
- •Проверка на равенство значению null (is null)
- •Проверка на соответствие шаблону (like)
- •Подстановочные знаки
- •Сортировка результатов запроса (предложениеOrder by)
- •Агрегатные функции
- •Вычисление суммы столбца (sum)
- •Вычисление экстремумов (min и max)
- •Вычисление среднего значения (avg)
- •Вычисление количества значений в столбце (count)
- •Запросы с группировкой (предложениеGroup by)
- •Условия поиска групп having
- •Работа с несколькими таблицами
- •Вложенные запросы
- •Исходная база данных
- •Вложение запросов.
- •Оператор exists
- •Объединение множества запросов в один
- •Когда можно выполнить объединение запросов ?
- •Использование union с order by.
- •Команды модификации данных
- •Ввод значений (insert)
- •Вставка пустых указателей (null)
- •Именование названий столбцов для вставки
- •Вставка результатов запроса
- •Удаление строк из таблиц (delete)
- •Изменение значений поля (update)
- •Использование подзапросов для команд модификации данных
- •Использование подзапросов в insert
- •Использование подзапросов с delete
- •Модификация структуры данных
- •Команда сreate table
- •Команда alter table.
- •Команда drop table
Команды модификации данных
Значения могут быть помещены и удалены из полей, тремя командами подмножества SQL языка DML ( Язык Манипулирования Данными ):
INSERT (ВСТАВИТЬ),
UPDATE (МОДИФИЦИРОВАТЬ),
DELETE (УДАЛИТЬ).
Ввод значений (insert)
Все строки в SQL вводятся с использованием команды модификации INSERT. В самой простой форме, INSERT использует следующий синтаксис:
INSERT INTO <table name>
VALUES ( <value>, <value> . . .);
Так, например, чтобы ввести строку в таблицу Клиент, мы можем использовать следующий запрос (напомним последовательность полей для этой таблицы Idn;Idn_города;название;реквизиты;Idn_банка ):
INSERT INTO Клиент
VALUES (1001, 23, ‘Рога&Копыта’, ‘Приморский бульвар 9’.12);
Вставка пустых указателей (null)
Если вам нужно ввести пустое значение(NULL), вы вводите его точно также как и обычное значение. Предположим, значение поля реквизиты (в нашем случае это адрес) неизвестно, тогда запрс будет иметь следующий вид:
INSERT INTO Клиент
VALUES (1001, 23, ‘Рога&Копыта’ NULL, .12);
Так как NULL - это специальный маркер, а не просто символьное значение, он не включается в кавычки.
Именование названий столбцов для вставки
Мы можем также указывать столбцы, куда мы хотим вставить значение имени. Это позволяет нам вставлять имена в любом порядке. Предположим, что мы хотим ввести в таблицу клиент данные только об имени клиента его идентификаторе и идентификаторе города:
INSERT INTO Клиент
(название; Idn;Idn_города)
VALUES (‘Рога&Копыта’, 1001,23);
Поля не указанные в запросе автоматически установлены в значение - по умолчанию. Если при создании таблицы не указано иное, по умолчанию устанавливается NULL
Вставка результатов запроса
Вы можете также использовать команду INSERT чтобы получать значения из одной таблицы и помещать их в другую. Чтобы сделать это, вы просто заменяете предложение VALUES (из предыдущего примера) на соответствующий запрос:
INSERT INTO Londonstaff
SELECT *
FROM Salespeople
WHERE city = 'London';
Общее правило то, что вставляемые столбцы таблицы, должны совпадать со столбцами выводимыми подзапросом.
Удаление строк из таблиц (delete)
Мы можем удалять строки из таблицы командой модификации - DELETE. Она может удалять только целые строки, а не отдельные значения полей. Чтобы удалить все содержание таблицы Клиентов, нам нужно ввести :
DELETE FROM Клиент;
Чаще, нам нужно удалить только некоторые определенные строки из таблицы. Чтобы определить какие строки будут удалены, мы используем WHERE, так же как вы это делали для запросов SELECT. Например, чтобы удалить из таблицы клиента с идентификатором 666, мы вводим:
DELETE FROM Клиент
WHERE Idn= 1003;
Можно также использовать DELETE с предикатом который бы выбирал группу строк, как показано в этом примере:
DELETE FROM Клиент
WHERE Idn_города=33;
Изменение значений поля (update)
UPDATE изменяет значения строк в таблице.
Например, можно повысить Idn всех клиентов на 5:
UPDATE КЛИЕНТ
SET IDN= IDN +5
Выходные данные:
IDN |
IDN_ГОРОДА |
ИМЯ |
РЕКВИЗИТЫ |
IDN_БАНКА |
204 |
106 |
Петров |
-------------- |
311 |
205 |
109 |
Кузнецов |
-------------- |
314 |
206 |
107 |
Иванов |
-------------- |
317 |
208 |
109 |
Золин |
-------------- |
311 |
210 |
110 |
Киров |
-------------- |
323 |
212 |
108 |
Павлов |
-------------- |
317 |
215 |
110 |
Петренко |
-------------- |
318 |
Чаше, приходится изменять значения для некоторых выбранных строк, для этого используется WHERE
Следующий пример позволяет поменять идентификатор банка для всех клиентов, у которых он равен 23
UPDATE КЛИЕНТ
SET IDN_банка = IDN_банка 54
WHERE IDN_банка = 23
В приведенных выше примерах модифицировался только один столбец, однако, мы можем указать любое число столбцов, отделяемых запятыми. Покажем, как изменить название и реквизиты для клиента с идентификатором 1001
UPDATE КЛИЕНТ
SET Название = ‘Московские баранки’,
Реквизиты = ‘Политехнический проезд 12’
WHERE IDN = 1001