SQL Server СОЗДАТЬ ТАБЛИЦУ

В этом руководстве вы узнаете, как использовать оператор SQL Server CREATE TABLE для создания новой таблицы.

Введение в оператор SQL Server CREATE TABLE

Таблицы используются для хранения данных в базе данных. Таблицы имеют уникальные имена в базе данных и схеме. Каждая таблица содержит один или несколько столбцов. И каждый столбец имеет связанный тип данных, который определяет вид данных, которые он может хранить, например, числа, строки или временные данные.

Чтобы создать новую таблицу, используйте оператор CREATE TABLE следующим образом:

CREATE TABLE [database_name.][schema_name.]table_name(
    pk_column data_type PRIMARY KEY,
    column_1 data_type NOT NULL,
    column_2 data_type,
    ...,
    table_constraints
);

В этом синтаксисе:

  • Сначала укажите имя базы данных, в которой создается таблица. Имя_базы_данных должно быть именем существующей базы данных. Если вы его не укажете, имя_базы_данных по умолчанию будет текущей базой данных.
  • Во-вторых, укажите схему, к которой принадлежит новая таблица.
  • В-третьих, укажите имя новой таблицы.
  • В-четвертых, каждая таблица должна иметь первичный ключ, состоящий из одного или нескольких столбцов. Обычно сначала перечисляются столбцы первичного ключа, а затем другие столбцы. Если первичный ключ содержит только один столбец, можно использовать ключевые слова PRIMARY KEY после имени столбца. Если первичный ключ состоит из двух или более столбцов, необходимо указать ограничение PRIMARY KEY в качестве ограничения таблицы. Каждый столбец имеет связанный тип данных, указанный после его имени в операторе. Столбец может иметь одно или несколько ограничений столбца, таких как NOT NULL и UNIQUE.
  • В-пятых, таблица может иметь некоторые ограничения, указанные в разделе ограничений таблицы, такие как FOREIGN KEY, PRIMARY KEY, UNIQUE и CHECK.

Обратите внимание, что CREATE TABLE сложен и имеет больше опций, чем синтаксис выше. Мы постепенно познакомим вас с каждой отдельной опцией в последующих уроках.

Пример SQL Server CREATE TABLE

Следующий оператор создает новую таблицу с именем sales.visits для отслеживания посещений магазинов клиентами:

CREATE TABLE sales.visits(
    visit_id INT PRIMARY KEY IDENTITY(1, 1),
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    visited_at DATETIME,
    phone VARCHAR(20),
    store_id INT NOT NULL,
    FOREIGN KEY(store_id) REFERENCES sales.stores(store_id)
);

В этом примере:

Поскольку мы не указываем явно имя базы данных, в которой создается таблица, таблица посещений создается в базе данных BikeStores. Для схемы мы указываем ее явно, поэтому таблица посещений создается в схеме продаж.

Таблица посещений содержит шесть столбцов:

  • Столбец visit_id является первичным ключевым столбцом таблицы. IDENTITY(1,1) указывает SQL Server автоматически генерировать целые числа для столбца, начиная с единицы и увеличивая на единицу для каждой новой строки.
  • Столбцы first_name и last_name — это столбцы символьных строк с типом VARCHAR. Эти столбцы могут хранить до 50 символов.
  • Visited_at — это столбец DATETIME, в котором регистрируется дата и время посещения магазина клиентом.
  • Столбец телефона представляет собой столбец переменной строки символов, который принимает значение NULL.
  • В столбце store_id хранятся идентификационные номера, идентифицирующие магазин, который посетил клиент.
  • В конце определения таблицы находится ограничение FOREIGN KEY. Этот внешний ключ гарантирует, что значения в столбце store_id таблицы visits должны быть доступны в столбце store_id таблицы stores. Подробнее об ограничении FOREIGN KEY вы узнаете в следующем уроке.

В этом руководстве вы узнали, как использовать оператор SQL Server CREATE TABLE для создания новой таблицы в базе данных.

Мирослав С.

Автор статей, ИБ-специалист