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

Вмъкване на данни в SQL Server 2017

Как да вмъкнете данни в база данни на SQL Server 2017 с помощта на SQL Operations Studio (сега се нарича Azure Data Studio).

Има много начини за вмъкване на данни в база данни. Методът, който използвате, до голяма степен ще зависи от типа на данните, както и от контекста, с който се вмъкват. Нека започнем с вмъкване на данни с помощта на SQL скрипт.

Вмъкване на данни чрез SQL скрипт

Можете да стартирате скрипт, който съдържа всички данни за вмъкване. Това става възможно с SQL INSERT изявление.

Изпълнете следния скрипт срещу Music база данни, която създадохме по-рано:

INSERT INTO Artists (ArtistName, ActiveFrom)
VALUES 
  ('Iron Maiden','1975-12-25'),
  ('AC/DC','1973-01-11'), 
  ('Allan Holdsworth','1969-01-01'),
  ('Buddy Rich','1919-01-01'),
  ('Devin Townsend','1993-01-01'),
  ('Jim Reeves','1948-01-01'),
  ('Tom Jones','1963-01-01'),
  ('Maroon 5','1994-01-01'),
  ('The Script','2001-01-01'),
  ('Lit','1988-06-26'),
  ('Black Sabbath','1968-01-01'),
  ('Michael Learns to Rock','1988-03-15'),
  ('Carabao','1981-01-01'),
  ('Karnivool','1997-01-01'),
  ('Birds of Tokyo','2004-01-01'),
  ('Bodyjar','1990-01-01');

Горният скрипт вмъква данни в Artists маса. Вмъква нов ред за всеки изпълнител.

Сега изпълнете следния оператор:

SELECT * 
FROM Artists;

Това изявление връща съдържанието на Artists таблица:

Ще видите, че ArtistId колоната съдържа данни, въпреки че всъщност не сме добавили никакви данни към тази колона. Това е така, защото ArtistId е колона за идентичност (използвахме IDENTITY(1,1) в дефиницията на таблицата, когато създадохме колоната). Колоната за идентичност автоматично вмъква нарастваща стойност с всеки ред, така че не е необходимо да вмъкваме стойност за тази колона — SQL Server прави това вместо нас. Ние също така задаваме тази колона като първичен ключ, когато я създаваме, така че всяка стойност със сигурност ще бъде уникална.

Сега стартирайте следния скрипт:

INSERT INTO Genres (Genre)
VALUES 
  ('Rock'),
  ('Jazz'), 
  ('Country'),
  ('Pop'),
  ('Blues'),
  ('Hip Hop'),
  ('Rap'),
  ('Punk');

INSERT INTO Albums (AlbumName, ReleaseDate, ArtistId, GenreId)
VALUES 
  ('Powerslave', '1984-09-03', 1, 1),
  ('Powerage', '1978-05-05', 2, 1), 
  ('Singing Down the Lane', '1956-01-01', 6, 3),
  ('Ziltoid the Omniscient', '2007-05-21', 5, 1),
  ('Casualties of Cool', '2014-05-14', 5, 1),
  ('Epicloud', '2012-09-18', 5, 1),
  ('Somewhere in Time', '1986-09-29', 1, 1),	
  ('Piece of Mind', '1983-05-16', 1, 1),	
  ('Killers', '1981-02-02', 1, 1),	
  ('No Prayer for the Dying', '1990-10-01', 1, 1),	
  ('No Sound Without Silence', '2014-09-12', 9, 4),	
  ('Big Swing Face', '1967-06-01', 4, 2),	
  ('Blue Night', '2000-11-01', 12, 4),	
  ('Eternity', '2008-10-27', 12, 4),	
  ('Scandinavia', '2012-06-11', 12, 4),	
  ('Long Lost Suitcase', '2015-10-09', 7, 4),	
  ('Praise and Blame', '2010-06-26', 7, 4),	
  ('Along Came Jones', '1965-05-21', 7, 4),	
  ('All Night Wrong', '2002-05-05', 3, 2),	
  ('The Sixteen Men of Tain', '2000-03-20', 3, 2);

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

Директно въвеждане

Някои GUI инструменти ви позволяват да въвеждате данни директно в таблицата чрез интерфейса. Като това:

  1. Отворете таблицата в режим на редактиране

    Придвижете се до таблицата, в която искате да въведете данни.

    Щракнете с десния бутон върху таблицата и изберете Редактиране на данни (или както го нарича вашият GUI инструмент — SSMS го нарича Редактиране на най-добрите 200 реда ).

  2. Въведете данни

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

    Няма да е необходимо да въвеждате данни в колони с автоматично генерирани стойности, като колони за самоличност, колони с времеви печати и т.н.

    SQL Server обикновено ви пречи да въвеждате данни в такива колони.

Други методи

Ето някои други методи, които могат да се използват за попълване на база данни с данни. Дали ще можете да направите това или не, зависи от вашите инструменти за управление на база данни и/или среда.

  • Копиране/поставяне

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

    SQL Server Management Studio (SSMS) ви позволява да поставите няколко реда данни в таблица.
  • Импортирайте данните

    Някои инструменти ви позволяват да импортирате файл, който съдържа всички необходими данни. Например, можете да импортирате електронна таблица на Excel или .csv файл.

    Помощната програма на командния ред BCP е популярен инструмент за извършване на операции за групово копиране в SQL Server. SQL Server Management Studio има съветник за импортиране, който ви помага през процеса.

    В SSMS 17.3 беше въведен съветник "Импортиране на плосък файл". Това опростява процеса на импортиране на плоски файлове като .csv и .txt.
  • Уебсайт или друго персонализирано приложение

    В наши дни повечето бази данни се изграждат като част от бекенда на приложение като уебсайт, CRM, финансово приложение и т.н. Такива приложения обикновено позволяват на крайния потребител да вмъква и актуализира данни. Обикновено потребителят ще въведе данни чрез формуляр. Зад кулисите, формулярът ще вмъкне данните в правилните таблици в базата данни. В този случай потребителят дори не трябва да знае какви таблици има в базата данни. Всичко, което виждат, е формата. Един формуляр може да вмъкне данни в няколко таблици.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изпълнете съхранена процедура от функция

  2. Избиране на COUNT(*) с DISTINCT

  3. Експортирайте таблични данни от един SQL сървър на друг

  4. Как да почистя (предотвратя SQL инжектирането) динамичен SQL в SQL Server?

  5. Влезте в Microsoft SQL Server Грешка:18456