Transact-SQL - Infoga data. SQL Insert Query, modifiering och data borttagning SQL-förfrågan lägger till


Den här artikeln är avsedd för att fylla i databastabellerna, det vill säga att vi studerar SQL-kommandona för att infoga nya poster. Det bör sägas att posten i tabellen kan göras på två sätt:

Metod nummer 1.
Låt oss försöka komma in i ett nytt land i länderna. ADDINGS-syntaxen kommer att vara som följer:
Infoga i NAME_TABLE (FIELD_1, FIELD_2, ...) Värderingar (Value_1, Value_2, ...); Baserat på vår bordsstruktur kommer SQL-förfrågan att vara:
Infoga i länder (Country_Name, AcronyM_Name) Värden ("Ryssland", "RU"); Så introducerade vi till vårt bord en rekord av landet "Ryssland". Här ska allt vara klart och enkelt, det viktigaste är att noga titta på vilka fält som anges i de första fästena och i samma ordning för att förskriva värden för det andra.

Metod nummer 2.
Det andra sättet, enligt min mening, är lite enklare, för att du ser vad och vilket fält som är tilldelat. Tro mig om det finns ett stort antal kolumner i tabellen, är det väldigt lätt att förvirra eller förena orden för fält i den första och värdesordningen i de andra fästena. Syntaxen för den andra metoden är:
Sätt i NAME_TABLE SET FIELD_1 \u003d VALUE_1, FIELD_2 \u003d VALUE_2, ...; Låt oss göra någon information i tabletten personer.Eftersom det finns fler fält, och fördelen med det andra sättet kommer omedelbart att känna:
Infoga till personer Set First_Name \u003d "Ivan", Last_Name \u003d "Dulin", registrering_date \u003d "2012-06-14", land \u003d "1"; Nu finns det sådana data i vår tablett:


Du märkte förmodligen att vi inte anger värdet för ålder, och det visade sig vara fyllt ... Allt är korrekt - för detta fält ställer vi standardvärdet som 25. Så nu är vår Ivan Dulin listad i databasen med ålder 25. Kanske inte det mest framgångsrika exemplet att göra standardvärdet för åldersfältet, men du kan installera sådana egenskaper till sådana fält som till exempel webbplatsbetyg eller antal sidvisningar. Det är initialt inställt på 0.

Du bör också vara uppmärksam på datumformatet i MySQL: yyyy-mm-dd. Om du inte följer det, kommer dina inspelningar inte att göras till bordet.

Som du kan se är yrketfältet fyllt som , det här är ett tomt värde. För detta fält ställer vi fastigheten "inte obligatoriskt att fylla (null)".

Som ett tillägg, överväga ett annat kommando:
Ladda data Lokal Infrile "D: \\ ZAPROS.txt" till bordpersoner; Vad tycker du att vi gjorde nu?! Och vi gjorde följande: Tillagd data till bordet personer. Från fil. zapros.txtsom är på disk D. Information i filen måste vara följande struktur:


Filstrukturen i filen måste överensstämma med sådana krav:
  1. Varje ny post ska beskrivas med en ny linje
  2. Uppgifterna måste anges för absolut alla fält. Som du kan märka, för ID-fältet, indikerade vi nollvärdet, eftersom vi har ett autokrem vi har, så MySQL kommer att göra det önskade värdet.
  3. Fält är separerade från varandra med fliksymbol (Tab-tangent).
  4. Den angivna informationen måste överensstämma med typerna av data för ett visst fält. Det är till exempel datumet i formatet för GGS-MM-DD, ett heltal för heltal etc.
Således lärde du dig hur du gör nya data i tabellerna i din databas. För att säkra det studerade materialet, gör dessa data oberoende:

Professions tabell:

Personbord:

förnamn. efternamn. Ålder. registrerings datum. land. yrke.
Leonid. Bilak. 45 2012-06-20 2 1
Yuri. Nazarov. 22 2012-06-21 3 1
Alla Savenko. 25 2012-06-22 2 3
Irina. Nikolaeva. 31 2012-06-22 1 3

Var noga med att lägga till dessa poster, eftersom vi måste studera SELECT-satsen (information från databasen), som vi anser i nästa (fjärde) artikeln om studier av SQL-frågor.

