sql >> Database teknologi >  >> RDS >> Sqlserver

Indsæt data i SQL Server 2017

Sådan indsætter du data i en SQL Server 2017-database ved hjælp af SQL Operations Studio (nu kaldet Azure Data Studio).

Der er mange måder at indsætte data i en database. Den metode, du bruger, vil i høj grad afhænge af typen af ​​data, såvel som den kontekst, som de indsættes med. Lad os starte med at indsætte data ved hjælp af et SQL-script.

Indsæt data med SQL-script

Du kan køre et script, der indeholder alle data, der skal indsættes. Dette er gjort muligt med SQL INSERT erklæring.

Kør følgende script mod Music database, som vi oprettede tidligere:

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');

Ovenstående script indsætter data i Artists bord. Den indsætter en ny række for hver kunstner.

Kør nu følgende sætning:

SELECT * 
FROM Artists;

Denne erklæring returnerer indholdet af Artists tabel:

Du vil se, at ArtistId kolonne indeholder data, selvom vi faktisk ikke føjede nogen data til den kolonne. Dette er fordi ArtistId er en identitetskolonne (vi brugte IDENTITY(1,1) i tabeldefinitionen, da vi oprettede kolonnen). Identitetskolonnen indsætter automatisk en stigende værdi med hver række, så vi behøver ikke at indsætte en værdi for den kolonne - SQL Server gør det for os. Vi satte også denne kolonne til at være den primære nøgle, da vi oprettede den, så hver værdi er sikker på at være unik.

Kør nu følgende script:

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);

Det script indsætter data i de to andre tabeller, så vi har nogle data at arbejde med senere, når vi kører nogle forespørgsler.

Direkte input

Nogle GUI-værktøjer giver dig mulighed for at indtaste data direkte i tabellen via grænsefladen. Sådan:

  1. Åbn tabel i redigeringstilstand

    Naviger til den tabel, du vil indtaste data i.

    Højreklik på tabellen og vælg Rediger data (eller hvad dit GUI-værktøj kalder det - SSMS kalder det Rediger Top 200 Rows ).

  2. Indtast data

    Tabellen åbnes, så du kan skrive data direkte ind i cellerne.

    Du behøver ikke at indtaste data i kolonner med automatisk genererede værdier, såsom identitetskolonner, tidsstempelkolonner osv.

    SQL Server vil normalt forhindre dig i at indtaste data i sådanne kolonner.

Andre metoder

Her er nogle andre metoder, der kan bruges til at udfylde en database med data. Hvorvidt du er i stand til at gøre disse eller ej, afhænger af dine databasestyringsværktøjer og/eller miljø.

  • Kopiér/indsæt

    Hvis du har et GUI-værktøj, der giver dig mulighed for at indtaste data direkte i tabellen, så kan du også opleve, at du også kan kopiere og indsætte data direkte i den tabel (SSMS understøtter dette). Så du kan kopiere alle data fra et regneark og derefter indsætte dem direkte i databasetabellen.

    SQL Server Management Studio (SSMS) giver dig mulighed for at indsætte flere rækker af data i en tabel.
  • Importer dataene

    Nogle værktøjer giver dig mulighed for at importere en fil, der indeholder alle de nødvendige data. Du kan f.eks. importere et Excel-regneark eller en .csv-fil.

    BCP-kommandolinjeværktøjet er et populært værktøj til at udføre massekopieringsoperationer til SQL Server. SQL Server Management Studio har en importguide, der hjælper dig gennem processen.

    En "Importer flad fil"-guide blev introduceret i SSMS 17.3. Dette forenkler processen med at importere flade filer såsom .csv og .txt.
  • Websted eller anden tilpasset applikation

    I disse dage er de fleste databaser bygget som en del af backend af en applikation såsom en hjemmeside, CRM, finansiel applikation osv. Sådanne applikationer sætter normalt slutbrugeren i stand til at indsætte og opdatere data. Typisk vil brugeren indsætte data via en formular. Bag kulisserne vil formularen indsætte dataene i de korrekte tabeller i databasen. I dette tilfælde behøver brugeren ikke engang at vide, hvilke tabeller der er i databasen. Det eneste, de ser, er formen. En formular kunne indsætte data i flere tabeller.


  1. Sikkerhedsfunktioner i SQL Server 2017

  2. Database kun sikkerhedskopier i WHM

  3. EXTRACT (datetime) Funktion i Oracle

  4. Sådan opdeles en streng i MySQL