Просмотр и редактирование таблиц SQL Server в графическом режиме
Иногда бывает необходимо произвести некоторые элементарные действия с базой данных, например найти некое значение и\или изменить его. Для тех, кто постоянно работает с базами и владеет языком запросов, эта задача не составит труда, но если вы видите SQL Server в первый раз, то проще всего просмотреть и отредактировать данные в графическом режиме.
Для этого надо открыть SQL Server Management Studio, найти в разделе «Databases» нужную базу и раскрыть ее. Затем в разделе «Tables» выбрать таблицу и правой клавишей мыши вызвать контекстное меню. В этом меню есть два пункта — «Select Top 1000 Rows» и «Edit Top 200 Rows».

Select Top 1000 Rows, как следует из названия, выводит первые 1000 строк таблицы

а Edit Top 200 Rows открывает для редактирования первые 200 строк таблицы. Это очень удобно, так как таблицу можно быстро пролистать, найти требуемую информацию и изменить ее.

При необходимости дефолтные значения 200\1000 можно изменить. Для этого надо открыть меню «Tools», перейти к пункту «Options»

открыть вкладку «SQL Server Object Explorer» и в разделе «Table and View Options» установить необходимые значения. А если поставить 0, то будет выводиться все содержимое базы без ограничений.

Все вышеописаное применимо ко всем более-менее актуальным версиям, начиная с SQL Server 2008 и заканчивая SQL Server 2016.
Открытие редактора (среда SQL Server Management Studio)
В этой статье описывается, как открыть редактор запросов Компонент Database Engine, редактор многомерных выражений, редактор расширений интеллектуального анализа данных или редактор XML/A в среде SQL Server Management Studio. После открытия каждое окно редактора отображается в виде вкладки на центральной панели среды Среда Management Studio.
Перед началом
Среда Management Studio поддерживает четыре редактора: редактор запросов ядра СУБД для редактирования скриптов Transact-SQL, редакторы многомерных выражений (MDX) и расширений интеллектуального анализа данных (DMX) для скриптов на этих языках, а также редактор XML для аналитики (XML/A) для редактирования скриптов XML/A или XML-файлов. Любой из этих редакторов также может использоваться для изменения текстовых файлов.
Ограничения
Если файлы используются совместно с пользователями, у которых установлены другие кодовые страницы, то для предотвращения ошибок чтения файла такие файлы следует сохранять в соответствующей кодовой странице в Юникоде. Кроме того, при сохранении файлов для использования в системах UNIX или Macintosh убедитесь, что сохраняете их в соответствующем формате документов. В меню Файл щелкните Сохранить как, Сохранить с кодировкой, раскрыв список возле кнопки Сохранить, а затем в качестве параметра Окончания строк выберите Unix или Macintosh.
Разрешения
Операции, выполняемые в редакторе кода, контролируются разрешениями, предоставленными учетной записи проверки подлинности, которая использовалась для входа. Например, если вы откроете окно редактора запросов ядра СУБД, используя проверку подлинности Windows, то не сможете выполнять инструкции Transact-SQL, ссылающиеся на объекты, для доступа к которым у вашей учетной записи Windows нет разрешений.
Руководство. Открытие редакторов
Здесь объясняется, как открывать различные редакторы в среде SQL Server Management Studio.
С помощью меню «Файл/Создать»
В меню Файл выберите пункт Создатьи выберите один из следующих вариантов запуска редакторов запросов.
- Запрос в текущем соединении — открывает новое окно редактора, тип которого связан с текущим соединением в среде Среда Management Studio. Окно редактора использует те же сведения проверки подлинности, что и текущее соединение. Например, если выбрать в обозревателе объектов экземпляр компонента Компонент Database Engine , а затем использовать вариант Запрос в текущем соединении, среда Среда Management Studio откроет редактор запросов компонента Компонент Database Engine , соединенный с тем же экземпляром и использующий те же сведения проверки подлинности.
- Запрос компонента Database Engine — открывает новый редактор запросов компонента Компонент Database Engine и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру компонента Компонент Database Engine.
- Запрос многомерных выражений служб Analysis Services — открывает новый редактор запросов многомерных выражений служб Службы Analysis Services и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру служб Службы Analysis Services.
- DMX-запрос служб Analysis Services — открывает новый редактор DMX-запросов служб Службы Analysis Services и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру служб Службы Analysis Services.
- Запрос XML/A служб Analysis Services — открывает новый редактор запросов XML/A служб Службы Analysis Services и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру служб Службы Analysis Services.
Использование меню «Файл/Открыть»
В меню Файл выберите команду Открыть, а затем перейдите к файлу и откройте его. Среда Management Studio откроет соответствующий расширению файла тип редактора, скопирует содержимое файла в окно редактора и, при необходимости, откроет диалоговое окно соединения. Например, если открывается в файл с расширением SQL, среда Среда Management Studio откроет окно редактора запросов компонента Компонент Database Engine , скопирует в него содержимое SQL-файла и откроет диалоговое окно соединения. Если открывается файл с расширением, не связанным с определенным редактором, среда Среда Management Studio откроет окно текстового редактора и скопирует в него содержимое файла.
Использование панели инструментов
На панели инструментов Стандартные щелкните одну из следующих кнопок.
- Создать запрос — открывает новое окно редактора, тип которого связан с текущим соединением в среде Среда Management Studio. Окно редактора использует те же сведения проверки подлинности, что и текущее соединение. Например, если выбрать в обозревателе объектов экземпляр компонента Компонент Database Engine , а затем нажать кнопку Создать запрос , среда Среда Management Studio откроет редактор запросов компонента Компонент Database Engine , соединенный с тем же экземпляром и использующий те же сведения проверки подлинности.
- Запрос компонента Database Engine — открывает новый редактор запросов компонента Компонент Database Engine и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру компонента Компонент Database Engine.
- Запрос многомерных выражений служб Analysis Services — открывает новый редактор запросов многомерных выражений служб Службы Analysis Services и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру служб Службы Analysis Services.
- DMX-запрос служб Analysis Services — открывает новый редактор DMX-запросов служб Службы Analysis Services и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру служб Службы Analysis Services.
- Запрос XML/A служб Analysis Services — открывает новый редактор запросов XML/A служб Службы Analysis Services и диалоговое окно для ввода сведений, необходимых для подключения к экземпляру служб Службы Analysis Services.
Использование обозревателя объектов
В обозревателе объектов.
- Щелкните правой кнопкой мыши узел сервера, связанный с экземпляром компонента Компонент Database Engine, и выберите команду Создать запрос. Откроется окно редактора запросов компонента Компонент Database Engine , связанное с тем же экземпляром компонента Компонент Database Engine , причем окну будет присвоен контекст базы данных по умолчанию для имени входа.
- Щелкните правой кнопкой узел базы данных и выберите команду Создать запрос. Откроется окно редактора запросов компонента Компонент Database Engine , связанное с тем же экземпляром компонента Компонент Database Engine , причем окну будет присвоен контекст той же базы данных.
Использование обозревателя решений
В обозревателе решенийразверните папку, щелкните правой кнопкой мыши требуемый элемент в папке, затем выберите команду Открыть либо дважды щелкните элемент или файл.
Использование средства просмотра шаблонов для открытия редактора запросов компонента Database Engine
- В меню Вид выберите пункт Обозреватель шаблонов.
- Окно Средство просмотра шаблонов отображается в правой панели.
- Дважды щелкните шаблон, чтобы открыть окно «Запрос компонента Database Engine» с текстом шаблона. Например, чтобы открыть шаблон «CREATE DATABASE», откройте папку Шаблоны SQL Server , затем папку Databases , а затем дважды щелкните create database.
Как открыть таблицу в sql server management studio
Для создания таблиц применяется команда CREATE TABLE . С этой командой можно использовать ряд операторов, которые определяют столбцы таблицы и их атрибуты. И кроме того, можно использовать ряд операторов, которые определяют свойства таблицы в целом. Одна база данных может содержать до 2 миллиардов таблиц.
Общий синтаксис создания таблицы выглядит следующим образом:
CREATE TABLE название_таблицы (название_столбца1 тип_данных атрибуты_столбца1, название_столбца2 тип_данных атрибуты_столбца2, . название_столбцаN тип_данных атрибуты_столбцаN, атрибуты_таблицы )
После команды CREATE TABLE идет название создаваемой таблицы. Имя таблицы выполняет роль ее идентификатора в базе данных, поэтому оно должно быть уникальным. Имя должно иметь длину не больше 128 символов. Имя может состоять из алфавитно-цифровых символов, а также символов $ и знака подчеркивания. Причем первым символом должна быть буква или знак подчеркивания.
Имя объекта не может включать пробелы и не может представлять одно из ключевых слов языка Transact-SQL. Если идентификатор все же содержит пробельные символы, то его следует заключать в кавычки. Если необходимо в качестве имени использовать ключевые слова, то эти слова помещаются в квадратные скобки.
Примеры корректных идентификаторов:
Users tags$345 users_accounts "users accounts" [Table]
После имени таблицы в скобках указываются параметры всех столбцов и в самом конце атрибуты, которые относятся ко всей таблице. Атрибуты столбцов и атрибуты таблицы являются необязательными компонентами, и их можно не указывать.
В самом просто виде команда CREATE TABLE должна содержать как минимум имя таблицы, имена и типы столбцов.
Таблица может содержать от 1 до 1024 столбцов. Каждый столбец должен иметь уникальное в рамках текущей таблицы имя, и ему должен быть назначен тип данных.
Например, определение простейшей таблицы Customers:
CREATE TABLE Customers ( Id INT, Age INT, FirstName NVARCHAR(20), LastName NVARCHAR(20), Email VARCHAR(30), Phone VARCHAR(20) )
В данном случае в таблице Customers определяются шесть столбцов: Id, FirstName, LastName, Age, Email, Phone. Первые два столбца представляют идентификатор клиента и его возраст и имеют тип INT , то есть будут хранить числовые значения. Следующие два столбца представляют имя и фамилию клиента и имеют тип NVARCHAR(20) , то есть представляют строку UNICODE длиной не более 20 символов. Последние два столбца Email и Phone представляют адрес электронной почты и телефон клиента и имеют тип VARCHAR(30/20) — они также хранят строку, но не в кодировке UNICODE.
Создание таблицы в SQL Management Studio
Создадим простую таблицу на сервере. Для этого откроем SQL Server Management Studio и нажмем правой кнопкой мыши на название сервера. В появившемся контекстном меню выберем пункт New Query .

