Как изменить таблицу в sql management studio
Перейти к содержимому

Как изменить таблицу в sql management studio

  • автор:

Руководство. просмотреть и изменить данные в таблице

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

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

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

  1. Щелкните правой кнопкой мыши таблицу Products в обозревателе объектов SQL Server и выберите Просмотреть данных.
  2. Запустится редактор данных. Обратите внимание на строки, которые мы добавили в таблицу в предыдущих процедурах.
  3. Щелкните правой кнопкой мыши таблицу Fruits в обозревателе объектов SQL Server и выберите Просмотреть данные.
  4. В редакторе данных введите 1 в поле Id и True в поле Perishable, а затем нажмите клавишу ВВОД или TAB, чтобы убрать фокус с новой строки и выполнить фиксацию в базу данных.
  5. Повторите описанный выше шаг: введите в таблицу значения 2, False и 3, False. Обратите внимание, что при изменении строки их всегда можно вернуть с помощью клавиши ESC.
  6. Чтобы просмотреть изменения в виде скрипта, нажмите кнопку Скрипт на панели инструментов. Кроме того, можно сохранить изменения в SQL-файле скрипта для последующего использования, нажав кнопку Вывести скрипт в файл.
  7. Щелкните правой кнопкой мыши базу данных Trade в обозревателе объектов SQL Server и выберите пункт Новый запрос. В редакторе введите select * from dbo.PerishableFruits и нажмите кнопку Выполнить запрос, чтобы вернуть данные, отображаемые в представлении PerishableFruits .

Обратная связь

Были ли сведения на этой странице полезными?

Как изменить название столбца в SQL Server Management Studio

Таблица

Помогите изменить название столбцов в таблице в SSMS!

Отслеживать
задан 26 окт 2023 в 18:43
1 3 3 бронзовых знака
Каких столбцов?
26 окт 2023 в 18:48

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Пожалуйста, попробуйте следующий метод.

Встроенная системная хранимая процедура sp_rename делает это.

SQL

EXEC sp_rename 'TableName.OldColumnName' , 'NewColumnName', 'COLUMN' 

Отслеживать
ответ дан 26 окт 2023 в 19:17
Yitzhak Khabinsky Yitzhak Khabinsky
2,710 1 1 золотой знак 6 6 серебряных знаков 10 10 бронзовых знаков

  • sql
  • sql-server
  • ssms
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.8.5973

Как изменить таблицу в sql management studio

Возможно, в какой-то момент мы захотим изменить уже имеющуюся таблицу. Например, добавить или удалить столбцы, изменить тип столбцов, добавить или удалить ограничения. То есть потребуется изменить определение таблицы. Для изменения таблиц используется выражение ALTER TABLE .

Общий формальный синтаксис команды выглядит следующим образом:

ALTER TABLE название_таблицы [WITH CHECK | WITH NOCHECK]

Таким образом, с помощью ALTER TABLE мы можем провернуть самые различные сценарии изменения таблицы. Рассмотрим некоторые из них.

Добавление нового столбца

Добавим в таблицу Customers новый столбец Address:

ALTER TABLE Customers ADD Address NVARCHAR(50) NULL;

В данном случае столбец Address имеет тип NVARCHAR и для него определен атрибут NULL. Но что если нам надо добавить столбец, который не должен принимать значения NULL? Если в таблице есть данные, то следующая команда не будет выполнена:

ALTER TABLE Customers ADD Address NVARCHAR(50) NOT NULL;

Поэтому в данном случае решение состоит в установке значения по умолчанию через атрибут DEFAULT:

ALTER TABLE Customers ADD Address NVARCHAR(50) NOT NULL DEFAULT 'Неизвестно';

В этом случае, если в таблице уже есть данные, то для них для столбца Address будет добавлено значение «Неизвестно».

Удаление столбца

Удалим столбец Address из таблицы Customers:

ALTER TABLE Customers DROP COLUMN Address;

Изменение типа столбца

Изменим в таблице Customers тип данных у столбца FirstName на NVARCHAR(200) :

ALTER TABLE Customers ALTER COLUMN FirstName NVARCHAR(200);

