Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Insérer des données dans SQL Server 2017

Comment insérer des données dans une base de données SQL Server 2017 à l'aide de SQL Operations Studio (maintenant appelé Azure Data Studio).

Il existe plusieurs façons d'insérer des données dans une base de données. La méthode que vous utiliserez dépendra en grande partie du type de données, ainsi que du contexte dans lequel elles sont insérées. Commençons par insérer des données à l'aide d'un script SQL.

Insérer des données par script SQL

Vous pouvez exécuter un script contenant toutes les données à insérer. Ceci est rendu possible avec le SQL INSERT déclaration.

Exécutez le script suivant sur Music base de données que nous avons créée précédemment :

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

Le script ci-dessus insère des données dans les Artists table. Il insère une nouvelle ligne pour chaque artiste.

Exécutez maintenant l'instruction suivante :

SELECT * 
FROM Artists;

Cette instruction renvoie le contenu des Artists tableau :

Vous verrez que le ArtistId colonne contient des données même si nous n'avons pas réellement ajouté de données à cette colonne. C'est parce que ArtistId est une colonne d'identité (nous avons utilisé IDENTITY(1,1) dans la définition de table lors de la création de la colonne). La colonne d'identité insère automatiquement une valeur incrémentielle avec chaque ligne, nous n'avons donc pas besoin d'insérer une valeur pour cette colonne - SQL Server le fait pour nous. Nous avons également défini cette colonne comme clé primaire lorsque nous l'avons créée, afin que chaque valeur soit unique.

Exécutez maintenant le script suivant :

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

Ce script insère des données dans les deux autres tables afin que nous ayons des données avec lesquelles travailler plus tard lorsque nous exécuterons certaines requêtes.

Saisie directe

Certains outils GUI vous permettent d'entrer des données directement dans le tableau via l'interface. Comme ceci :

  1. Ouvrir le tableau en mode édition

    Accédez au tableau dans lequel vous souhaitez saisir des données.

    Faites un clic droit sur le tableau et sélectionnez Modifier les données (ou tout ce que votre outil GUI l'appelle - SSMS l'appelle Modifier les 200 premières lignes ).

  2. Saisir des données

    Le tableau s'ouvrira, vous permettant de saisir des données directement dans les cellules.

    Vous n'aurez pas besoin d'entrer des données dans des colonnes avec des valeurs générées automatiquement, telles que des colonnes d'identité, des colonnes d'horodatage, etc.

    SQL Server vous empêchera généralement d'entrer des données dans de telles colonnes.

Autres méthodes

Voici quelques autres méthodes qui peuvent être utilisées pour remplir une base de données avec des données. Que vous soyez en mesure de le faire ou non, cela dépendra de vos outils de gestion de base de données et/ou de votre environnement.

  • Copier/coller

    Si vous disposez d'un outil graphique qui vous permet de saisir des données directement dans la table, vous pouvez également constater que vous pouvez également copier et coller des données en masse directement dans cette table (SSMS le prend en charge). Vous pouvez donc copier toutes les données d'une feuille de calcul, puis les coller directement dans la table de la base de données.

    SQL Server Management Studio (SSMS) vous permet de coller plusieurs lignes de données dans une table.
  • Importer les données

    Certains outils permettent d'importer un fichier contenant toutes les données nécessaires. Par exemple, vous pouvez importer une feuille de calcul Excel ou un fichier .csv.

    L'utilitaire de ligne de commande BCP est un outil populaire pour effectuer des opérations de copie en bloc dans SQL Server. SQL Server Management Studio dispose d'un assistant d'importation qui vous assiste tout au long du processus.

    Un assistant "Import Flat File" a été introduit dans SSMS 17.3. Cela simplifie le processus d'importation de fichiers plats tels que .csv et .txt.
  • Site Web ou autre application personnalisée

    De nos jours, la plupart des bases de données sont construites dans le cadre du backend d'une application telle qu'un site Web, un CRM, une application financière, etc. Ces applications permettent généralement à l'utilisateur final d'insérer et de mettre à jour des données. Typiquement, l'utilisateur insère des données via un formulaire. Dans les coulisses, le formulaire insère les données dans les bonnes tables de la base de données. Dans ce cas, l'utilisateur n'a même pas besoin de savoir quelles tables se trouvent dans la base de données. Tout ce qu'ils voient, c'est le formulaire. Un formulaire peut insérer des données dans plusieurs tables.