SQLShack

In het vorige artikel hebben we twee tabellen gemaakt en nu zijn we klaar om de opdracht SQL INSERT INTO TABLE te gebruiken en deze tabellen te vullen met gegevens. Om dit te doen, bereiden we statements voor in Excel en plakken deze statements vervolgens in SQL Server en voeren ze uit. We zullen ook de inhoud van beide tabellen voor en na deze commando ‘ s controleren met behulp van het SELECT statement. Laten we beginnen.

invoegen in tabel statement

het heeft geen zin databasestructuren te creëren en geen gegevens in de database te hebben. Het INSERT INTO TABLE statement is degene die we zullen gebruiken om dit probleem op te lossen. Het is een van de vier belangrijke SQL DML (Data Manipulation Language) statements SELECT … FROM, INSERT INTO TABLE, UPDATE … SET, and DELETE FROM… de volledige syntaxis is vrij complex omdat de INSERT INTO ook een zeer complexe statement zou kunnen zijn. Neem een kijkje op de T-SQL INSERT in tabel volledige syntaxis hier.

in dit artikel zullen we vereenvoudigde, maar ook meest voorkomende syntaxis gebruiken:

invoegen in table_name (column_list) VALUES (column_values);

in zo ‘ n invoegen in statement moet u de table_name definiëren waarin u gegevens invoegt, een lijst maken van alle kolommen (misschien gebruikt u ze allemaal, maar misschien slechts een paar), en vervolgens alle waarden weergeven. Merk op dat kolomwaarden moeten overeenkomen met de definitie van kolomtypen (u kunt bijvoorbeeld geen tekstuele waarde in de numerieke kolom/het kenmerk invoegen).

in het geval u alle waarden in de tabel invoegt, hoeft u niet alle kolommen na de table_name te vermelden en kunt u nog eenvoudiger syntaxis gebruiken:

invoegen in table_name VALUES (column_values);

persoonlijk geef ik de voorkeur aan het weergeven van alle kolomnamen, omdat deze aanpak zou werken, zelfs als we nieuwe kolommen aan de bestaande tabel toevoegen.

  • Notes: het invoegen in tabel statement kan op een dergelijke manier worden geschreven dat we meerdere rijen invoegen met 1 statement of zelfs gecombineerd met de SELECT statement.

de vereenvoudigde syntaxis voor een dergelijk geval waarin invoegen en SELECT statements worden gecombineerd wordt hieronder gegeven:

invoegen in destination_table (column_list, …)
select column_list
FROM source_table
WHERE condition;

invoegen in tabel voorbeeld

voordat u iets doet, laten we controleren wat er in onze tabellen is opgeslagen. Dit is het model dat we in het vorige artikel hebben gemaakt. U kunt zien dat we een tabel hebben waar we gegevens met betrekking tot landen opslaan en een andere voor gegevens met betrekking tot steden. Ze zijn ook verwant aan elkaar, maar we praten hierover in het volgende artikel:

INVOEGEN IN de TABEL - data model

INVOEGEN IN de TABEL - data model

om te controleren de inhoud van deze twee tabellen, gebruiken we twee eenvoudige SELECT-instructies:

1
2

SELECT * FROM land;
SELECT * FROM city;

hoewel SELECT niet het onderwerp van dit artikel is, moet worden vermeld dat de basissyntaxis is:

selecteer 1 of meer attributen uit de tabel;

de ster (*) na SELECT geeft aan dat we de waarden van alle attributen/kolommen uit die tabel willen weergeven in het queryresultaat.

zoals verwacht staat er niets in deze twee tabellen, en SQL Server geeft het resultaat terug, zoals weergegeven in de afbeelding hieronder. Statements retourneert namen van de kolommen uit de tabellen die we hebben gebruikt in de SELECT query, maar er is niets onder deze kolomnamen. U kunt dit bekijken als een leeg Excel-blad met gedefinieerde kolomnamen (headers). Je weet wat voor soort gegevens er zouden moeten zijn, maar er is niets:

dat moeten we veranderen.

eerst zullen we de landentabel vullen met behulp van de volgende invoegen in tabeluittreksels:

1
2
3
4
5

