Существуют несколько операторов SQL для управления метаданными, которые используются для создания, изменения или удаления баз данных и содержащихся в них объектов (таблиц, представлений и др.). Мы рассмотрим некоторые из них: CREATE TABLE, ALTER TABLE и DROP.
Для создания новой таблицы необходимо использовать оператор CREATE TABLE:
CREATE TABLE <имя таблицы>
(полеl тип поля размер поля, поле2 тип поля размер поля, …, поле n тип поля размер поля)
В этом операторе следует указать имя поля, тип данных для него (тип данных должен поддерживаться используемой СУБД), длину (для некоторых типов полей). Например, следующий запрос создает таблицу с именем Simple с четырьмя столбцами: LastName, FirstName, EMail и HomePage:
CREATE TABLE Simple (FirstName char (30), LastName char(30), EMail char(20), HomePage har(255)
Используя предложение SELECT'и ключевое слово INTO, можyj создавать новые таблицы, основанные на условии, указанном в предложении WHERE. Например:
SELECT *
INTO NewOrders
FROM Orders
WHERE OrderDate> 1/1/97
Этот запрос создаст новую таблицу NewOrders и заполнит ее данными о заказах, начиная с 1 января 1997 года.
Для изменения структуры существующей таблицы используется оператор ALTER TABLE. Применяя его, можно добавить либо удалить поле или серверное ограничение.
Первая разновидность этого оператора используется для добавления поля к таблице, и ее синтаксис имеет вид:
ALTER TABLE <имя таблицы> ADD <имя поля> <тип> <размер>
В запросах такого вида определяются имя таблицы, имя нового поля, его тип данных и, если нужно, размер. Помимо этого можно указать серверное ограничение, связанное с данным полем. Например, для добавления поля Phone к таблице Simple, созданной ранее, можно выполнить следующий запрос:
ALTER TABLE Simple ADD Phone char(20)
Вторая разновидность предложения ALTER TABLE применяется для удаления поля из таблицы:
ALTER TABLE <имя таблицы> DROP <имя поля>
ALTER TABLE Simple DROP Phone
Для удаления таблиц или индексов можно использовать оператор DROP, имеющий две разновидности.
Первая из них применяется для удаления таблицы из базы данных:
DROP TABLE <имя таблицы>
Вторая разновидность используется для удаления индекса:
DROP INDEX index ON table Другие операторы SQL
Как было отмечено ранее, существует около 40 оператор SQL. Мы рассмотрели большинство из них. Некоторые из: рассмотренных нами операторов перечислены ниже:
• операторы CREATE, такие как CREATE DATABASE, CREATE VIEW, CREATE TRIGGER (два последних из них мы рассмотрим в следующей главе);
• операторы ALTER, такие как ALTER DAТА BASE, ALTER VIEW и ALTER TRIGGER,
• операторы DROP, такие как DROP DATABASE, DROP VIEW, DROP TRIGGER;
• BEGIN TRANSACTION, COMMIT TRANSACTION и ROLLBACK TRANSACTION для выполнения группы нескольких операторов как единой логической группы;
• DECLARE CURSOR, OPEN и FETCH для работы с курсорами;
• GRANT и REVOKE для добавления или удаления прав на использование объектов базы данных, а также CREATE USER, ALTER USER, DROP USER, CREATE GROUP, ALTER GROUP и DROP GROUP для управления списком пользователей и групп пользователей.
Мы узнали, что:
• SQL — непроцедурный язык, предназначенный для управления данными в реляционных СУБД Последний официальный стандарт был опубликован ANSI в 1992 году, и современная реализация SQL называется SQL92. Язык SQL поддерживается большинством производителей СУБД. Уже есть стандарт SQL95;
• оператор SELECT следует использовать для извлечения данных из таблиц. Предложение WHERE можно применять для того, чтобы ограничить результирующий набор данных записями, удовлетворяющими заданному условию;
• предложение GROUP ВУ может быть использовано для создания результирующего набора данных, содержащего суммарные данные из одной или нескольких таблиц;
• для получения данных из нескольких таблиц можно использовать ключевое слово JOIN;
• операторы CREATE, ALTER и DROP могут быть использованы для создания, модификации и удаления баз данных и содержащихся в них объектов (таблиц, представлений и др.).