Create sql table sql server: SQL CREATE TABLE Statement

Создать таблицу SQL Server шаг за шагом

Автор: Jan Potgieter   |
Обновлено: 28 июля 2022 г.   |
Комментарии (1)   | Похожие: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Подробнее > TSQL

Проблема

В предыдущем совете мы рассмотрели основные этапы
создание базы данных
в SQL-сервере. База данных не может эффективно использоваться сама по себе, а таблицы очень
важным вторым шагом в этом процессе, потому что именно здесь информация
хранится. В этом руководстве по SQL мы начнем с основ создания таблицы.
(синтаксис, определение столбца, типы данных, ограничения и т. д.) и построить
после этого к более продвинутым шагам при создании таблицы.

Решение

Мы создадим несколько тестовых баз данных, а затем создадим в них таблицы.
Начиная с простого примера и опираясь на примеры.

Оператор SQL CREATE TABLE

В приведенных ниже примерах мы рассмотрим различные аспекты создания новой таблицы:

  1. Создать таблицу с одним целочисленным столбцом
  2. Создать одну таблицу столбцов varchar
  3. Создайте одну таблицу, содержащую только имена
  4. Создать таблицу со столбцом ID
  5. Создайте таблицу и сделайте столбец ID ограничением первичного ключа
  6. Создайте таблицу, сделайте столбец ID ограничением первичного ключа и укажите столбец ID
    как личность
  7. Создайте таблицу, сделайте столбец ID ограничением первичного ключа, укажите столбец ID
    как удостоверение и дать первичному ключу осмысленное имя

Для начала мы создадим базу данных SQL для тестирования со следующим
синтаксис:

 --Настройте тестовую среду, создав мастер TestDB USE;
ИДТИ
  
УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ TestDB;
ИДТИ
  
СОЗДАТЬ БАЗУ ДАННЫХ TestDB;
ИДТИ
  
ИСПОЛЬЗУЙТЕ тестовую базу данных;
ИДТИ
 

1 — Создание одного целого числа
таблица столбцов

 --Создайте очень простую таблицу с 1 целочисленным столбцом
CREATETABLE IntTable (intColumn int)
 
-- вставьте некоторые данные со значениями, разделенными запятыми, чтобы создать новые строки
ВСТАВИТЬ IntTable (intColumn)
ЗНАЧЕНИЯ (1), (2), (3), (4), (5)

-- выбрать данные из существующей таблицы
ВЫБЕРИТЕ* ИЗ IntTable

-- получить подробную информацию о таблице
EXECSP_HELP IntTable
 

2 — Создание одиночный varchar
таблица столбцов для строки символов

 --Создать очень простую таблицу с 1 символом столбца
CREATETABLE VarTable (varColumn varchar(10))

-- вставьте некоторые данные со значениями, разделенными запятыми, чтобы создать новые строки
INSERTINTO VarTable (varColumn)
ЗНАЧЕНИЯ ('a'), ('b'), ('c'), ('d'), ('e') ('c'), ('d'), ('e')

-- выбрать данные из существующей таблицы
ВЫБЕРИТЕ* ИЗ VarTable

-- получить подробную информацию о таблице
EXECSP_HELP VarTable
 

3 — Создание одной таблицы, которая содержит только имена

 --Создайте очень простую таблицу с 1-символьным столбцом, содержащим имена
CREATETABLE NamesTable (имя varchar (10))

-- вставьте некоторые данные со значениями, разделенными запятыми, чтобы создать новые строки
INSERTINTO NamesTable (имена)
ЗНАЧЕНИЯ ('Джон'), ('Мэри'), ('Шон'), ('Барри'), ('Гэри') ('Барри'), ('Гэри')

-- выбрать данные из существующей таблицы
ВЫБЕРИТЕ* ИЗ Таблицы имен

-- получить подробную информацию о таблице
EXECSP_HELP Таблица имен
 

Я разместил 3 окна запроса рядом друг с другом и
запустил 3 сценария SQL (выше) по одному в каждом окне запроса. В верхней части вы можете увидеть содержимое таблицы,
SELECT * FROM

. Обратите внимание на каждую из 6 частей ниже, поскольку мы будем
обсуждая их далее в этом руководстве.

Извиняюсь за маленькое изображение, но можно повторить
это с помощью 3 окон запросов рядом друг с другом и выполнения вышеуказанных запросов.

