web-dev-qa-db-fra.com

Exemple d'insertion SQL Server

Je passe occasionnellement entre Oracle et SQL Server et j'oublie souvent comment effectuer certaines des tâches les plus triviales de SQL Server. Je souhaite insérer manuellement une ligne de données dans une table de base de données SQL Server à l'aide de SQL. Quelle est la façon la plus simple de procéder?

Par exemple, si j'ai une table USERS, avec les colonnes ID (numéro), FIRST_NAME et LAST_NAME, quelle requête dois-je utiliser pour insérer une ligne dans cette table?

De plus, quelle syntaxe dois-je utiliser si je souhaite insérer plusieurs lignes à la fois?

31
n00b

Pour insérer une seule ligne de données:

INSERT INTO USERS
VALUES (1, 'Mike', 'Jones');

Pour effectuer une insertion sur des colonnes spécifiques (par opposition à toutes), vous devez spécifier les colonnes que vous souhaitez mettre à jour.

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
VALUES ('Stephen', 'Jiang');

Pour insérer plusieurs lignes de données dans SQL Server 2008 ou version ultérieure:

INSERT INTO USERS VALUES
(2, 'Michael', 'Blythe'),
(3, 'Linda', 'Mitchell'),
(4, 'Jillian', 'Carson'),
(5, 'Garrett', 'Vargas');

Pour insérer plusieurs lignes de données dans les versions antérieures de SQL Server, utilisez "UNION ALL" comme ceci:

INSERT INTO USERS (FIRST_NAME, LAST_NAME)
SELECT 'James', 'Bond' UNION ALL
SELECT 'Miss', 'Moneypenny' UNION ALL
SELECT 'Raoul', 'Silva'

Notez que le mot clé "INTO" est facultatif dans les requêtes INSERT. Les requêtes source et plus avancées peuvent être trouvées ici .

58
n00b

Voici 4 façons d'insérer des données dans une table.

  1. Insertion simple lorsque la séquence des colonnes du tableau est connue.

    INSERT INTO Table1 VALUES (1,2,...)

  2. Insertion simple dans les colonnes spécifiées du tableau.

    INSERT INTO Table1(col2,col4) VALUES (1,2)

  3. Insertion en masse lorsque ...

    1. Vous souhaitez insérer chaque colonne du tableau 2 dans le tableau 1
    2. Vous connaissez la séquence de colonnes du tableau 2
    3. Vous êtes certain que la séquence de colonnes du tableau 2 ne changera pas pendant que cette instruction est utilisée (peut-être vous, l'instruction ne sera utilisée qu'une seule fois).

    INSERT INTO Table1 {Column sequence} SELECT * FROM Table2

  4. Insertion en masse des données sélectionnées dans les colonnes spécifiées du tableau 2.

.

INSERT INTO Table1 (Column1,Column2 ....)
    SELECT Column1,Column2...
       FROM Table2
10
RameezAli

J'espère que cela t'aidera

Créer une table:

create table users (id int,first_name varchar(10),last_name varchar(10));

Insérez des valeurs dans le tableau:

insert into users (id,first_name,last_name) values(1,'Abhishek','Anand');
0
Abhishek