Begäran om ändring används för att lägga till (radera), radera och uppdatera (uppdatering) poster i tabeller.

Team infoga i.

Insatsen i kommandot kan användas för att lägga till en eller flera poster till slutet av bordet.

Infoga i kommando-syntax har följande formulär:
Infoga i NAME_TABLE [(NAME_NAME)] Värden;

Placera exempelvis en rekordinnehållande data (1, BF 16A, 1, 1) till motsvarande kolumner (kodengrupp, namn, kurs, termin) i "Grupp" -bordet "-gruppen".

För denna begäran i format:
Infoga i grupper (kodgrupp, namn, kurs, term) (1, BF 16A, 1, 1);
Vi presenterar i frågeformuläret genom att exekvera kommandot Query Constructor på fliken Skapa, i SQL-läget läge i menyn Visa.

Håll en förfrågan med namnet "Add_1___SAPSY". Som ett resultat kommer ett orelaterat objekt att visas i "övergångsområden" - "ADD_1__SAPSY" (fig.1).


Fikon. ett.

Efter att ha sparat frågan måste du utföra den här frågan genom att klicka på ikonen "Kör". Som ett resultat av utförandet av kommandot "add_1___" visas den första posten i den tomma tabellen (bild 2.)



Fikon. 2.

Uppdateringskommando

Uppdateringskommandot är utformat för att ändra befintliga poster i tabellens kolumner, vilket gör att du kan uppdatera värdena i de angivna kolumnerna i tabellen.

Uppdateringskommandosyntax har följande formulär:
Uppdatera NAME_TABLE SET NAME_STOLBETS \u003d NEW_VIDESTE WHERY-förhållanden_

Set-klausulen indikerar namnen på kolumnerna, de data som måste ändras. Den där uttalandet är inte obligatoriskt, men när det endast kan anges på de strängar av kolumner (tabeller) som behöver uppdateras.

Skapa en förfrågan om att ändra inspelningen i tabellen "Grupp" i SQL_TRAINY_ST.MDB-databasen.

Du kommer till exempel att ändra den befintliga posten för det första nyckelfältets ID i kolumnen "Namn" i "Grupp" -bordet.

Begäran i format:
Uppdateringsgruppssetnamn \u003d "BF-16B" där ID \u003d 1;

Spara en förfrågan med namnet "Change_Saping_1". Som ett resultat visas ett objekt i "Change_1" (fig 3.).



Fikon. 3.

Efter att ha sparat frågan måste du utföra den här frågan genom att klicka på ikonen "Kör". Som ett resultat av utförandet av kommandot "Change_11" visas ett dialogfönster där du vill ange värdet på ID-parametern \u003d 1 och klicka på OK. Efter dessa åtgärder ändras "Grupp" -bordet i fältet "Titel" med BF 16A på BF 16b (fig 4.).



Fikon. fyra.

Teleteam

Radera kommandot är utformat för att ta bort poster från bordet.

Begär begreppsformat:
Ta bort från_tablitsa där förhållanden_telektion;

Skapa en förfrågan om att ändra inspelningen i tabellen "Grupp" i SQL_TRAINY_ST.MDB-databasen.

Ta till exempel den befintliga posten för det första nyckelfältets ID i alla kolumner (fält) i "Grupp" -bordet.

För denna begäran i format:
Ta bort varifrån ID \u003d 1;
Skapa på frågeformuläret genom att exekvera kommandot Query Constructor på fliken Skapa, i SQL-lägesläget i menyn Visa.

Vi sparar en förfrågan med namnet "DELETE_SAPING_1". Som ett resultat visas ett objekt i "Removal_1" (fig 5.).



Fikon. fem.

Efter att ha sparat frågan måste du utföra den här frågan genom att klicka på ikonen "Kör". Som ett resultat av genomförandet av kommandot "DELETE_11" visas ett dialogfönster där du vill ange värdet på ID-parametern \u003d 1 och klicka på OK-knappen. Efter dessa åtgärder öppnas dialogrutan "Bekräfta borttagning". Efter bekräftelse i tabellen "Grupp" kommer data att raderas på alla fält, d.v.s. Spela in borttagen (bild 6.).



Fikon. 6.