Добавление ограничения CHECK

При добавлении ограничений SQL Server автоматически проверяет имеющиеся данные на соответствие добавляемым ограничениям. Если данные не соответствуют ограничениям, то такие ограничения не будут добавлены. Например, установим для столбца Age в таблице Customers ограничение Age > 21.

ALTER TABLE Customers ADD CHECK (Age > 21);

Если в таблице есть строки, в которых в столбце Age есть значения, несоответствующие этому ограничению, то sql-команда завершится с ошибкой. Чтобы избежать подобной проверки на соответствие и все таки добавить ограничение, несмотря на наличие несоответствующих ему данных, используется выражение WITH NOCHECK :

ALTER TABLE Customers WITH NOCHECK ADD CHECK (Age > 21);

По умолчанию используется значение WITH CHECK , которое проверяет на соответствие ограничениям.

Добавление внешнего ключа

Пусть изначально в базе данных будут добавлены две таблицы, никак не связанные:

CREATE TABLE Customers ( Id INT PRIMARY KEY IDENTITY, Age INT DEFAULT 18, FirstName NVARCHAR(20) NOT NULL, LastName NVARCHAR(20) NOT NULL, Email VARCHAR(30) UNIQUE, Phone VARCHAR(20) UNIQUE ); CREATE TABLE Orders ( Id INT IDENTITY, CustomerId INT, CreatedAt Date );

Добавим ограничение внешнего ключа к столбцу CustomerId таблицы Orders:

ALTER TABLE Orders ADD FOREIGN KEY(CustomerId) REFERENCES Customers(Id);

Добавление первичного ключа

Используя выше определенную таблицу Orders, добавим к ней первичный ключ для столбца Id:

ALTER TABLE Orders ADD PRIMARY KEY (Id);

Добавление ограничений с именами

При добавлении ограничений мы можем указать для них имя, используя оператор CONSTRAINT , после которого указывается имя ограничения:

ALTER TABLE Orders ADD CONSTRAINT PK_Orders_Id PRIMARY KEY (Id), CONSTRAINT FK_Orders_To_Customers FOREIGN KEY(CustomerId) REFERENCES Customers(Id); ALTER TABLE Customers ADD CONSTRAINT CK_Age_Greater_Than_Zero CHECK (Age > 0);

Удаление ограничений

Для удаления ограничений необходимо знать их имя. Если мы точно не знаем имя ограничения, то его можно узнать через SQL Server Management Studio:

Изменение таблиц и ALTER TABLE в MS SQL Server 2016

Раскрыв узел таблиц в подузле Keys можно увидеть названия ограничений первичного и внешних ключей. Названия ограничений внешних ключей начинаются с «FK». А в подузле Constraints можно найти все ограничения CHECK и DEFAULT. Названия ограничений CHECK начинаются с «CK», а ограничений DEFAULT — с «DF».

Например, как видно на скриншоте в моем случае имя ограничения внешнего ключа в таблице Orders называется «FK_Orders_To_Customers». Поэтому для удаления внешнего ключа я могу использовать следующее выражение:

ALTER TABLE Orders DROP FK_Orders_To_Customers;

Как изменить таблицу в sql management studio

Рис.1. Невозможно внести изменения в таблицу

При сохранении редактируемой таблицы через дизайнер MS SQL management studio иногда получаешь сообщение: «Saving changes is not permitted. The changes you have made require the following table to be dropped and re-created … » (Рис. 1). И изменения никак не получается сохранить. Причина этого – необходимость пересоздания таблицы. Пересоздание таблиц может быть критично для продуктивных сред, но для тестовых сред или сред разработки вполне допустимо.

Рис.1. Невозможно внести изменения в таблицу

Рис.1. Невозможно внести изменения в таблицу

Для того, чтобы разрешить пересоздание таблиц, нужно изменить одну настройку в MS SQL Management studio. Для этого зайдите в меню «Tools / Options / Designers / Table and Database Designers» и уберите галочку «Prevent saving changes that require table re-creation» (Рис.2).

Рис.2. Разрешить пересоздание таблиц

Рис.2. Разрешить пересоздание таблиц

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *