Создание, удаление и модификация таблиц.
Создание таблицы:
Синтаксис:
CREATE TABLE <имя_таблицы>
(<имя_столбца> {<тип_данных> | AS <выражение>}
{[DEFAULT <значение>] | [IDENTITY [(начальное значение, инкремент)]]}
{[NULL | NOT NULL] | [UNIQUE | PRIMARY KEY]}
[REFERENCES <имя главной таблицы> [(<имя столбца>)]]
, ...)
Имя таблицы должно быть уникальным в пределах базы данных, а имена столбцов – уникальными в пределах таблицы.
Наиболее часто используется повторяющаяся конструкция <имя столбца> <значение>:
NULL указывает на то, в этом столбце возможны неопределённые значения (естественно, такой столбец не может быть ключевым).
UNIQUE (ограничение целостности) указывает, что каждое значение в столбце является уникальным в пределах этого столбца. Для такого ограничения целостности автоматически создаётся индекс.
PRIMARY KEY – создаётся первичный ключ на базе соответствующего столбца. Для таблицы может быть создано только одно такое ограничение целостности.
DEFAULT – указывается значение по умолчанию для данного столбца.
IDENTITY – создаётся столбец-счётчик. Только один столбец может быть счётчиком.
REFERENCES – определяет, что столбец будет служить внешним ключом для таблицы, указанной с помощью параметра <имя главной таблицы>. Столбцы, входящие во внешний ключ, могут ссылаться только на столбцы первичного ключевого ограничения или ограничения UNIQUE. Дополнительно ограничение может быть уточнено ключевыми словами ON DELETE {CASCADE | NO ACTION} ON UPDATE {CASCADE | NO ACTION}
Примеры создания таблиц (работа с которыми была рассмотрена выше):
CREATE TABLE authors (au_id INT PRIMARY KEY, author CHAR(25) NOT NULL);
CREATE TABLE publishers (pub_id INT PRIMARY KEY, publisher VARCHAR(255) NOT NULL, url VARCHAR(255) DEFAULT ‘неизвестен’);
CREATE TABLE titles (title_id INT NOT NULL PRIMARY KEY, title CHAR(255) NOT NULL, yearpub INT, pub_id INT REFERENCES publishers(pub_id);
Создание таблицы с вычисляемыми полями:
CREATE TABLE MyTable (FirstCol int, SecondCol int, ThirdCol AS (FirstCol+SecondCol)/2.0)
Удаление таблицы:
Синтаксис:
DROP TABLE <имя_таблицы>
Модификация таблицы:
Команда ALTER TABLE берёт на себя все действия по копированию данных во временную таблицу, удалению старой таблицы, созданию вместо неё новой таблицы с нужной структурой и последующим переписыванием в неё данных. Все эти действия происходят без участия пользователя, при этом установленные права доступа к таблице сохраняются.
Добавление столбцов (синтаксис):
ALTER TABLE <имя_таблицы> ADD
(< возможное содержание аналогично содержимому в скобках для команды CREATE TABLE >
,...)
Удаление столбцов:
ALTER TABLE <имя_таблицы> DROP (<имя столбца>, …)
Модификация столбцов:
ALTER TABLE <имя_таблицы> MODIFY
(< возможное содержание аналогично содержимому в скобках для команды CREATE TABLE >
,...)
Пример:
ALTER TABLE MyTable ADD DateCol datetime DEFAULT GETDATE() NOT NULL UNIQUE
Дата добавления: 2015-07-30; просмотров: 866;