Det bör noteras att för att radera data i specifika fält i tabellen är det lämpligt att använda kommandot Uppdatera och ersätta värdena i de obligatoriska fälten på NULL. Om du behöver radera ett bord som helhet, bör du använda drop tabellutnyttjandet (Operatörsyntax: Drop Table Name_Table;).

Spela in den första posten i "Grupp" -bordet genom att exekvera kommandot "add_1___", som ett resultat, jag kommer att återställa den första posten (bild 7.).



Fikon. 7.

Senast uppdaterad: 07/13/2017

För att lägga till data används INSERT-kommandot, vilket har följande formella syntax:

Lägg in namn_tabel [(list_stolbts)] Värden (värde1, värde2, ... Valuen)

Infoga i uttryck kommer först, då i parentes kan du ange en lista över kolumner via kommatecken, där du vill lägga till data, och i slutet efter att orden värden listar det mervärde för kolumnerna.

Till exempel, låt nästa databas skapas tidigare:

Skapa databasprodukterDB; Använd ProductsDB; Skapa tabellprodukter (id intentity primär nyckel, produktnamn nvarchar (30) inte , tillverkare nvarchar (20) inte , produktcount int default 0, pris pengar inte null)

Lägg till en rad till den med hjälp av Infoga-kommandot:

Sätt in produkter värden ("iPhone 7", "Apple", 5, 52000)

Efter ett framgångsrikt utförande i SQL Server Management Studio, bör ett meddelande "1 rad (er) som påverkas" visas i meddelandefältet:

Man bör komma ihåg att värdena för kolumner i parentes efter att sökordsvärdena överförs i enlighet med deras annons. Till exempel, i uttrycket av Skapa tabellen ovan, kan du se att den första kolumnen är ID. Men eftersom identitetsattributet är specificerat för det, genereras värdet på den här kolumnen automatiskt och det kan inte anges. Den andra kolumnen representerar produktnamn, så det första värdet är "iPhone 7" -linjen kommer att överföras till den här kolumnen. Det andra värdet - "Apple" -strängen kommer att överföras till den tredje tillverkarens kolumn och så vidare. Det vill säga värderingar överförs till kolumner enligt följande:

    Produktnamn: "iPhone 7"

    Tillverkare: "Apple"

Vid inmatning av värden kan du också ange de omedelbara kolumnerna till vilka värden kommer att läggas till:

Infoga i produkter (produktnamn, pris, tillverkare) Värden ("iPhone 6s", 41000, "Apple")

Här indikeras värdet endast för tre kolumner. Och nu överförs värdena i kolumnernas ordning:

    Produktnamn: "iPhone 6s"

    Tillverkare: "Apple"

För ospecificerade kolumner (i det här fallet kommer produktcount) att lägga till standardvärdet om standardattributet är inställt eller nollvärdet. I det här fallet bör ospecificerade kolumner tillåta null eller ha en attributstandard.

Vi kan också lägga till flera linjer på en gång:

Infoga till produkter värden ("iPhone 6", "Apple", 3, 36000), ("Galaxy S8", "Samsung", 2, 46000), ("Galaxy S8 Plus", "Samsung", 1, 56000)

I det här fallet kommer tre linjer att läggas till i tabellen.

När du lägger till kan vi också ange att standardvärdet för kolumnen använder standardformatet eller nollvärde:

Infoga i produkter (produktnamn, tillverkare, produktcount, pris) värden ("MI6", "Xiaomi", standard, 28000)

I det här fallet kommer standardvärdet att användas för kolumnen Producout (om den är installerad om den inte är - då null).

Om alla kolumner har ett standardattribut som bestämmer standardvärdet, eller tillåta nollvärde, kan du sätta in standardvärden för alla kolumner:

Sätt i produkterna Standardvärden

Men om du tar produktbordet, kommer kommandot sluta med ett fel, eftersom flera fält inte har standardattributet och tillåter inte null.

Den här artikeln är avsedd för att fylla i databastabellerna, det vill säga att vi studerar SQL-kommandona för att infoga nya poster. Det bör sägas att posten i tabellen kan göras på två sätt:

Metod nummer 1.
Låt oss försöka komma in i ett nytt land i länderna. ADDINGS-syntaxen kommer att vara som följer:
Infoga i NAME_TABLE (FIELD_1, FIELD_2, ...) Värderingar (Value_1, Value_2, ...); Baserat på vår bordsstruktur kommer SQL-förfrågan att vara:
Infoga i länder (Country_Name, AcronyM_Name) Värden ("Ryssland", "RU"); Så introducerade vi till vårt bord en rekord av landet "Ryssland". Här ska allt vara klart och enkelt, det viktigaste är att noga titta på vilka fält som anges i de första fästena och i samma ordning för att förskriva värden för det andra.

Metod nummer 2.
Det andra sättet, enligt min mening, är lite enklare, för att du ser vad och vilket fält som är tilldelat. Tro mig om det finns ett stort antal kolumner i tabellen, är det väldigt lätt att förvirra eller förena orden för fält i den första och värdesordningen i de andra fästena. Syntaxen för den andra metoden är:
Sätt i NAME_TABLE SET FIELD_1 \u003d VALUE_1, FIELD_2 \u003d VALUE_2, ...; Låt oss göra någon information i tabletten personer.Eftersom det finns fler fält, och fördelen med det andra sättet kommer omedelbart att känna:
Infoga till personer Set First_Name \u003d "Ivan", Last_Name \u003d "Dulin", registrering_date \u003d "2012-06-14", land \u003d "1"; Nu finns det sådana data i vår tablett:


Du märkte förmodligen att vi inte anger värdet för ålder, och det visade sig vara fyllt ... Allt är korrekt - för detta fält ställer vi standardvärdet som 25. Så nu är vår Ivan Dulin listad i databasen med ålder 25. Kanske inte det mest framgångsrika exemplet att göra standardvärdet för åldersfältet, men du kan installera sådana egenskaper till sådana fält som till exempel webbplatsbetyg eller antal sidvisningar. Det är initialt inställt på 0.

Du bör också vara uppmärksam på datumformatet i MySQL: yyyy-mm-dd. Om du inte följer det, kommer dina inspelningar inte att göras till bordet.

Som du kan se är yrketfältet fyllt som , det här är ett tomt värde. För detta fält.

Som ett tillägg, överväga ett annat kommando:
Ladda data Lokal Infrile "D: \\ ZAPROS.txt" till bordpersoner; Vad tycker du att vi gjorde nu?! Och vi gjorde följande: Tillagd data till bordet personer. Från fil. zapros.txtsom är på disk D. Information i filen måste vara följande struktur:


Filstrukturen i filen måste överensstämma med sådana krav:
  1. Varje ny post ska beskrivas med en ny linje
  2. Uppgifterna måste anges för absolut alla fält. Som du kan märka, för ID-fältet, indikerade vi nollvärdet, eftersom vi har ett autokrem vi har, så MySQL kommer att göra det önskade värdet.
  3. Fält är separerade från varandra med fliksymbol (Tab-tangent).
  4. Den angivna informationen måste överensstämma med typerna av data för ett visst fält. Det är till exempel datumet i formatet för GGS-MM-DD, ett heltal för heltal etc.
Således lärde du dig hur du gör nya data i tabellerna i din databas. För att säkra det studerade materialet, gör dessa data oberoende:

Professions tabell:

Personbord:

förnamn. efternamn. Ålder. registrerings datum. land. yrke.
Leonid. Bilak. 45 2012-06-20 2 1
Yuri. Nazarov. 22 2012-06-21 3 1
Alla Savenko. 25 2012-06-22 2 3
Irina. Nikolaeva. 31 2012-06-22 1 3

Var noga med att lägga till dessa poster, eftersom vi måste studera SELECT-satsen (information från databasen), som vi anser i nästa (fjärde) artikeln om studier av SQL-frågor.

I de föregående avsnitten ansåg vi att arbetet med att få data med förkopplade tabeller. Nu är det dags att ta reda på hur vi kan skapa / ta bort bord, lägga till nya poster och radera gamla. För dessa ändamål i Sql Det finns sådana operatörer som: Skapa. - Skapar ett bord, Ändra. - Ändrar bordets struktur, Släppa. - Ta bort ett bord eller ett fält, Föra in. - lägger till data till bordet. Låt oss börja bekanta med den här gruppen av operatörerna från operatören Föra in..

1. Lägg till hela linjer

Som kan ses från namnet, operatören Föra in. Används för att infoga (Lägg till) rader i databastabellen. Lägga till kan göras på flera sätt:

  • - Lägg till en fullsträng
  • - Lägg till en del av linjen
  • - Lägg till frågesultat.

Så, för att lägga till en ny sträng till bordet, måste vi ange tabellnamnet, ange namnen på kolumnerna och ange värdet för varje kolumn med design SÄTT IN I TITLE_TABLE (fält1, fält2 ...) Värden. (Värde1, Value2 ...). Tänk på exemplet.

Infoga i säljare (ID, adress, stad, säljare_name, land) värden ("6", "1st Street", "Los Angeles", "Harry Monroe", "USA")

Du kan också ändra ordern att ange namnen på kolumnerna, men samtidigt måste du ändra värdesordningen i parametern Värden..

2. Lägg till del av linjer

I det föregående exemplet, när du använder operatören Föra in. Vi noterade uppenbarligen namnen på bordets kolumner. Med hjälp av denna syntax kan vi hoppa över några kolumner. Det innebär att du anger ett värde för vissa kolumner men erbjuder dem inte för andra. Till exempel:

Infoga till säljare (ID, City, Säljare_Name) Värden ("6", "Los Angeles", "Harry Monroe")

I det här exemplet indikerade vi inte värdet för två kolumner Adress och Land.. Du kan utesluta vissa kolumner från operatören. SÄTT IN IOm det tillåter oss att bestämma bordet. I det här fallet måste ett av villkoren observeras: Denna kolumn definieras som tillåten NULL (Frånvaron av något värde) eller i standardbordets standard standard. Det betyder att om ingen mening inte är angiven, kommer standardvärdet att användas. Om du hoppar över en kolumn av ett bord som inte tillåter utseendet i dina värden NULL Och det spelar ingen roll definierad för användning som standard, DBMS kommer att ge ett felmeddelande, och den här raden kommer inte att läggas till.

3. Lägga till valda data

I de tidigare exemplen satte vi in \u200b\u200bdata i tabellerna, förskrivna dem manuellt i frågan. Men operatören SÄTT IN I Gör det möjligt att automatisera den här processen om vi vill infoga data från ett annat bord. För att göra detta, i SQL finns det ett sådant mjukmedel som Infoga till ... Välj .... Med den här konstruktionen kan du samtidigt välja data från ett bord och sätt in dem till en annan. Antag att vi har ett annat bord Säljare_eu. med en lista över säljare av våra varor i Europa och vi måste lägga till dem i ett gemensamt bord Säljare. Strukturen hos dessa tabeller är densamma (samma antal kolumner och samma namn), men andra data. För att göra detta kan vi föreskriva följande begäran:

Infoga i säljare (ID, adress, stad, säljare_name, land) VäljID, adress, stad, säljare_name, land från säljare_eu

Du måste vara uppmärksam på de interna nycklarna som inte upprepas (fältet Id) Annars kommer ett fel att uppstå. Operatör VÄLJ kan också innehålla förslag Var. Att filtrera data. Det bör också noteras att DBMS inte uppmärksammar namnen på kolumnerna som finns i operatören VÄLJFör det är bara beställningen av deras plats viktigt. Därför, data i den första angivna kolumnen, som valdes på grund av VÄLJkommer i alla fall fyllda i den första kolumnen i tabellen Säljareindikerad efter operatören SÄTT IN I, oavsett fältnamn.

4. Kopiera data från ett bord till ett annat

Ofta när man arbetar med databaser finns det ett behov av att skapa kopior av några tabeller för bokning eller modifiering. För att göra en fullständig kopia av bordet i SQL tillhandahöll en separat operatör Välj. Till exempel måste vi skapa en kopia av bordet Säljare, Jag måste registrera begäran enligt följande:

Välj * till säljare_new från säljare

I motsats till föregående design Infoga till ... Välj ...När data läggs till i det befintliga tabellen kopierar designen data till det nya tabellen. Du kan också säga att den första designen importerar data, och den andra exporteras. Vid användning av konstruktion Välj ... till ... Från ... Nästa bör övervägas:

  • - Du kan använda några förslag i operatören VÄLJ, så som Grupp av. och Har
  • - För att lägga till data från flera tabeller kan du använda unionen
  • - Uppgifterna är möjliga att bara lägga till ett bord, oavsett hur många tabeller de togs.






2021. gtavrl.ru..