4 — Создать таблицу с Идентификатор столбца

 --Создать таблицу со столбцом ID
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ PrimKeyTable

СОЗДАТЬ ТАБЛИЦУ PrimKeyTable (ID int)

EXEC sp_help PrimKeyTable;
 

5 — Сделать столбец идентификатора первичным ключом

 -- Сделать столбец ID первичным ключом
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ PrimKeyTable

CREATE TABLE PrimKeyTable (первичный ключ с идентификатором int)

exec sp_help PrimKeyTable;
 

6 — Укажите столбец идентификатора как идентификатор по
автоинкрементировать значение

 -- Укажите столбец ID как Identity DROP TABLE IF EXISTS PrimKeyTable

CREATE TABLE PrimKeyTable (ID int идентификатор первичного ключа)

exec sp_help PrimKeyTable;
 

7 — Дайте первичному ключу осмысленное имя

 -- Дайте первичному ключу осмысленное имя
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ PrimKeyTable

CREATE TABLE PrimKeyTable (ID int ограничение PK_PrimKeyTable идентификатор первичного ключа)

exec sp_help PrimKeyTable
 

На этот раз я разместил 4 окна запроса рядом с каждым
другой и запускал указанные выше SQL-скрипты в каждом окне.

Внимательно осмотрите детали, выделенные желтым цветом:

  • Идентичность, см. разницу между 4 частями результата
  • Имя_индекса, см. имя, когда вы не указываете имя по сравнению с тем, когда вы даете
    это имя
  • Тип_ограничения, см. имя_ограничения, если первичный не
    имя указано и когда имя указано

Еще раз извиняюсь за маленькое изображение, но просто поставил
4 окна запросов рядом друг с другом и выполнить четыре вышеуказанных запроса.

Очистить, удалив базу данных TestDB.

 мастер ЕГЭ;
ИДТИ
 
--Удалить базу данных, если она существует
УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ TestDB;
ИДТИ
 

База данных HR и таблица

Теперь рассмотрим несколько более полных примеров таблиц. В этом разделе мы создадим отдел кадров.
базу данных, которую мы будем расширять в будущих руководствах.

Сначала создадим базу данных, а затем таблицу, в которой будут храниться основные
информация о Компании: имя, адрес, контактный номер и адрес электронной почты.

 --Создать базу данных HR
ЕГЭ мастер
ИДТИ
  
УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ HRDatabase
ИДТИ
  
СОЗДАТЬ БАЗУ ДАННЫХ
ИДТИ
  
ИСПОЛЬЗОВАТЬ базу данных HR
ИДТИ
  
--Создайте таблицу, содержащую информацию о компании, адресе,
-- его контактный номер и адрес электронной почты
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании
СОЗДАТЬ ТАБЛИЦУ Компаний (
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80)
)

ВСТАВИТЬ В КОМПАНИИ
ЦЕННОСТИ («Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]",
(«Компания Bravo», «456 South Street, Brooklyn, Pretoria», «091 523 4789», «[email protected]»)
(«Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[электронная почта защищена]»)
("Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]"),
("Echo Company", "100 Amber Street, Hatfield, Pretoria", "091 523 9685", "[email защищено]")
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

Набор результатов из выбранного выше покажет
информацию ниже.

Также см. вывод sp_help в таблице. Обратите внимание на раздел Column_name и Identity.
выделены желтым цветом на изображении ниже. Мы видим столбцы, которые были
создан и что мы не используем Identity.

Добавление столбца идентификаторов в таблицу компаний

Чтобы различать записи, используя только один столбец, мы добавим идентификатор
столбец как целочисленный столбец, поэтому мы можем присвоить значение 1,2,3 и т. д. каждому
компания.

 --Добавить столбец ID
  
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;

СОЗДАТЬ ТАБЛИЦУ Компаний (
ID ИНТ,
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80)
)