Таблица создается в рамках текущей базы данных. Если мы запускаем окно редактора SQL как это сделано выше — из под названия сервера, то база данных по умолчанию не установлена. И для ее установки необходимо применить команду USE , после которой указывается имя базы данных. Поэтому введем в поле редактора SQL-команд следующие выражения:
USE usersdb; CREATE TABLE Customers ( Id INT, Age INT, FirstName NVARCHAR(20), LastName NVARCHAR(20), Email VARCHAR(30), Phone VARCHAR(20) );
То есть в базу данных добавляется таблица Customers, которая была рассмотрена ранее.
Также можно открыть редактор из под базы данных, также нажав на нее правой кнопкой мыши и выбрав New Query:

В этом случае в качестве текущей будет рассматриваться та база данных, из под которой был открыт редактор, и дополнительно ее устанавливать с помощью команды USE не потребуется.
Удаление таблиц
Для удаления таблиц используется команда DROP TABLE , которая имеет следующий синтаксис:
DROP TABLE table1 [, table2, . ]
Например, удаление таблицы Customers:
DROP TABLE Customers
Переименование таблицы
Для переименования таблиц применяется системная хранимая процедура «sp_rename». Например, переименование таблицы Users в UserAccounts в базе данных usersdb:
USE usersdb; EXEC sp_rename 'Users', 'UserAccounts';
Изменение таблиц в Microsoft SQL Server или как добавить, удалить, изменить столбец в таблице?
В этом материале я покажу, как вносятся изменения в таблицы в Microsoft SQL Server, под изменениями здесь подразумевается добавление новых столбцов, удаление или изменение характеристик уже существующих столбцов в таблице. По традиции я покажу, как это делается в графическом конструкторе среды SQL Server Management Studio и, конечно же, как это делается на языке T-SQL.

