Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Добавете колони към съществуваща таблица в базата данни на SQL Server

Въведение

Таблицата е двуизмерна логическа структура и основното средство за съхранение на данни в системи за управление на релационни бази данни. Форматът му „ред и колона“ много прилича на организацията на електронната таблица.

Всеки нов запис, въведен в таблица, е ред (наричан още запис или кортеж), докато редовете са групирани в краен набор от колони (наричани още полета или атрибути). Всяка колона има име и тип данни и служи като справка за показване на набори от резултати при запитване на данни от системи за релационни бази данни.

В тази статия разглеждаме текущите опции, които ни позволяват да добавяме нови колони към съществуваща таблица в базата данни на SQL Server. Случаят на употреба може да възникне в много случаи. По-специално, това се случва, когато има актуализации за приложение и те изискват добавяне на нови колони.

Създайте таблица

За да започнем нашия кратък набор от експерименти, нека създадем малка таблица с четири колони, съдържаща основна информация за някаква компания:

-- Listing 1: Create New Table ntab
use AU
go
create table ntab (
ID INT identity (1,1)
, CompanyName varchar(100)
, CompanyAddress varchar(200)
, DateofIncorporation datetime
);

Добавяне на една колона

За да добавите една колона към ntab таблица, ние изпълняваме кода, предоставен в листинг 2. Резултатът е таблица с пет колони, както е показано на фигура 1. Ние генерирахме тези метаданни за нашата таблица с sp_columns съхранена процедура.

-- Listing 2: Add ManagingDirector Column to Empty Table

alter table ntab add ManagingDirector varchar(50);

exec sp_columns ntab;

Използвайки кода в листинг 3, попълваме нова таблица с 1000 реда.

-- Listing 3: Add Column to Empty Table
insert into ntab values ('Simplex Technologies','Plot 121 Nova Ridge II, Appolonia City','20201023','Kenneth Igiri');
GO 1000

След това добавяме друга колона TaxIdentityNumber – можем да го направим успешно без видими разходи за производителност:

-- Listing 4: Add Column to Populated Table

alter table ntab add TaxIdentityNumber varchar(20);

exec sp_columns ntab;

Изпускане или добавяне на няколко колони с помощта на командата ALTER TABLE

В едно изявление можем също да пускаме или добавяме колони. Важно:Когато пуснем колони от таблица с данни, губим данните много бързо. Със сигурност не е команда, с която да си играете в производството.

Командата ALTER TABLE е команда за език за дефиниране на данни (DDL), подобна на TRUNCATE. Операцията не се записва в регистъра на транзакциите и е невъзможно да се върне обратно. Ако имате причини да го направите в производството, трябва да имате резервно копие, за да можете да се върнете към предишното състояние.

-- Listing 5: Drop Column from Table

alter table ntab drop column ManagingDirector, TaxIdentityNumber;

alter table ntab add ManagingDirector varchar(50), TaxIdentityNumber varchar(20);

select * from ntab;

Важно:Когато се опитате да пуснете колона с индекс, тя връща грешка (вижте изображението). Първо, трябва да архивирате и пуснете индекса.

Използване на GUI – дизайнер на таблици

Преди да продължим, имайте предвид, че трябва да се уверите, че използвате най-новата версия на SQL Server Management Studio. Ако има несъответствие между версията на базата данни и вашата SSMS версия, ще получите следната грешка:

За да промените структурата на таблицата, отворете дизайнера на таблици в SSMS:щракнете с десния бутон върху таблицата и щракнете върху Дизайн.

Ще видите tab подробности за таблицата:

В Designer на таблици добавяме имената на колоните, които искаме да добавим, и указваме типовете данни и възможността за нула по желание.

След като приключим, запазваме таблицата, използвайки някоя от наличните опции. Например, вижте опцията, налична в менюто на лентата на SSMS:

Има една настройка на SQL Server Management Studio, която може да попречи на записването на таблицата с новодобавени колони. Може да се наложи да деактивирате тази настройка:

Инструменти> Опции> Дизайнери> Дизайнери на таблици и бази данни

На заден план SQL Server изпълнява същия SQL, който показахме по-рано (листинг 5). Извлечехме това с помощта на SQL Profiler. Можете да получите същите данни с разширени събития:

След като приключим, можем да видим същите резултати като преди:

dbForge Studio за SQL Server

dbForge Studio за SQL Server от компанията Devart предлага стабилен функционален интерфейс за взаимодействие със SQL Server. Тъй като решението е подобно на SSMS, то е лесно за работа. Той се свързва безпроблемно с екземпляра на SQL Server и позволява на потребителя да взаимодейства плавно с обекти на SQL Server. Можете да изтеглите експресното издание тук .

За да промените таблица в dbForge Studio, щракнете с десния бутон върху нея, за да видите подробните свойства.

Добавяте нова колона по същия начин, както правите в дизайнера на таблици на SQL Server. Обърнете внимание обаче на нивото на детайлност, показано за таблицата, включително таблицата DDL. Той е много по-стабилен от този, който се предлага в SSMS.

dbForge Studio следва същите правила за добавяне на колони към таблици като SQL Server Management Studio. DDL за таблицата се актуализира веднага след като добавите колона. Трябва обаче да щракнете върху ЗАПАЗИ, за да запазите промените:

Заключение

Тази статия демонстрира методите, които можем да използваме за добавяне на колони към съществуваща таблица в SQL Server, независимо дали тази таблица има данни в нея или не.

Ние също така илюстрирахме въздействието на отпадането на колони, когато таблицата има данни. Посочихме, че командата ALTER TABLE е DDL команда. Няма регистрационни файлове и също няма значително въздействие върху производителността. Използвайте Table Designer, за да вмъкнете колони между съществуващи колони, а не в края на списъка с колони.

Ние също така прегледахме функционалността на Devart dbForge Studio 2019. Той има много по-стабилен и удобен интерфейс за тази задача и други подобни задачи. Той може също така да предложи много други възможности, за да направи управлението на базата данни на SQL Server много по-лесно.

Препратки

  1. Влияние върху производителността на командите ALTER TABLE
  2. Промяна на таблицата в T-SQL
  3. Функция дизайнер на таблици в dbForge Studio за SQL Server

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разделите низ и да вмъкнете стойности в таблица в SQL Server

  2. ODBC заявка на MS SQL Server, връщаща първите 255 знака само в PHP PDO (FreeTDS)

  3. Свържете SQL Server към HubSpot CRM

  4. 6 начина за конвертиране на низ в стойност на дата/час в SQL Server

  5. 3 начина да получите списък с бази данни в SQL Server (T-SQL)