ВСТАВЬТЕ В КОМПАНИИ (ID, CompanyName, CompAddress, CompContactNo, CompEmail)
ЗНАЧЕНИЯ (1, «Компания Alpha», «123 North Street, Garsfontein, Pretoria», «091 523 6987», «[email protected]»),
(2, «Компания Браво», «456 Саут-стрит, Бруклин, Претория», «091 523 4789", "[электронная почта защищена]",
(3, «Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[email protected]»),
(4, "Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]"),
(5, «Echo Company», «100 Amber Street, Hatfield, Pretoria», «091 523 9685», «[email protected]»)
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

При просмотре вывода sp_help , разница только в
добавление целочисленного столбца с именем ID.

Сделать столбец ID первичным ключом

в таблице компаний

Следующий набор кода покажет, как сделать столбец ID первичным ключом.
Это важно, поэтому данные в этом столбце являются УНИКАЛЬНЫМИ.
значение для каждой строки.

 -- Сделать столбец идентификатора первичным ключом
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;

СОЗДАТЬ ТАБЛИЦУ Компаний (
ID INT ПЕРВИЧНЫЙ КЛЮЧ,
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80)
)

ВСТАВИТЬ В КОМПАНИИ
ЦЕННОСТИ (1, «Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]",
(2, «Bravo Company», «456 South Street, Brooklyn, Pretoria», «091 523 4789», «[email protected]»),
(3, «Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[email protected]»),
(4, "Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]"),
(5, «Echo Company», «100 Amber Street, Hatfield, Pretoria», «091 523 9685», «[email protected]»)
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

Когда вы делаете столбец ID ПЕРВИЧНЫМ КЛЮЧОМ, индекс
создается, и SQL Server генерирует имя для индекса PK__Companie__3214EC272796CE10 .
в нашем примере.

Обратите внимание на index_description
и index_keys на изображении ниже.

Сделать столбец ID столбцом

идентификаторов и первичным ключом в таблице компаний

Столбец идентификаторов — это числовой столбец в таблице,
автоматически заполняется целочисленным значением каждый раз при вставке строки.
Вы можете указать начальный номер и приращение идентификатора следующим образом: identity(startValue,
приращение). Итак, если мы используем (1,5), оно начнется со значения 1 и будет увеличиваться
значение на 5 для следующей записи. По умолчанию (1,1). Ниже мы начнем с
101 и увеличить на 100.

 -- Сделать столбец ID столбцом идентификации
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;
ИДТИ
  
СОЗДАТЬ ТАБЛИЦУ Компаний (
ID INT PRIMARY KEY IDENTITY (101 100),
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80)
)
 
ВСТАВИТЬ В КОМПАНИИ
ЗНАЧЕНИЯ («Компания Alpha», «123 North Street, Garsfontein, Pretoria», «091 523 6987», «[email protected]»),
(«Компания Браво», «Южная улица, 456, Бруклин, Претория», 2009 г. 1 523 4789", "[электронная почта защищена]",
(«Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[email защищен]»),
("Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]"),
("Echo Company", "100 Amber Street, Hatfield, Pretoria", "091 523 9685", "[email защищено]")
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

Ниже мы можем видеть значения столбца ID, а также информацию об идентичности
столбец. Вы можете видеть, что при вставке новых записей идентификатор
столбец начинается со 101 и увеличивается на 100, поэтому следующая запись имеет идентификатор 201,
и так далее.

Добавить столбец CreateDate с отметкой даты и времени по умолчанию в таблице компаний

Давайте продолжим развивать наши примеры, добавив
штамп даты и времени при вставке записи. Для этого мы создадим ограничение и установим по умолчанию значение getdate().

Ограничения используются для указания правил для данных в таблице и могут ограничивать тип данных, которые
можно зайти в стол. Это обеспечивает точность и достоверность данных. Если есть какое-либо нарушение между ограничением и действием данных,
действие прерывается. Ограничения могут быть на уровне столбца или таблицы. Столбец
ограничения уровня применяются к столбцу, а ограничения уровня таблицы применяются ко всему
стол.

 -- Добавить столбец CreateDate с отметкой даты и времени по умолчанию
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;
ИДТИ
  
СОЗДАТЬ ТАБЛИЦУ Компаний (
ID INT PRIMARY KEY IDENTITY,
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80),
CreateDate DATETIMECONSTRAINT DF_CreateDate_Companies ПО УМОЛЧАНИЮ (getdate())
)

ВСТАВИТЬ В КОМПАНИИ (CompanyName, CompAddress, CompContactNo, CompEmail)
ЦЕННОСТИ («Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]",
(«Компания Bravo», «456 South Street, Brooklyn, Pretoria», «091 523 4789», «[email protected]»)
(«Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[email защищен]»),
("Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]"),
("Echo Company", "100 Amber Street, Hatfield, Pretoria", "091 523 9685", "[email защищено]")
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

Обратите внимание на столбец CreateDate
и его определение выше и дополнительное ограничение
на изображении ниже.

Добавить столбец true-false в таблицу компаний

Еще одно полезное поле для добавления, чтобы определить, активна запись или нет.
Мы создадим столбец IsActive, и если он равен 1, он активен, а если равен 0, то нет.
активный.

 --Добавить столбец true-false
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;
ИДТИ
  
СОЗДАТЬ ТАБЛИЦУ Компаний (
ID INT PRIMARY KEY IDENTITY (101 100),
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80),
Активный бит,
CreateDate DATETIME CONSTRAINT DF_CreateDate_Companies ПО УМОЛЧАНИЮ (getdate())
)
 
ВСТАВИТЬ В КОМПАНИИ (CompanyName, CompAddress, CompContactNo, CompEmail, IsActive)
ЦЕННОСТИ («Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]", 1),
("Bravo Company", "456 South Street, Brooklyn, Pretoria", "091 523 4789", "[email protected]", 1),
(«Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[email protected]», 0),
("Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]", 1),
(«Echo Company», «100 Amber Street, Hatfield, Pretoria», «091 523 9685», «[email protected]», 1)
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

В приведенном выше операторе вставки столбец IsActive
значения были указаны либо с 0 (= Нет), либо с 1 (= Да).

Создайте столбец IsActive (true-false) с ограничением по умолчанию для таблицы компаний

При создании IsActive с ограничением по умолчанию
вам не нужно указывать IsActive в столбце вставки при вставке
запись, будет использоваться значение по умолчанию.

 --Создайте столбец IsActive с ограничением по умолчанию, равным 1.
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;
ИДТИ
  
СОЗДАТЬ ТАБЛИЦУ Компаний (
ID INT PRIMARY KEY IDENTITY,
Название компании VARCHAR(80),
Компрессионный адрес VARCHAR(80),
CompContactNoVARCHAR(20),
CompEmail VARCHAR(80),
IsActive BITCONSTRAINT DF_IsActive_Companies ПО УМОЛЧАНИЮ(1),
CreateDate DATETIMECONSTRAINT DF_CreateDate_Companies ПО УМОЛЧАНИЮ (getdate())
)

ВСТАВИТЬ В КОМПАНИИ (CompanyName, CompAddress, CompContactNo, CompEmail)
ЦЕННОСТИ («Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]",
(«Компания Bravo», «456 South Street, Brooklyn, Pretoria», «091 523 4789», «[email protected]»)
(«Компания Чарли», «987 West Street, Lynnwood, Pretoria», «091 523 1235», «[email защищен]»),
("Delta Company", "258 East Street, The Meadows, Pretoria", "091 523 7414", "[email protected]"),
("Echo Company", "100 Amber Street, Hatfield, Pretoria", "091 523 9685", "[email защищено]")
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

При определении столбца IsActive в приведенной выше таблице
значение по умолчанию для IsActive будет установлено на 1 (= Да). При вставке записей не было указано значение
для столбца IsActive и, как вы можете видеть на изображении ниже, все записи были
установите IsActive = 1 (= Да). Обратите внимание на новое ограничение по умолчанию, которое было
созданный в нижней части изображения выше.

Столбцы со значениями NULL или NOT в таблице компаний

Еще одна вещь, которую вы можете сделать, это сообщить базе данных, могут ли значения NULL быть
хранится или если столбцу требуется значение. В приведенном ниже коде мы видим, что у нас есть
добавлено «null» и «not null» рядом с каждым столбцом. Так что для этой таблицы единственное
столбец, для которого требуются данные, — это CompanyName.

 --Столбцы с NULL или НЕ
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ Компании;
ИДТИ
  
СОЗДАТЬ ТАБЛИЦУ Компаний (
ID INTне нуль PRIMARY KEY IDENTITY (101 100),
CompanyName VARCHAR(80) не нуль,
CompAddress VARCHAR(80)нуль,
CompContactNoVARCHAR(20)нуль,
CompEmail VARCHAR(80)нуль,
IsActive BITCONSTRAINT DF_IsActive_Companies ПО УМОЛЧАНИЮ(1),
CreateDate DATETIMECONSTRAINT DF_CreateDate_Companies ПО УМОЛЧАНИЮ (getdate())
)

ВСТАВИТЬ В КОМПАНИИ (CompanyName, CompAddress, CompContactNo, CompEmail, IsActive)
ЦЕННОСТИ («Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]", 1),
(«Компания Bravo», null, «091 523 4789», «[email protected]», 1),
("Charlie Company", "987 West Street, Lynnwood, Pretoria", "091 523 1235", "[email protected]", null ),
("Delta Company", "258 East Street, The Meadows, Pretoria", null, "[email protected]", 1 ),
("Echo Company", "100 Amber Street, Hatfield, Pretoria", "091 523 9685", null, 0)
  
ВЫБЕРИТЕ * ОТ компаний
  
EXEC sp_help Компании
 

Обратите внимание на записи со значениями NULL на изображении ниже.
Также обратите внимание, что вы можете создать
Ограничение NULL для столбца, и оно может принимать NULL при вставке
запись как со столбцом IsActive .

Схемы в базе данных

В базе данных
схема
способ создания логической группы объектов. По умолчанию используется схема «dbo», если
указано иное, поэтому все объекты будут в этой группе. Мы можем создать
дополнительные схемы, такие как HR, Sales и т. д., чтобы помочь сгруппировать объекты.

SQL Server поставляется со следующими предопределенными схемами:

  • ДБО
  • гость
  • сис
  • ИНФОРМАЦИЯ_СХЕМА

В SSMS при развертывании дерева в базе данных HRDatabase, а затем развертывании таблиц следует
см. таблицу компаний с «dbo». префикс. «ДБО». является схемой, и поскольку по умолчанию
схема dbo , таблица компаний находится в «dbo».
схема при ее создании без указания схемы.

Чтобы создать таблицу с пользовательской схемой, необходимо
сначала создать схему, затем вы можете создать таблицу в новой схеме.

Приведенный ниже код создает схему с именем «hr», а затем создает таблицу в ней.
новую схему, указав CREATE TABLE hr.Companies .

 УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ hr.Companies; ИДТИ
  
СОЗДАТЬ СХЕМУ час;
ИДТИ
  
SELECT * FROM sys.schemas;
  
СОЗДАТЬ ТАБЛИЦУ hr.Companies (
ID INTне нуль PRIMARY KEY IDENTITY (101 100),
CompanyName VARCHAR(80) не нуль,
CompAddress VARCHAR(80)нуль,
CompContactNoVARCHAR(20)нуль,
CompEmail VARCHAR(80)нуль,
IsActive BITCONSTRAINT DF_IsActive_Companies ПО УМОЛЧАНИЮ(1),
CreateDate DATETIMECONSTRAINT DF_CreateDate_Companies ПО УМОЛЧАНИЮ (getdate())
)

ВСТАВИТЬ В hr.Companies (CompanyName, CompAddress, CompContactNo, CompEmail, IsActive)
ЦЕННОСТИ («Компания Альфа», «Северная улица, 123, Гарсфонтейн, Претория», «091 523 6987", "[электронная почта защищена]", 1),
(«Компания Bravo», null, «091 523 4789», «[email protected]», 1),
("Charlie Company", "987 West Street, Lynnwood, Pretoria", "091 523 1235", "[email protected]", null ),
("Delta Company", "258 East Street, The Meadows, Pretoria", null, "[email protected]", 1 ),
("Echo Company", "100 Amber Street, Hatfield, Pretoria", "091 523 9685", null, 0)
  
ВЫБЕРИТЕ * ОТ hr. Companies
 
УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ hr.Companies;
ИДТИ
  
DROP СХЕМА час;
ИДТИ
 

Ниже приведены результаты запроса sys.schemas.

Очистка

Очистить, сбросив ток
база данных — HRDatabase .

 мастер ЕГЭ;
ИДТИ
 
--Удалить базу данных, если она существует
УДАЛИТЬ БАЗУ ДАННЫХ, ЕСЛИ СУЩЕСТВУЕТ HRDatabase;
ИДТИ
 
Следующие шаги

В следующей статье мы рассмотрим, как создать больше таблиц и как
чтобы связать таблицы вместе.

  • Проверьте эту предыдущую статью

    Создание базы данных Microsoft SQL Server

  • Ознакомьтесь с этими дополнительными ресурсами:

    • Ограничение первичного ключа
    • Ограничение внешнего ключа
    • Типы данных SQL Server
    • Временные таблицы

    • Усечение или удаление

Об авторе

Ян Потгитер имеет более чем двадцатилетний опыт работы в индустрии баз данных в качестве сертифицированного администратора Microsoft SQL Server и разработчика баз данных.

Посмотреть все мои советы

Последнее обновление статьи: 2022-07-28

Как создать таблицу из результатов запроса в Microsoft SQL | Малый бизнес

Дэвид Уэйн Обновлено 22 февраля 2019 г.

Если ваша компания использует реляционные базы данных для хранения данных, полезно использовать команду SQL SELECT с предложением INTO для создания новых таблиц на основе результатов запроса. Этот метод не соответствует стандарту ANSI SQL, но расширение Microsoft Transact-SQL включает эту удобную функцию. Создание новой таблицы из результатов запроса может помочь вам создать базу данных ваших клиентов, сотрудников, расходов и других сведений о бизнесе, позволяя вам выбирать определенные столбцы из существующих таблиц. Эта стратегия помогает вам управлять взаимосвязанными таблицами в вашей базе данных.

Запустить средство запросов SQL Server

Нажмите кнопку Запустить и запустите Microsoft SQL Server Management Studio. Щелкните меню Server Name и выберите свой сервер из раскрывающегося списка. Щелкните Подключить .

Создать запрос SELECT INTO

Щелкните правой кнопкой мыши базу данных в обозревателе объектов в левой части экрана. Нажмите Новый запрос в контекстном меню. В окне запроса введите оператор, например следующий:

SELECT client_id, first_name, last_name INTO new_table FROM old_table; GO

Замените «new_table» на имя создаваемой таблицы и замените «old_table» на имя таблицы для выбора. Предложение INTO ведет себя так же, как CREATE TABLE в других средах SQL.

Уточните свой запрос

Введите следующие строки в окне Query, чтобы уточнить результаты запроса:

SELECT * INTO new_table FROM old_table WHERE last_name LIKE ‘Ja%’; GO

Ключевое слово LIKE позволяет фильтровать результаты на основе выражения с подстановочными знаками. В этом примере Transact-SQL создаст новую таблицу со всеми столбцами из строк в «old_table», в которых фамилия начинается с «Ja».

Эксперимент с выделением подстановочных знаков

Окружите текстовый шаблон символами «%», чтобы он соответствовал тексту в середине слов. Например, используйте следующее предложение WHERE в инструкции SELECT:

WHERE last_name LIKE ‘%ta%’

В этом примере будут возвращены все совпадения, содержащие образец «ta» в середине слова.

SELECT INTO с UNION

Создать новую таблицу из результатов двух отдельных запросов с ключевым словом UNION. Создайте оператор SELECT, аналогичный следующему, в окне запроса:

SELECT last_name, address INTO new_table FROM old_table_a WHERE address NOT LIKE ‘%Los Angeles%’ UNION SELECT last_name, address FROM old_table_b WHERE address NOT LIKE ‘%Los Angeles%’ ; GO

Вам не нужно включать предложение INTO в оба оператора SELECT. Просто соедините два оператора SELECT с ключевым словом UNION, чтобы объединить результаты двух запросов в новую таблицу.

Совет

При работе с базами данных, отличными от Microsoft SQL Server, проверьте руководство, чтобы узнать, поддерживает ли оно SELECT INTO. Он может поддерживать синтаксис или использовать другой способ выполнения той же задачи.

Ссылки

  • Microsoft: SELECT
  • Microsoft: INTO Clause (Transact-SQL)
  • Microsoft: UNION (Transact-SQL)
  • Redgate: Когда использовать оператор SELECT…INTO

90 002 Советы

  • Отсортируйте результаты запроса с помощью предложения ORDER BY. Укажите столбец, по которому следует упорядочивать строки вашей новой таблицы, как в следующем запросе:
  • SELECT *
  • INTO new_table
  • FROM old_table
  • ORDER BY last_name;
  • GO
  • Этот запрос отсортирует новую таблицу в алфавитном порядке.

Биография писателя

Дэвид Уэйн пишет с 2010 года, а колонки о технологиях появляются в нескольких региональных газетах Техаса.

Imacros | Все права защищены © 2021