Infoga i MySQL - Implementera Infoga kommando i MySQL med exempel

Innehållsförteckning:

Anonim

Introduktion till Insert i MySQL

Huvudmålet för ett databassystem är att lagra data i tabeller. För att definiera funktionaliteten i databasen har vi olika typer av SQL-kommandon. I det här ämnet kommer vi att lära oss om Infoga i MySQL.

SQL-kommandon kan kategoriseras i följande:

  • DDL (datadefinitionsspråk)
  • DML (Datamanipuleringsspråk)
  • DQL (datasökningsspråk)
  • DCL (Datakontrollspråk)
  • TCL (Transaction control language)

Här i den här artikeln kommer vi att fokusera främst på DML. Som vi kan se namnet Data Manipulation språk, så när tabellen / databasen har skapats, för att manipulera något, kräver vi DML-kommandon. Fördelarna med att använda dessa kommandon är om vi skulle kunna rulla tillbaka / ångra om det skulle inträffa felaktiga förändringar.

Följande är kommandona i DML:

1. INSERT: Används för att sätta in nya rader i tabellen.

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

2. DELETE: Används för att radera en rad eller hela poster i en tabell.

DELETE TABLE employee;

3. UPDATE: Används för att uppdatera befintliga poster i en tabell.

UPDATE employee
SET col1 = new_col
WHERE condition;

Syntax för infoga kommando i MySQL

Vi kan skriva INSERT INTO-uttalandet på följande två sätt.

Sätt nr 1

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

Väg nr 2

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

  • INSERT INTO table_name är kommandot som lägger till en ny rad i en tabell med namnet `table_name 'i MySQL-databasen.
  • (kolumn_1, kolumn_2, …) är kolumnnamnen där en ny post kommer att läggas till.
  • VÄRDER (värde_1, värde_2, …) anger värden som ska läggas till i den nya raden.

När vi lägger till nya poster måste vi vara försiktiga med de definierade datatyperna medan vi skapar tabellens struktur.

  • Sträng: Alla strängvärden ska bifogas enstaka citat.
  • Numeriska: Numeriska värden bör inte bifogas varken enstaka eller dubbla citationstecken.
  • Datum: Dessa datatyper ska vara i en enda offert med formatet 'ÅÅÅÅ-MM-DD'.

Låt oss överväga att det finns en "anställd" -tabell som består av följande attribut:

anst_id Emp_name Telefon E-post Avdelning Chef Stad
1001Vinay9876543219CSRSudhirBangalore
1002Raaj9764527848DENStephenHyderabad
1003Sakti9567382784BilvedBhubaneswar

Om vi ​​lägger till värden för alla kolumner i en tabell behöver vi inte ange kolumnnamnen i frågan, men vi måste se till att vår nya post ska följa kolumnsekvensen som definieras i tabellen.

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

Om vi ​​inte har alla värden på kolumner och sätter in några av dem, måste vi ange kolumnnamnen i frågan.

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

Implementering av infoga kommando i MySQL

Låt oss tänka på att vi har följande listor med nya poster som behövs för att lägga till i STUDENT-databasstabellen.

Roll_noFörnamnEfternamnStandardTelefonProcentsatsStad
1SandeepKumar10987645672689, 33Cuttack
2Shyam976Bhubaneswar
3SaktiNaik646376577676
4Sid89864876986Kolkata
5VinayKumar1092

Vi kommer att infoga de raderna en efter en i databasen.

  • Låt oss börja med Sandeep. Här är 'Roll_no', 'Standard', 'Phone' och 'Procentage' numeriska fält, så värden i denna kolumn kommer att infogas utan citat.

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

Obs: Eftersom vi har värden på alla kolumnerna i studenttabellen behöver vi inte ange kolumnnamnet när vi använder INSERT-kommandot. Men vi måste se till att vårt värde ska följa kolumnernas ordning i tabellen.

  • När det gäller Shyam-posten kan vi se att många värden saknas. Så här måste vi ange kolumnnamnen, i vilka vi vill infoga värdena.

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

Obs: I den här posten har vi inte värdena för varje kolumn. Det är därför vi måste ange alla kolumnnamn som vi vill infoga våra värden och i ordningen med dessa kolumnnamn måste vi också nämna värden.

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

Att ändra ordningen på kolumnerna och värdet har ingen effekt på INSERT-frågan eftersom rätt värde inte kan kartläggas till höger kolumn. Således kan problem som att infoga ett numeriskt värde i en sträng eller vice versa uppstå.

I alla ovanstående frågor saknas så många fält som Last_name, Phone, City-värden. Så i sådana fall infogar MySQL som standard NULL-värden i de kolumner som vi har hoppat över i frågorna.

Infoga i en tabell från en annan tabell

Om det finns två liknande tabeller, och vi vill infoga data från tabell_1 till tabell_2 direkt för att undvika manuellt arbete, kan vi också använda en annan typ av INSERT-fråga. I ett sådant fall måste vi använda ett SELECT-kommando med INSERT-kommandot. I grund och botten kommer SELECT-kommandot under DQL (Data Query Language), som används för att hämta / hämta data. Väljkommandot kan också användas med många typer av klausuler.

Grundsyntaxen för att infoga poster i en tabell från en annan är följande:

INSERT INTO table_1 SELECT * FROM table_2;

Exempel

Låt oss se exemplet nedan:

1. Ordertabell

BeställningsnrOrder_departmentKöparens namnContact_noKvantitetPlats
8465637möbelPeter86598767661000delhi
9473636OrnamentAlex9863769898800Mumbai

2. Order_archive tabell

BeställningsnrOrder_departmentKöparens namnContact_noKvantitetPlats

Här har vi två tabeller med namnet Order och Order_archive. Om vi ​​flyttar alla poster från Ordertabellen till Order_arkiv, kan följande kod utföra uppgiften:

INSERT INTO Order_archive SELECT * FROM Order;

Om vi ​​vill flytta vissa specifika kolumner från Ordertabellen till Order_arkiv, gör så:

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

Slutsats

Infoga kommando är mycket användbart eftersom det kommer att spela från tiden för tabellen skapas till varje gång vi lägger till fler poster till den befintliga tabellen. Vi kan sammanfatta följande punkter från den här artikeln:

  • INSERT-kommando används för att lägga till nya data i tabellen.
  • Datum och strängvärde ska vara i en enda offert.
  • Det numeriska värdet ska inte vara i citat.
  • När du sätter in poster i specifika kolumner bör kolumnnamnet och värdet kartläggas i samma ordning.
  • Detta kommando kan också användas för att infoga poster från en tabell till en annan tabell.

Rekommenderade artiklar

Detta är en guide till Infoga i MySQL. Här diskuterar vi Implementering av Insert Command i MySQL tillsammans med lämpliga exempel och syntax. Du kan också titta på följande artikel.

  1. Vad är MySQL-schema?
  2. MySQL String-funktioner
  3. Vad är MySQL?
  4. Hur man installerar MySQL
  5. Exempel på implementering INSERT i Oracle