SQL
Как заполнить таблицу в SQL Server Management Studio
Заполнить таблицу в SQL Server Management Studio можно несколькими способами: написать INSERT, открыть таблицу через Edit Top Rows или загрузить данные импортом из файла. Для новичка самый полезный способ — INSERT, потому что он показывает, какие столбцы заполняются и какие значения попадают в таблицу
SSMS — это интерфейс для работы с SQL Server. Она помогает открыть таблицу и выполнить запрос, но сами данные добавляет SQL Server. Поэтому лучше не ограничиваться кликами в интерфейсе: один раз написать INSERT намного полезнее, чем просто руками набить значения в таблицу
Подготовим таблицу
Для примера создадим таблицу товаров:
CREATE TABLE products (
id int IDENTITY(1,1) PRIMARY KEY,
name nvarchar(100) NOT NULL,
price decimal(10,2) NOT NULL,
is_active bit NOT NULL DEFAULT 1
);
Здесь id заполняется автоматически, поэтому в INSERT его указывать не нужно. Это важный момент: если столбец IDENTITY, SQL Server сам выдаст следующий номер
Заполнить таблицу через INSERT
Добавим одну строку:
INSERT INTO products (name, price)
VALUES (N'Курс по SQL', 1990.00);
Добавим сразу несколько строк:
INSERT INTO products (name, price, is_active)
VALUES
(N'Самоучитель SQL', 990.00, 1),
(N'Практикум по базам данных', 1490.00, 1),
(N'Старый архивный курс', 300.00, 0);
Русские строки лучше писать с префиксом N, если столбец nvarchar. Так SQL Server корректно воспринимает Unicode-строки
Проверить результат
После вставки выполните:
SELECT *
FROM products
ORDER BY id;
Ожидаемый результат:
| 1 | Курс по SQL | 1990.00 | 1 |
|---|---|---|---|
| 2 | Самоучитель SQL | 990.00 | 1 |
| 3 | Практикум по базам данных | 1490.00 | 1 |
| 4 | Старый архивный курс | 300.00 | 0 |
Если строки появились, таблица заполнена. Если ошибка возникла на этапе INSERT, смотрите, какой столбец не совпадает по типу, где пропущено обязательное значение и правильно ли выбрана база
Заполнить таблицу через Edit Top Rows
В SSMS можно раскрыть базу, открыть Tables, нажать правой кнопкой по таблице и выбрать Edit Top 200 Rows. После этого можно вводить значения в таблицу как в сетку
Этот способ удобен для пары тестовых строк, но у него есть минусы: сложнее повторить действие, легко ошибиться в столбце, не видно всей логики вставки. Для учебных материалов и рабочих инструкций запрос INSERT надежнее
Импорт из файла
Если данных много, используйте импорт из CSV или мастер Import Data. Но перед импортом проверьте:
- кодировку файла
- разделитель
- соответствие столбцов
- типы данных
- наличие пустых значений
Для первого урока импорт лучше не брать. Сначала научитесь вставлять несколько строк руками через INSERT, а уже потом переходите к массовой загрузке
Мини-практика
Создайте таблицу students, добавьте три строки и выведите только активных учеников:
CREATE TABLE students (
id int IDENTITY(1,1) PRIMARY KEY,
full_name nvarchar(100) NOT NULL,
age int NOT NULL,
is_active bit NOT NULL DEFAULT 1
);
INSERT INTO students (full_name, age, is_active)
VALUES
(N'Анна Петрова', 21, 1),
(N'Илья Смирнов', 24, 1),
(N'Мария Иванова', 19, 0);
SELECT full_name, age
FROM students
WHERE is_active = 1;
Проверьте, что в результате две строки. Если вывелись три, значит условие WHERE не сработало или было написано не там
Частые ошибки
- Указывают
id, хотя он заполняется автоматически черезIDENTITY - Не ставят
Nперед русской строкой дляnvarchar - Путают порядок столбцов и значений
- Пропускают обязательный
NOT NULLстолбец - Выполняют
INSERTне в той базе - Вставляют текст в числовой столбец
Что почитать дальше по SQL
Если нужен общий маршрут по теме, откройте рубрику SQL. Для соседних задач пригодятся эти разборы:
- SQL Server Management Studio скачать: как правильно установить SSMS
- SQL Server Management Studio: как подключиться к локальному серверу
- Как поменять язык в SQL Server Management Studio на русский
- Как создать базу данных в SQL Server Management Studio