Inleiding tot invoegen in MySQL

Het hoofddoel van een databasesysteem is om gegevens in tabellen op te slaan. Om de functionaliteit in de database te definiëren, hebben we verschillende soorten SQL-opdrachten. In dit onderwerp gaan we meer te weten komen over Invoegen in MySQL.

SQL-opdrachten kunnen in de volgende categorieën worden onderverdeeld:

  • DDL (data-definitie taal)
  • DML (taal voor gegevensmanipulatie)
  • DQL (dataquery-taal)
  • DCL (taal voor gegevensbeheer)
  • TCL (transactiecontrole taal)

Hier in dit artikel gaan we ons vooral richten op DML. Zoals we de naam Data Manipulation-taal kunnen zien, hebben we, zodra de tabel / database is gemaakt, om iets te manipuleren DML-opdrachten nodig. Het voordeel van het gebruik van deze opdrachten is dat als er verkeerde wijzigingen zijn gebeurd, we deze ongedaan kunnen maken / ongedaan kunnen maken.

Hier volgen de opdrachten in DML:

1. INVOEGEN: wordt gebruikt om nieuwe rijen in de tabel in te voegen.

INSERT into employee
Values(101, 'abcd');

2. VERWIJDEREN: wordt gebruikt om de enkele rij of hele records in een tabel te verwijderen.

DELETE TABLE employee;

3. UPDATE: Gebruikt om bestaande records in een tabel bij te werken.

UPDATE employee
SET col1 = new_col
WHERE condition;

Syntaxis van Insert Command in MySQL

We kunnen de instructie INSERT INTO op de volgende twee manieren schrijven.

Manier # 1

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

Manier # 2

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

  • INSERT INTO tabelnaam is de opdracht die een nieuwe rij toevoegt aan een tabel met de naam 'tabelnaam' in MySQL-database.
  • (column_1, column_2, …) zijn de kolomnamen waaraan een nieuw record wordt toegevoegd.
  • WAARDEN (waarde_1, waarde_2, …) geeft de waarden aan die moeten worden toegevoegd aan de nieuwe rij.

Bij het toevoegen van nieuwe records moeten we voorzichtig zijn met de gedefinieerde gegevenstypen bij het maken van de structuur van de tabel.

  • String: Alle stringwaarden moeten tussen enkele aanhalingstekens worden geplaatst.
  • Numeriek: numerieke waarden mogen niet tussen enkele of dubbele aanhalingstekens worden geplaatst.
  • Datum: deze gegevenstypen moeten in één quote staan ​​met de indeling 'JJJJ-MM-DD'.

Laten we eens kijken dat er een 'medewerker'-tabel bestaat die bestaat uit de volgende attributen:

emp_id Emp_name Telefoon E-mail afdeling Manager stad
1001Vinay9876543219CSRSudhirBangalore
1002Raaj9764527848HETStephenHyderabad
1003Sakti9567382784AutomotivevedBhubaneswar

Als we waarden voor alle kolommen van een tabel toevoegen, hoeven we niet de kolomnamen in de query op te geven, maar we moeten ervoor zorgen dat ons nieuwe record de volgorde van de kolom moet volgen zoals gedefinieerd in de tabel.

INSERT INTO employee
VALUES (1004, 'Ravi', 9856478398, ' ', 'marketing', 'shiv', 'kolkata');

Als we niet alle waarden van kolommen hebben en we zullen er enkele invoegen, dan moeten we de kolomnamen in de query opgeven.

INSERT INTO employee (emp_id, emp_name, phone, email, manager)
VALUES (1005, 'sam', 9856478398, ' ', 'shivankar');

Implementatie van Insert Command in MySQL

Laten we aannemen dat we de volgende lijsten met nieuwe records hebben die nodig zijn om toe te voegen aan de STUDENT-databasetabel.

Roll_noVoornaamAchternaamStandaardTelefoonPercentagestad
1SandeepKumar10987645672689.33Cuttack
2Shyam976Bhubaneswar
3SaktiNaik646376577676
4Sid89864876986Kolkata
5VinayKumar1092

We zullen die rijen één voor één in de database invoegen.

  • Laten we beginnen met Sandeep. Hier zijn 'Roll_no', 'Standard', 'Phone' en 'Percentage' numerieke velden, dus waarden in deze kolom worden zonder aanhalingstekens ingevoegd.

INSERT INTO student
VALUES (1, 'Sandeep', 'Kumar', 10, 9876456726, 89.33, 'Cuttack');

Opmerking: omdat we waarden hebben voor alle kolommen van de studententabel, hoeven we de kolomnaam niet op te geven tijdens het gebruik van de opdracht INSERT. Maar we moeten ervoor zorgen dat onze waarde de volgorde van kolommen in de tabel moet volgen.

  • In het geval van Shyam-record kunnen we zien dat veel waarden ontbreken. Dus hier moeten we de kolomnamen specificeren, waarin we de waarden willen invoegen.

INSERT INTO student (Roll_no, First_name, Standard, Percentage, City)
VALUES (2, 'Shyam', 9, 76, 'Bhubaneswar');

Opmerking: In deze record hebben we niet de waarden van elke kolom. Daarom moeten we alle kolomnamen specificeren waarin we onze waarden willen invoegen en in de volgorde van die kolomnamen moeten we ook waarden vermelden.

INSERT INTO student (Roll_no, First_name, Last_name, Phone, Percentage)
VALUES (3, 'Sakti', 'naik', 6463765776, 76);

INSERT INTO student (Roll_no, First_name, Standard, Phone, City)
VALUES (4, 'Sid', 8, 9864876986, 'Kolkata');

INSERT INTO student (Roll_no, First_name, Last_name, standard, Percentage)
VALUES (5, 'Vinay', 'Kumar', 10, 92);

Het wijzigen van de volgorde van de kolommen en waarde heeft geen effect op de INSERT-query omdat de juiste waarde niet kan worden toegewezen aan de rechterkolom. Er kunnen zich dus problemen voordoen, zoals het invoegen van een numerieke waarde in een string of omgekeerd.

In alle bovenstaande zoekopdrachten ontbreken zoveel velden zoals Achternaam, Telefoon en Plaatswaarden. In dergelijke gevallen zal MySQL standaard NULL-waarden invoegen in de kolommen die we in de query's hebben overgeslagen.

Invoegen in een tabel vanuit een andere tabel

Als er 2 vergelijkbare tabellen zijn en we gegevens van table_1 naar table_2 rechtstreeks willen invoegen om handmatig werk te voorkomen, kunnen we ook een ander type INSERT-query gebruiken. In dat geval moeten we een SELECT-opdracht gebruiken met de INSERT-opdracht. Kortom, het SELECT-commando valt onder DQL (Data Query Language), dat wordt gebruikt voor het ophalen / ophalen van gegevens. Het select commando kan ook met veel soorten clausules worden gebruikt.

De basissyntaxis voor het invoegen van records in een tabel vanuit een andere is als volgt:

INSERT INTO table_1 SELECT * FROM table_2;

Voorbeeld

Laten we het onderstaande voorbeeld bekijken:

1. Besteltabel

BestelnrOrder_departmentKlantnaamContact_noAantal stuksPlaats
8465637MeubilairPeter86598767661000Delhi
9473636ornamentenAlex9863769898800Mumbai

2. Order_archive-tabel

BestelnrOrder_departmentKlantnaamContact_noAantal stuksPlaats

Hier hebben we 2 tabellen genaamd Order en Order_archive. Als we alle records van de tabel Order naar Order_archive verplaatsen, kan de volgende code de taak uitvoeren:

INSERT INTO Order_archive SELECT * FROM Order;

Als we enkele specifieke kolommen van de tabel Order naar Order_archive willen verplaatsen, dan:

INSERT INTO Order_archive (Order_no, Order_department, Contact_no, Quantity)
SELECT Order_no, Order_department, Contact_no, Quantity FROM Order;

Conclusie

De opdracht Invoegen is erg handig omdat het vanaf het moment van het maken van de tabel tot elke keer wordt gespeeld wanneer we meer records aan de bestaande tafel toevoegen. We kunnen de volgende punten uit dit artikel samenvatten:

  • INSERT-opdracht wordt gebruikt om nieuwe gegevens aan de tabel toe te voegen.
  • De datum en tekenreekswaarde moeten in één citaat staan.
  • De numerieke waarde mag niet tussen aanhalingstekens staan.
  • Bij het invoegen van records in specifieke kolommen moeten de kolomnaam en -waarde in dezelfde volgorde worden toegewezen.
  • Deze opdracht kan ook worden gebruikt om records van de ene naar de andere tabel in te voegen.

Aanbevolen artikelen

Dit is een handleiding voor invoegen in MySQL. Hier bespreken we de implementatie van invoegopdracht in MySQL samen met de juiste voorbeelden en syntaxis. U kunt ook het volgende artikel bekijken.

  1. Wat is MySQL-schema?
  2. MySQL String-functies
  3. Wat is MySQL?
  4. Hoe MySQL te installeren
  5. Voorbeelden om INSERT in Oracle te implementeren