SQL indsæt i og indsæt udsagn: med eksempel på MySQL-syntaks

Denne artikel vil lede dig gennem, hvordan du bruger både Indsæt og Indsæt i udsagn i SQL.

Sådan bruges Indsæt i SQL

Indsæt forespørgsler er en måde at indsætte data i en tabel på. Lad os sige, at vi har oprettet en tabel ved hjælp af

CREATE TABLE example_table ( name varchar(255), age int)

eksempel_tabel

Navn Alder

For at tilføje nogle data til denne tabel bruger vi   INSERT  på følgende måde:

INSERT INTO example_table (column1,column2) VALUES ("Andrew",23)

eksempel_tabel

NameAgeAndrew23

Selv det følgende fungerer, men det er altid en god praksis at specificere, hvilke data der går ind i hvilken kolonne.

INSERT INTO table_name VALUES ("John", 28)

eksempel_tabel

NameAgeAndrew23John28

Sådan bruges Indsæt i SQL

For at indsætte en post i en tabel bruger du   INSERT INTO  udsagnet.

Du kan gøre det på to måder, hvis du kun vil indsætte værdier i nogle kolonner, skal du angive deres navne inklusive alle obligatoriske kolonner. Syntaksen er:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); 

Den anden måde er at indsætte værdier i alle kolonner i tabellen, det er ikke nødvendigt at specificere kolonnernes navne. Syntaksen er:

INSERT INTO table_name VALUES (value1, value2, value3, ...); 

Her er et eksempel på, hvordan du indsætter en post i tabellen Person på begge måder:

INSERT INTO Person VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’); 

Og

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’); 

Nogle SQL-versioner (f.eks. MySQL) understøtter indsættelse af flere rækker på én gang. For eksempel:

INSERT INTO Person(Id, Name, DateOfBirth, Gender) VALUES (1, ‘John Lennon’, ‘1940-10-09’, ‘M’), (2, ‘Paul McCartney’, ‘1942-06-18’, ‘M’), (3, ‘George Harrison’, ‘1943-02-25’, ‘M’), (4, ‘Ringo Starr’, ‘1940-07-07’, ‘M’) 

Bemærk, at hele den originale forespørgsel forbliver intakt - vi tilføjer simpelt hen til datarækker, der er omsluttet af parenteser og adskilt af kommaer.

Du kan endda bruge Indsæt i i en Vælg erklæring.

Du kan indsætte poster i en tabel ved hjælp af data, der allerede er gemt i databasen. Dette er kun en kopi af data, og det påvirker ikke oprindelsestabellen.

De   INSERT INTO SELECT  erklæring kombinerer   INSERT INTO  og   SELECT  erklæringer og du kan bruge alle betingelser, du ønsker. Syntaksen er:

INSERT INTO table2 (column1, column2, column3, ...) SELECT column1, column2, column3, ... FROM table1 WHERE condition; 

Her er et eksempel, der indsætter i tabellen Personer alle de mandlige studerende fra bordet Studerende.

INSERT INTO Person(Id, Name, DateOfBirth, Gender) SELECT Id, Name, DateOfBirth, Gender FROM Students WHERE Gender = ‘M’