SQL Server – jak wkleić dane do tabeli bazodanowej z Excela lub pliku tekstowego?

Bez przetwarzania/modyfikacji

Przeklejamy dane z (na przykład) Excela:

Otwarcie tabeli SQL Server w trybie do edycji

Otwieramy tabelę w SQL Serverze, do której wklejać będziemy dane (Uwaga: domyślnie „Edit n rows” pokazuje n = 200, ja zmieniłem ręcznie w ustawieniach SQL Server Management Studio na „All”, stąd różnica)

edycja-danych-tabeli-sql-server-management-studio

Przygotowanie danych do wklejenia w Excelu

Odtwarzamy podobną strukturę w Excelu – pola, których nie da się łatwo wypełnić (np. Identity, które SQL Server nada sam lub dane binarne) możemy pozostawić puste

excel-dane-przygotowane-do-wklejenia-do-sql-server

Do skopiowania zaznaczamy wyłącznie dane, nagłówki na zrzucie ekranu pozostawiłem tylko żeby lepiej zobrazować jak przygotowałem strukturę tabelki.

Wklejenie danych z Excela do tabeli SQL Server

Zaznaczamy ostatni wiersz w tabeli (ten z gwiazdką), klikając w wyszarzonej kolumnie systemowej (czyli jeszcze „przed” kolumnami z danymi)
wklejanie-danych-do-tabeli-sql-server

Naciskamy Ctrl-V – i gotowe!

Jeżeli mieliśmy poprawnie zaznaczony wiersz i dane sformatowane zgodnie ze strukturą tabeli, zostaną one po prostu wklejone do tabeli.

A co z plikami tekstowymi?

Jeżeli dane przygotujemy w formie pliku TSV (Tab-separated values), czyli wartości rozdzielonych znakiem tabulacji, to także możemy je w ten sam sposób „przekleić”.

Z modyfikacjami „po drodze”

Sensownym sposobem na „wrzucenie” danych z Excela, z ich obróbką pomiędzy tym co widzimy w Excelu, a tabelą SQL Server, wydaje się „sklejanie” poleceń INSERT (lub UPDATE, DELETE – możliwości są tu bardzo szerokie) w dodatkowej kolumnie.

Przydadzą się na pewno:

& – operator złączenia ciągów znaków (konkatenacji)
TEKST – funkcja konwertująca dane na tekst, z możliwym formatowaniem
ZASTĄP, LEWY, PRAWY, USUŃ.ZBĘDNE.ODSTĘPY – funkcje do obróbki tekstu

Leave a Comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *