Пример 7.
Пример 6.
Пример 5.
Ввод данных в таблицу.
Пример4.
Удаление таблицы.
Пример 3.
CREATE INDEX Гр ON Студент([группа]) WITH DISALLOW NULL
Для удаления таблицы (одновременно и структуры, и данных) используется команда:
DROP TABLE имя таблицы
Для удаления только индекса таблицы (сами данные не разрушаются) выполняется команда:
DROP INDEX имя индекса ON имя таблицы.
DROP INDEX Адр ON Студент — удален только индекс Адр;
DROP TABLE Студент — удалена вся таблица.
Формирование новой записи в таблице выполняется командой:
INSERT INTO таблица [(поле1[, поле2[, …]])] VALUES (значение 1[, значение2[,…]),
Указывается имя таблицы, в которую добавляют запись, состав полей, для которых вводятся значения.
INSERT INTO Студент ([Фамилия], [Имя], [Дата рождения]) VALUES ("Петров", "Иван", 23/3/80)
Возможен групповой ввод записей (пакетный режим), являющихся результатом выборки (запроса) из других таблиц:
INSERT INTO таблица [IN внешняя база данных] SELECT [источник.]поле1[, поле2[,…] FROM выражение WHERE условие.
|
|
Сначала выполняется оператор подзапроса SELECT, который и формирует выборку для добавления.
Фраза SELECT определяет структуру данных источника передаваемых записей — имена таблицы и полей, содержащих исходные данные для загрузки в таблицу.
FROM позволяет указать имена исходных таблиц, участвующих в формировании выборки, а фраза WHERE задает условия выполнения подзапроса. Структура данных выборки должна соответствовать структуре данных таблицы, в которую производится добавление.
Добавление (перезагрузка) записей возможна и во внешнюю базу данных, для которой указывается полностью специфицированное имя (диск, каталог, имя, расширение). Структуры таблиц должны совпадать.
INSERT INTO Студент SELECT [Студент-заочник]. * FROM [Студент-заочник]
Все записи таблицы СТУДЕНТ-ЗАОЧНИК будут добавлены в таблицу СТУДЕНТ.
INSERT INTO Студент SELECT [Студент-заочник]. * FROM [Студент-заочник]
WHERE [Дата рождения] > = # 01/01/80 #
Записи таблицы СТУДЕНТ-ЗАОЧНИК добавляются в таблицу СТУДЕНТ, если дата рождения студента больше или равна указанной.
Операцию INNER JOIN можно использовать в любом предложении FROM. Она создает симметричное объединение, наиболее частую разновидность внутреннего объединения. Записи из двух таблиц объединяются, если связующие их поля содержат одинаковые значения:
FROM таблица1 INNER JOIN таблица2 ON таблица1. поле1=таблица2. поле2
Данный оператор описывает симметричное соединение двух таблиц по ключам связи (поле1; поле2). Новая запись формируется в том случае, если в таблицах содержатся одинаковые значения ключей связи.
|
|
Возможные варианты операции:
• LEFT JOIN (левостороннее) соединение — выбираются все записи «левой» таблицы и только те записи «правой» таблицы, которые содержат соответствующие ключи связи;
• RIGHT JOIN (правостороннее) соединение — выбираются все записи «правой» таблицы и только те записи «левой» таблицы, которые содержат соответствующие ключи связи.
SELECT Студент. *, Оценка.* FROM Студенты INNER JOIN Оценка ON Студент. [№ зач. книжки] = Оценка.[№ зач. книжки];
SELECT Студент.*, Оценка.* FROM Студенты LEFT JOIN Оценка ON Студент.[№ зач. книжки] = Оценка [№ зач. книжки];
SELECT Студент.*, Оценка.* FROM Студенты RIGHT JOIN Оценка ON Студент.[№ зач.книжки] = Оценка [№ зач. книжки]
В первом случае создается симметричное соединение двух таблиц по полю [№ зач. книжки]. Не выводятся записи, если значение их ключей связи (указанное поле) не представлено в двух таблицах. Во втором случае будут выведены все записи таблицы СТУДЕНТ и соответствующие им записи таблицы ОЦЕНКА. В третьем случае — наоборот, все записи таблицы ОЦЕНКА и соответствующие им записи таблицы СТУДЕНТ.
Операции JOIN могут быть вложенными для последовательного соединения нескольких таблиц.