Напомню, в прошлых статьях я показывал, как создаются базы данных в Microsoft SQL Server, а также как создаются новые таблицы. Сегодня Вы узнаете, как изменить уже существующие таблицы в Microsoft SQL Server, при этом, как было уже отмечено, будет рассмотрено два способа изменения таблиц: первый – с помощью SQL Server Management Studio (SSMS), и второй – с помощью T-SQL.
Также я расскажу о некоторых нюансах и проблемах, которые могут возникнуть в процессе изменения таблиц, что, на самом деле, характерно для большинства случаев.
Заметка! Для комплексного изучения языка T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, в которых используется последовательная методика обучения и рассматриваются все конструкции языка SQL и T-SQL.
Исходные данные для примеров
Сначала давайте определим исходные данные, а точнее таблицу, которую мы будем изменять. Допустим, это будет точно такая же таблица, которую мы использовали в прошлых статьях, а именно наша тестовая таблица Goods – она содержит информацию о товарах и имеет следующие столбцы:
- ProductId – идентификатор товара, столбец не может содержать значения NULL, первичный ключ;
- Category – ссылка на категорию товара, столбец не может содержать значения NULL, но имеет значение по умолчанию, например, для случаев, когда товар еще не распределили в необходимую категорию, в этом случае товару будет присвоена категория по умолчанию;
- ProductName – наименование товара, столбец не может содержать значения NULL;
- Price – цена товара, столбец может содержать значения NULL, например, с ценой еще не определились.
Если у Вас нет такой таблицы, то создайте ее и добавьте в нее несколько строк данных, например, следующей инструкцией.
--Создание таблицы с товарами CREATE TABLE Goods ( ProductId INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_ProductId PRIMARY KEY, Category INT NOT NULL DEFAULT (1), ProductName VARCHAR(100) NOT NULL, Price MONEY NULL, ); GO --Добавление строк в таблицу INSERT INTO Goods(Category, ProductName, Price) VALUES (1, 'Системный блок', 300), (1, 'Монитор', 200), (2, 'Клавиатура', 100); GO --Выборка данных SELECT * FROM Goods;

Данные мы добавили инструкцией INSERT INTO языка T-SQL.
Примечание! В качестве сервера у меня выступает версия Microsoft SQL Server 2017 Express, как ее установить, можете посмотреть в моей видео-инструкции.
Итак, давайте начнем.
Изменение таблиц в конструкторе SQL Server Management Studio
Сначала я покажу, как изменяются таблицы с помощью графического интерфейса SQL Server Management Studio, а изменяются они точно так же, как и создаются, с помощью того же самого конструктора.
Чтобы открыть конструктор таблиц в среде SQL Server Management Studio, необходимо в обозревателе объектов найти нужную таблицу и щелкнуть по ней правой кнопкой мыши, и выбрать пункт «Проект». Увидеть список таблиц можно в контейнере «Базы данных -> Нужная база данных -> Таблицы».

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

Важно! При работе в конструкторе с таблицей, в которой есть данные, обязательно стоит учитывать один очень важный момент, большинство изменений внести не получится, например, изменить свойства столбцов. Это связано с тем, что по умолчанию в конструкторе «Запрещено сохранение изменений, требующих повторного создания таблицы», именно так и называется параметр, который по умолчанию включён, за счет чего все соответствующие изменения будут блокироваться и, при попытке сохранить такие изменения, Вы будете получать, например, ошибки следующего характера

В случае если Вы работаете исключительно в конструкторе (если делать все то же самое с помощью T-SQL, то такая ошибка возникать не будет) и четко уверены в своих действиях, то этот параметр можно отключить. Для этого зайдите в меню «Сервис -> Параметры» и в разделе «Конструкторы -> Конструкторы таблиц и баз данных» снимите соответствующую галочку.

После чего данное ограничение будет снято, и Вы сможете вносить изменения в таблицы с помощью конструктора. При сохранении таблицы ошибок возникать уже не будет.
Как работать с конструктором, я думаю, понятно, например, для добавления нового столбца просто пишем название столбца в новую строку, выбираем тип данных и указываем признак, может ли данный столбец хранить значения NULL. Для сохранения изменений нажимаем сочетание клавиш «Ctrl+S» или на панели инструментов нажимаем кнопку «Сохранить» (также кнопка «сохранить» доступна и в меню «Файл», и в контекстном меню самой вкладки конструктора).

Для внесения изменений в существующие столбцы точно так же изменяем параметры, и сохраняем изменения.
Важно!
Во всех случаях, т.е. не важно с помощью конструктора или с помощью языка T-SQL, когда Вы будете вносить изменения в таблицы, в которых уже есть данные, важно понимать и знать, как эти изменения отразятся на существующих данных, и можно ли вообще применить эти изменения к данным.
Например, изменить тип данных можно, только если он явно преобразовывается без потери данных или в столбце нет данных вообще. Допустим, если в столбце с типом данных VARCHAR(100) есть данные, при этом максимальная длина фактических данных в столбце, к примеру, 80 символов, то изменить тип данных, без потери данных можно только в сторону увеличения или уменьшения до 80 символов (VARCHAR(80)).
Также если в столбце есть данные, при этом он может принимать значение NULL, а Вы хотите сделать его обязательным, т.е. задать свойство NOT NULL, Вам сначала нужно проставить всем записям, в которых есть NULL, значение, например, то, которое будет использоваться по умолчанию, или уже более детально провести анализ для корректной простановки значений.
Еще стоит отметить, что даже просто добавить новый столбец, который не должен принимать значения NULL, не получится, если в таблице уже есть записи, в таких случаях нужно сначала добавить столбец с возможностью принятия значения NULL, потом заполнить его данными, и уже потом обновить данный параметр, т.е. указать NOT NULL.
Изменение таблиц в Microsoft SQL Server на языке T-SQL (ALTER TABLE)
Теперь давайте я покажу, как изменять таблицы в Microsoft SQL Server на T-SQL. Все изменения в таблицы вносятся с помощью инструкции ALTER TABLE. Для начала давайте рассмотрим упрощённый синтаксис инструкции ALTER TABLE, чтобы Вы лучше понимали структуру тех запросов, которые мы будем рассматривать далее в примерах.
Упрощенный синтаксис инструкции ALTER TABLE
ALTER TABLE [Название таблицы] [Тип изменения] [Название столбца] [Тип данных] [Возможность принятия значения NULL]
Добавление нового столбца в таблицу на T-SQL
Чтобы добавить новый столбец в таблицу, мы пишем инструкцию ALTER TABLE с параметром ADD, указываем название нового столбца (в нашем случае ProductDescription, т.е. описание товара), его тип данных и возможность принятия значения NULL (как было уже отмечено ранее, если в таблице есть строки, то сначала столбец должен принимать значения NULL).
ALTER TABLE Goods ADD ProductDescription VARCHAR(300) NULL; GO SELECT * FROM Goods;

Удаление столбца из таблицы на T-SQL
Если Вам столбец не нужен, то его легко удалить (если он не участвует ни в каких связях) параметром DROP COLUMN, например, мы передумали добавлять новый столбец с описанием товара, и чтобы его удалить, пишем следующую инструкцию.
ALTER TABLE Goods DROP COLUMN ProductDescription; GO SELECT * FROM Goods;

Задаем свойство NOT NULL для столбца на T-SQL
Если у Вас возникла необходимость сделать столбец обязательным, т.е. задать свойство NOT NULL для столбца, то для этого необходимо использовать параметр ALTER COLUMN, но обязательно помним о том, что в столбце уже должны быть заполнены все строки, т.е. отсутствовать значения NULL.
Допустим, в нашем случае цена стала обязательной, чтобы это реализовать в нашей таблице, пишем следующую инструкцию (просто указываем все фактические параметры столбца и изменяем тот, который нужно, в данном конкретном случае возможность принятия значения NULL).
ALTER TABLE Goods ALTER COLUMN Price MONEY NOT NULL;
Изменяем тип данных столбца на T-SQL
Для изменения типа данных столбца точно так же перечисляем все параметры столбца с изменением нужного, т.е. указываем новый тип данных.
Допустим, у нас возникла необходимость увеличить длину строки для хранения наименования товара (например, до 200 символов).
ALTER TABLE Goods ALTER COLUMN ProductName VARCHAR(200) NOT NULL;
Видео-инструкция по изменению таблиц в Microsoft SQL Server
У меня на этом все, надеюсь, материал был Вам полезен, пока!