PLAATS IN het land (country_name, country_name_eng, country_code) VALUES (‘Deutschland’, ‘Duitsland’, ‘DEU’);
INVOEGEN IN het land (country_name, country_name_eng, country_code) VALUES (‘Srbija’, ‘Servië’, ‘SRB’);
INVOEGEN IN het land (country_name, country_name_eng, country_code) VALUES (‘Hrvatska’, ‘Kroatië’, ‘HRV’);
invoegen in country (country_name, country_name_eng, country_code) VALUES (“United Stated of America”, “United Stated of America”, “USA”);
invoegen in country (country_name, country_name_eng, country_code) VALUES (“Polska”, “Poland”, “Polska”‘);

gegevens voor vijf landen zijn met succes ingevoerd. Het resultaat is weergegeven in de foto hieronder. Aangezien we 5 invoegen in tabel statements hebben we 1″ (1 rij beïnvloed) “bericht voor elk van deze vijf commando ’s in de” berichten ” sectie:

in tabel-land

houd er rekening mee dat alle waarden (na waarden) zijn geordend op dezelfde manier waarop we kolommen hebben weergegeven (na invoegen in land). Alle drie de waarden zijn teksten. De query zou werken, zelfs als we ze niet op de juiste manier hebben besteld omdat ze allemaal hetzelfde gegevenstype (tekst) hebben, maar de gegevens zouden in de verkeerde kolommen worden opgeslagen. In dat geval zouden we een semantische fout hebben.

het volgende wat we moeten doen is de stadstabel invullen. We zullen dat doen met behulp van de volgende verklaringen:

1
2
3
4
5
6

INVOEGEN IN de stad (city_name, lat, long, country_id) VALUES (‘Berlin’, 52.520008, 13.404954, 1);
INVOEGEN IN de stad (city_name, lat, long, country_id) VALUES (‘Belgrado’, 44.787197, 20.457273, 2);
INVOEGEN IN de stad (city_name, lat, long, country_id) VALUES (‘Zagreb’, 45.815399, 15.966568, 3);
INVOEGEN IN de stad (city_name, lat, long, country_id) VALUES (‘New York’, 40.73061, -73.935242, 4);
INSERT INTO city (city_name, lat, long, country_id) VALUES (‘Los Angeles’, 34.052235, -118.243683, 4);
INSERT INTO city (city_name, lat, long, country_id) VALUES (‘Warsaw’, 52.237049, 21.017532, 5);

na het uitvoeren van deze uitspraken was dit het resultaat. Zoals verwacht werden 6 toeren toegevoegd. En nogmaals hebben we 1 bericht voor elke invoeging in de berichten sectie:

stad

In dit geval zouden we een probleem hebben als we waarden niet op dezelfde manier hebben weergegeven, we hebben kolommen weergegeven omdat hun gegevenstypen niet hetzelfde zijn (ze zijn – in volgorde: tekst, decimaal getal, decimaal getal, geheel getal). Dit type fout wordt syntaxisfout genoemd en het DBMS zelf zou de query helemaal niet laten draaien.

SELECT-Check wat er is ingevoegd

nu controleren we nogmaals wat er in onze tabellen is opgeslagen. We gebruiken dezelfde twee SELECT statements die we eerder hebben gebruikt:

1
2

selecteer * uit land;
selecteer * Uit stad;

het resultaat is weergegeven in de foto hieronder. Merk op dat na het uitvoeren van queries nu We resultaten en berichten secties onder queries:

SELECT statements

we kunnen concluderen dat beide tabellen in onze database gegevens bevatten en nu zijn we klaar om te “spelen” met iets veel coolers dan dit.

invoegen in tabel met behulp van Excel

in veel gevallen moet u meerdere SQL-statements uitvoeren op basis van de aan u verstrekte dataset. Dit staat niet alleen voor de INSERT INTO TABLE statement maar ook voor Update en DELETE statements. Het heeft geen zin om deze statements handmatig te typen, maar je moet liever gaan met een slimmere aanpak-formules (of een script) voorbereiden die dit deel automatiseren. In dergelijke situaties gebruik ik liever Excel en formules.

Noot: Persoonlijk, in de context van databases, vind ik Excel erg handig wanneer ik meerdere statements moet maken en bij het presenteren van resultaten en/of het maken van dashboards.

Laten we een kijkje nemen bij deze formules:

landen Excel

De formule gebruikt voor het invoegen van de eerste land (Duitsland) :

1
=”PLAATS IN het land (country_name, country_name_eng, country_code) VALUES (‘” & B2 & “‘, ‘” & C2 & “‘, ‘” & D2 & “‘);”

steden Excel

De formule gebruikt voor het invoegen van de eerste stad (Berlijn) is:

1
=”INVOEGEN IN de stad (city_name, lat, long, country_id) VALUES (‘” & B2 & “‘, ” & C2 & “, ” & D2 & “, ” & E2 & “);”

Voel je vrij deze te gebruiken formules voor het automatiseren van taken. We zullen een soortgelijke aanpak later gebruiken wanneer we meerdere UPDATE-en DELETE-statements uitvoeren (en zelfs bij het maken van geselecteerde statements).

conclusie

In dit artikel hebben we een van de vier belangrijkste SQL statements behandeld –voeg in tabel statement in. We hebben het gebruikt om tabellen te vullen die in het vorige artikel zijn gemaakt. Dit was een voorwaarde om over te gaan naar slimmere dingen – zoals databasetheorie, en nog belangrijker, het terugbrengen van resultaten uit onze database.

In het komende artikel zullen we het hebben over de primaire sleutel – wat het is en waarom het belangrijk is in de databases.

inhoudsopgave

Leren SQL: CREATE DATABASE & CREATE TABLE-Activiteiten

Leren SQL: INSERT INTO TABEL

Leren SQL van de Primaire Sleutel

Leren SQL: Vreemde Sleutel

Leren van SQL: SELECT-instructie

Leren SQL: INNER JOIN vs LEFT JOIN

Leren SQL: de SQL-Scripts

Leren SQL: Soorten van relaties

Leren SQL: Lid worden van meerdere tabellen

Leren SQL: Statistische Functies

Leren SQL: het Schrijven van een Complexe Query SELECTEREN

Leren SQL: De INFORMATION_SCHEMA Database

Leren SQL: de SQL-Gegevenstypen

Leren SQL: Set Theorie

Leren SQL: Door de gebruiker Gedefinieerde Functies

Leren SQL: door de Gebruiker Gedefinieerde Opgeslagen Procedures

Leren SQL: de SQL-Uitzicht

Leren SQL: de SQL-Triggers

Leren SQL: Oefenen met SQL-Query ‘ s

Leren SQL: SQL-Query voorbeelden

Leren SQL: Maak een verslag handmatig met behulp van SQL-query ‘ s

Leren SQL: de SQL Server functies voor datum en tijd

Leren SQL: Maken van SQL Server rapporten met functies voor datum en tijd

Leren SQL: de SQL-Server Pivot-Tabellen

Leren SQL: SQL Server exporteren naar Excel

Leren SQL: Intro to SQL Server lussen

Leren SQL: de SQL Server-Cursors

Leren SQL: de SQL-Best Practices voor het Verwijderen en Bijwerken van gegevens

Leren SQL: Naamgeving

Leren SQL: SQL-Gerelateerde Banen

Leren SQL: Niet-Equi-Joins in de SQL Server

Leren SQL: de SQL-Injectie

Leren SQL: Dynamische SQL

  • Auteur
  • Recente Berichten
Emil Drkusic
Emil is een database professional met 10+ jaar ervaring in alles wat met databases. In de loop der jaren werkte hij in de IT-en financiële sector en werkt nu als freelancer.
zijn vroegere en huidige opdrachten variëren van databaseontwerp en-codering tot onderwijs, advies en schrijven over databases. Ook niet te vergeten, BI, het creëren van algoritmen, Schaken, Filatelie, 2 honden, 2 Katten, 1 vrouw, 1 baby…
je kunt hem vinden op LinkedIn
bekijk alle berichten van Emil Drkusic

Emil Drkusic
Laatste berichten door Emil Drkusic (bekijk alle)
  • leer SQL: dynamische SQL-3 maart 2021
  • leer SQL: SQL-injectie-2 November 2020
  • leer SQL: Niet-Equi doet mee aan SQL Server-September 29, 2020

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

More: