Névjegyzék

Transct-SQL - adatok beszúrása. SQL lekérdezés Insert - töltse ki az SQL Információs adatbázis beillesztését

Az előző szakaszokban az előre létrehozott táblázatokkal kapcsolatos adatok megszerzésével foglalkozott. Most itt az ideje, hogy ki, hogyan tudunk létrehozni / törölni asztalok, új bejegyzéseket és törli a régi. E célból Sql Vannak ilyen szereplők: Teremt. - táblázatot hoz létre, Változtat. - megváltoztatja az asztal szerkezetét, Csepp. - eltávolítja az asztalt vagy mezőt, Betét. - Adatok hozzáadása az asztalhoz. Elkezdjük megismerkedni ezzel az operátorokkal az üzemeltetőből Betét..

1. Adjon hozzá egész sorokat

Amint látható a név, az üzemeltető Betét. Az adatbázis táblázatban lévő sorok beillesztésére szolgál. A hozzáadott hozzáadása többféleképpen történhet:

  • - Adjon hozzá egy teljes karakterláncot
  • - Adja hozzá a vonal egy részét
  • - A lekérdezési eredmények hozzáadása.

Tehát, hogy egy új stringet az asztalra, meg kell határoznunk a tábla nevét, lista nevét az oszlopok és adja meg az értéket az egyes oszlopon a tervezési Beilleszt Cím_Table (Field1, Field2 ...) Értékek. (Érte1, érték2 ...). Fontolja meg a példát.

Helyezzen be eladókba (id, cím, város, eladó_neve, ország) értékek ("6", "1. utca", "Los Angeles", "Harry Monroe", "USA")

Megváltoztathatja az oszlopok nevének megadásának sorrendjét, ugyanakkor meg kell változtatnia az értékrend értékét a paraméterben Értékek..

2. Add hozzá a vonalak egy részét

Az előző példában az üzemeltető használata esetén Betét. Nyilvánvalóan megjegyeztük az asztal oszlopainak nevét. Ezzel a szintaxissal kihagyhatunk néhány oszlopot. Ez azt jelenti, hogy bizonyos oszlopok értékét adja meg, de mások számára nem kínálja őket. Például:

Helyezze be az eladókba (id, City, Seller_Name) értékeket ("6", "Los Angeles", "Harry Monroe")

Ebben a példában nem adtuk meg a két oszlop értékét Cím és Ország.. A kezelőből kizárhat néhány oszlopot. BeillesztHa lehetővé teszi számunkra, hogy meghatározzuk az asztalt. Ebben az esetben az egyik feltétel be kell tartani: ezt az oszlopot megengedettnek kell tekinteni NULLA (Bármilyen érték hiánya) vagy az alapértelmezett táblázat alapértelmezett alapértelmezett. Ez azt jelenti, hogy ha nincs értelme nincs megadva, akkor az alapértelmezett értéket használják. Ha átugorsz egy táblázat oszlopát, amely nem teszi lehetővé a megjelenését az értékek soraiban NULLA És nem számít az alapértelmezés szerint, a DBMS hibaüzenetet ad, és ez a sor nem kerül hozzáadásra.

3. Kiválasztott adatok hozzáadása

Az előző példákban adatokat helyeztünk be a táblázatokba, amelyeket manuálisan írtunk be a lekérdezésbe. Az üzemeltető azonban Beilleszt Lehetővé teszi, hogy automatizálja ezt a folyamatot, ha adatokat szeretne beilleszteni egy másik táblázatból. Ehhez az SQL-ben olyan lágyító van Helyezzen be ... Válassza ki .... Ez a kialakítás lehetővé teszi, hogy egyidejűleg válasszon adatokat egy asztalról, és helyezze be őket a másikba. Tegyük fel, hogy van egy másik asztalunk Eladók_eu. az európai áruk eladók listájával, és hozzá kell adnunk őket egy közös asztalhoz Eladók. Ezeknek a táblázatoknak a szerkezete azonos (azonos számú oszlop és ugyanazon nevek), más adatok. Ehhez a következő kérést írhatjuk fel:

Helyezzen be eladókba (ID, Cím, Város, Seller_Name, Ország) VálasszonID, Cím, Város, Seller_Name, Ország az Eladers_EU-tól

Figyelmet kell fordítanod a belső kulcsokra, amelyek nem ismétlődő (mező Idézés) Ellenkező esetben hiba lép fel. Operátor Kiválaszt tartalmazhat javaslatokat is Hol Az adatok szűrése. Azt is meg kell jegyezni, hogy a DBMS nem figyel az üzemeltetőben található oszlopok nevére KiválasztEhhez csak a helyük sorrendje fontos. Ezért az első jelzett oszlopban szereplő adatok, amelyeket a Kiválasztbármelyik esetben az asztal első oszlopába kerül Eladókaz üzemeltető után Beilleszt, Függetlenül a mező nevétől.

4. Adatok másolása egy asztalról a másikra

Gyakran az adatbázisokkal való együttműködés során szükség van a foglaláshoz vagy módosításhoz bármely táblázat másolatának létrehozására. Az SQL-ben lévő táblázat teljes példányának készítése külön üzemeltetőt biztosított Válasszon. Például meg kell hoznunk az asztal másolatát Eladók, A kérelmet a következőképpen kell regisztrálnom:

Válassza a * Sellers_New-t az eladóktól

Az előző tervvel ellentétben Helyezzen be ... Válassza ki ...Ha az adatokat hozzáadják a meglévő táblázathoz, a tervezés másolja az adatokat az új táblázatba. Azt is mondhatja, hogy az első design importálja az adatokat, és a második exportálódik. Építés használatakor Válassza ki ... a ... -tól ... Ezt követően figyelembe kell venni:

  • - bármilyen javaslatot használhat az üzemeltetőben Kiválaszt, mint például a Csoportosít. és Miután
  • - Adatok hozzáadása több táblázatból, használhatja az Uniót
  • - Az adatok csak egy asztal hozzáadása lehetséges, függetlenül attól, hogy hány táblázatot vettek fel.

Ez az utasítás egy vagy több rekordot ad a táblázathoz (végrehajt egy hozzáadása kérést).

Szintaxis

Több bejegyzés hozzáadása:

Beilleszt end_object [(mező1[, field2.[, ...]])]
Válassza a [ egy forrás.]mező1[, field2.[, ...]
Tól től. expression_table

Egy bejegyzés hozzáadása:

Beilleszt end_object [(mező1[, field2.[, ...]])]
Értékek ( mező1[, field2.[, ...])

A beillesztési nyilatkozat a következő elemekből áll:

Rész

Leírás

end_object

Az asztal vagy kérés neve, ahol a rekordokat hozzáadják.

mező1, field2.

Argumentum után end_object - mezőnevek, amelyekben az adatokat hozzáadják; Argumentum után egy forrás - A mezők nevének neve, amelyekből az adatok lekérése.

külső_base_data

A külső adatbázis útja. A leírás módját lásd a javaslatról szóló cikkben.

egy forrás

A táblázat vagy kérelem neve, ahonnan a rekordok másolódnak.

expression_table

Egy vagy több táblázatnév, amelyből rekordokat szeretne kapni. Ez az érv lehet a neve a külön táblázatban, a kapott kifejezést, felhasználásával összeállított Belső összekapcsolás, Bal be vagy jobbra be a működését, vagy egy mentett kérelmet.

jelentése1, jelentése2.

Az új rekord egyes területeihez hozzáadott értékek. Minden értéket beillesztenek a listán szereplő pozíciójának megfelelő mezőbe: jelentése1 Hozzáadott B. mező1 új rekord jelentése2. - ban ben field2. stb. Szükséges a vessző értékeinek elválasztása, és az idézőjelek ("") szövegmezőkbe kerül.

Megjegyzések

A betét használata az utasításba, hozzáadhat egy rekordot az asztalhoz a fenti szintaxis segítségével. Ebben az esetben meghatározzák az egyes felvételi mező nevét és értékeit. Meg kell adnia az értékeket és a megfelelő értékeket tartalmazó összes felvételi mezőt. Ha nem adja meg a mező értékét, akkor az alapértelmezett vagy null értéket hozzárendeli. A rekordok a táblázat végére kerülnek.

Helyezze be az utasításokat az utasításokhoz egy másik táblázatban lévő rekordok hozzáadásához, vagy kéréshez is használható a kiválasztott ... a javaslatból, a fentiek szerint (lásd a lekérdezési szintaxist több bejegyzés hozzáadása). Ebben az esetben a Válasszon javaslat beállítja a megadott mezőket end_object.

Egy forrás vagy end_object Lehet asztal vagy kérés. Ha a lekérdezés van megadva, a kernel a Microsoft Access adatbázis-kezelő rendszert egészíti rekordokat az összes asztalt, hogy visszatér.

A betét használata az utasításokba nincs szükség. Ha meg van adva, akkor meg kell előznie a kiválasztott utasításokat.

Ha a céltáblázat tartalmazza az elsődleges kulcsot, győződjön meg róla, hogy az elsődleges kulcs egy vagy több mezőjéhez hozzáadott értékek egyedülállóak és eltérőek NULLA; Ellenkező esetben a rekord nem kerül hozzáadásra.

Ha a rekordok hozzáadása az asztalhoz a „Counter” mezőt, és meg akarja változtatni a számozás, ne kapcsolja be a „számláló” mezőt a lekérdezés. Kapcsolja be a "számláló" mezőt a lekérdezésben, ha meg szeretné menteni a forrásértékeket a mezőből.

Bejegyzések hozzáadása az asztalhoz Egy másik adatbázis használhatja az ajánlatot.

Ahhoz, hogy hozzon létre egy táblázatot, akkor a Select ... Into utasítást kap egy lekérdezést tábla létrehozása.

A hozzáadni kívánt kérés hozzáadása előtt használja a kiválasztási kérelmet ugyanazokkal a kiválasztási feltételekkel, amelyek meghatározzák, hogy mely rekordok kerülnek hozzáadásra.

A hozzáadott kérelem másolja a bejegyzéseket egy vagy több táblázatból egy másik táblázatba. Ugyanakkor a hozzáadott rekordokat tartalmazó táblázatok változatlanok maradnak.

Ahelyett, hogy rekordokat adna egy másik táblázatból, az egyes mezők értékét külön új felvételben állíthatja be az értékek felhasználásával. Ha a mezők listáját elhagyják, az értékek javaslatában engedélyeznie kell az egyes táblázatok megfelelő értékeit; Ellenkező esetben a beillesztési művelet nem kerül végrehajtásra. Használja a beillesztést az utasításokhoz az egyes kiegészítő rekordok értékével együtt, amelyet létrehozni szeretne.

Utolsó frissítés: 07/13/2017

Adatok hozzáadásához a Beszúrás parancsot használják, amely a következő formális szintaxissal rendelkezik:

Név beillesztése [(lista_stolbts)] értékek (érték1, érték2, ... Valuen)

A beillesztés az expresszióba kerül először, majd zárójelben megadhatja az oszlopok listáját a vesszőn keresztül, amelyben adatot szeretne adni, és a végén a szavak értékei az oszlopok hozzáadott értékét sorolják fel.

Például, hagyja, hogy a következő adatbázist korábban hozza létre:

Adatbázis-termékek létrehozása; Go Használja a ProductsDB-t; Az asztaltermékek létrehozása (id int szándék elsődleges kulcs, terméknév Nvarchar (30) NULL, Gyártó Nvarchar (20) NULL, ProductCount Int alapértelmezett 0, ár Money NULL)

Adjon hozzá egy sort az Insert Command használatával:

Termékek értékeinek beillesztése ("iPhone 7", "alma", 5, 52000)

Az SQL Server Management Studio sikeres végrehajtása után az üzenet mezőben megjelenik az "1 sor (ok)" üzenet:

Emlékeztetni kell arra, hogy a kulcsszóértékek sorrendjében a zárójelben lévő oszlopok értékei a hirdetésük sorrendjében kerülnek továbbításra. Például a fenti létrehozási táblázat kifejeződéséhez láthatja, hogy az első oszlop az ID. De mivel a személyazonossági attribútum meg van adva, az oszlop értéke automatikusan generálódik, és nem feltüntethető. A második oszlop terméknevet képvisel, így az első érték az "iPhone 7" vonalat továbbítják erre az adott oszlopra. A második érték - az "Apple" karakterlánc átkerül a harmadik gyártóoszlopra és így tovább. Vagyis az értékek az oszlopokba kerülnek az alábbiak szerint:

    Terméknév: "iPhone 7"

    Gyártó: "alma"

Az értékek beírásakor megadhatja az azonnali oszlopokat, amelyekhez hozzáadódik az értékek:

Helyezze be a termékeket (terméknév, ár, gyártó) értékek ("iphone 6s", 41000, "alma")

Itt az érték csak három oszlopra vonatkozik. És most az értékek az oszlopok sorrendjében kerülnek továbbításra:

    Terméknév: "iphone 6s"

    Gyártó: "alma"

A meghatározatlan oszlopok esetében (ebben az esetben a termékcount) hozzáadja az alapértelmezett értéket, ha az alapértelmezett attribútum be van állítva, vagy a null érték. Ebben az esetben a meghatározatlan oszlopoknak meg kell engedniük a nullot, vagy attribútum alapértelmezett.

Egyszerre több sort is hozzáadhatunk:

Helyezzen be termékértékekbe ("iPhone 6", "alma", 3, 36000), ("Galaxy S8", "Samsung", 2, 46000), ("Galaxy S8 Plus", "Samsung", 1, 56000)

Ebben az esetben három sor kerül hozzáadásra az asztalhoz.

Emellett, ha hozzáadjuk, megadhatjuk, hogy az oszlop alapértelmezett értéke az alapértelmezett kulcsszó vagy null érték:

Helyezzen be a termékekbe (terméknév, gyártó, termékcount, ár) értékek ("MI6", "Xiaomi", alapértelmezett, 28000)

Ebben az esetben az alapértelmezett értéket használják a termelési oszlophoz (ha telepítve van, ha nem - akkor NULL).

Ha az összes oszlopnak alapértelmezett attribútuma van, amely meghatározza az alapértelmezett értéket, vagy engedélyezi a NULL értéket, akkor az összes oszlop alapértelmezett értékeit beillesztheti:

Helyezze be a termékek alapértelmezett értékeit

De ha a termékasztalt veszi, akkor a parancs hibával ér véget, mivel több mező nem rendelkezik alapértelmezett attribútummal, és nem teszi lehetővé a nullot.

Az SQL beillesztési és beillesztési utasításokat az új sorok beillesztésére használják az asztalra. Az utasítások használata kétféleképpen használható:

  1. Csak értékek: Az első módszer jelzi csak olyan adatértékeket, amelyeket be kell illeszteni oszlopok nélkül.

Szintaxis:

Helyezze be az értékeket_table_name (érték1, érték2, érték3, ...); Név_Table: Táblázat neve. érték1, érték2, ..: az első oszlop értékei, a második oszlop, ... az új bejegyzéshez

  1. Oszlopnevek és értékek: A második módszerrel az oszlopok és a beillesztési sorok neve jelzi:

Szintaxis:

Helyezze be a NAME_TABLE (oszlop, 1. oszlop, oszlop, oszlop3, ..) értékek (érték1, érték2, érték3, ...); Név_Table: Táblázat neve. 1. oszlop: Az első oszlop neve, a második oszlop ... Value1, értéke2, értéke2, ..: az első oszlop értékei, a második oszlop, ... az új bejegyzéshez

Kérések:

1. módszer ( helyezzen be csak értékeket):

Tegyük be a hallgatói értékekbe ("5", "Harsh", "Nyugat-Bengál", "8759770477", "19");

Eredmény:

A beillesztés kiválasztása után a SELECT TABLE A hallgató most így néz ki:

Roll_no. Név. Cím Telefon Kor.
1 Ram Delhi. 9455123451 18
2 Ramesh. Gurgaon. 9562431543 18
3 Sujit. Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujit. Rohtak 9156253131 20
2 Ramesh. Gurgaon. 9562431543 18
5 Durva. Nyugat-Bengál 8759770477 19

2. módszer ( Értékek beszúrása csak a megadott oszlopokban):

Helyezzen be a hallgatóba (roll_no, név, életkor) értékek ("5", "Pratik", "19");

Eredmény:

A diákasztal most így néz ki:

Roll_no. Név. Cím Telefon Kor.
1 Ram Delhi. 9455123451 18
2 Ramesh. Gurgaon. 9562431543 18
3 Sujit. Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujit. Rohtak 9156253131 20
2 Ramesh. Gurgaon. 9562431543 18
5 Pratik. nULLA nULLA 19

Ne feledje, hogy az oszlopok esetében az értékek nincs megadva, a NULL be van állítva.

A SELECT IN INSERT utasításokba

Használhatja a MySQL Insert Select utasítást másolni a sorok egy táblázatot, és helyezze őket egy másik.

Ez az operátor hasonló a betét használatához. A különbség az, hogy a SELECT utasítás egy másik táblázatból származó mintavételi adatokra vonatkozik. Az alábbiakban különböző módon használhatja a beillesztést a kiválasztáshoz:

  • Helyezze be az összes táblázati oszlopot: Az összes táblázatot másolhatja, és beillesztheti őket egy másik asztalra.

Szintaxis:

Helyezze be az FIRST_TABLITSA lehetőséget a * second_tablik közül; Az első_tablik: az első táblázat neve. Second_Table: A második táblázat neve.

A SELECT utasítást az adatok másolására használtuk, és beillesztjük az utasításokat a másikba való beillesztéséhez.

  • A kiválasztott táblázat oszlopok behelyezése. Csak a táblázat oszlopait másolhatja egy másik táblázatba behelyezni.

Szintaxis:

Helyezzen be első_tablik (NAMES_STOLBTSY1) Válassza ki a NAME_STOLBAM2-t a second_tablik; Az első_tablik: az első táblázat neve. Second_Table: A második táblázat neve. NAMES_STOLBTSY1: A vesszővel elválasztott oszlopnevek (,) az 1. táblázatban elválasztott oszlopnevek. NAMES_STOLBAMI2: A vesszővel elválasztott oszlopok (,) által elválasztott oszlopok neve (,).

Mi használjuk a SELECT adatokat másolni csak a kiválasztott oszlopokat a második asztal és a MySQL-be \u200b\u200bhelyezve Select utasítást be őket az első táblázat.

  • Másoljon bizonyos sorokat az asztalról. Bizonyos vonalakat másolhat az asztalról a későbbi táblázatba való beillesztéshez, ahol a kiválasztott utasítással rendelkező állapotot használja. Ebben az esetben a megfelelő állapotot kell használnia, ahol.

Szintaxis:

2. táblázat: Lateralstudent

Roll_no. Név. Cím Telefon Kor.
7 Souvik. Dumdum lövedék 9876543210 18
8 Niraj. Noida. 9786543210 19
9 Somesh. Rohtak 9687543210 20

Kérések:

1. módszer ( helyezze be az összes sorot és oszlopot):

Helyezze be a hallgatót Válassza ki a * lateralstudent-tól;

Eredmény:

Ez a lekérdezés beilleszti az oldalsó táblázat összes adatait a hallgatói táblában. Az SQL beillesztés kiválasztása után a hallgatói táblázat így fog kinézni:

Roll_no. Név. Cím Telefon Kor.
1 Ram Delhi. 9455123451 18
2 Ramesh. Gurgaon. 9562431543 18
3 Sujit. Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujit. Rohtak 9156253131 20
2 Ramesh. Gurgaon. 9562431543 18
7 Souvik. Dumdum lövedék 9876543210 18
8 Niraj. Noida. 9786543210 19
9 Somesh. Rohtak 9687543210 20

2. módszer ( egyéni oszlopok behelyezése):

Helyezzen be a hallgatóba (roll_no, név, életkor) Válassza a Roll_no, a név, az életkor lateralstudent;

Eredmény:

Ez a lekérdezés beilleszti az adatokat a Roll_no oszlopokból, a név és az életkori táblázat lateralstudent a hallgatói táblában. A fennmaradó oszlopok esetében a hallgatói táblázat nullra kerül. Az SQL Insert Select alkalmazása után a táblázat így fog kinézni:

Roll_no. Név. Cím Telefon Kor.
1 Ram Delhi. 9455123451 18
2 Ramesh. Gurgaon. 9562431543 18
3 Sujit. Rohtak 9156253131 20
4 Suresh. Delhi. 9156768971 18
3 Sujit. Rohtak 9156253131 20
2 Ramesh. Gurgaon. 9562431543 18
7 Souvik. NULLA nULLA 18
8 Niraj. NULLA nULLA 19
9 Somesh. NULLA nULLA 20
  • Válasszon bizonyos sorokat a betéthez:

Eredmény:

Ez a lekérdezés csak az első karakterláncot választja ki az oldalsó táblázatból, hogy beillessze a hallgatói táblára. A Beszúrás kiválasztása után a táblázat a következőképpen fog megjelenni.

Az SQL segítségével információt másolhat az asztalról a másikra.

Helyezze be a kiválasztást, az alkalmazás másolja az adatokat egy asztalról, és beilleszti a meglévő táblázatba.

SQL Insert Select utasítás,

Helyezze be a Kiválasztáshoz, az operátor egy táblázatból származó adatokat választja ki, és egy meglévő táblázatba helyezi. A céltábla bármely meglévő vonal nem változik.

SQL Insert Select, Synaction

Minden oszlopot másolhatunk az asztalról a másikra, a meglévő táblázatra:

Beilleszt 2. táblázat.
VÁLASSZON. asztal 1;

Vagy csak azokat az oszlopokat másolhatjuk, amelyeket egy másik, meglévő táblázat:

Beilleszt 2. táblázat.
(oszlopnév (ek))
Kiválaszt oszlopnév (ek)
Tól től. asztal 1;

Az adatbázis demo verziója

Ebben a leckében a jól ismert boreai adatbázist fogjuk használni.

Az alábbiakban az "ügyfelek" táblázatok kiválasztása:

Egyéni azonosító Ügyfél neve A kapcsolattartó személy Cím város Irányítószám Ország
1 Alfreds Futterkiste. Maria Anders. Obere str. 57. Berlin. 12209 Németország
2 Ana trujillo emparedados y helados Ana Trujillo. AVDA. De la Constitucional 2222 Mexikó D.F. 05021 Mexikó.
3 Antonio Moreno Taqueria Antonio Moreno. Mataderos 2312. Mexikó D.F. 05023 Mexikó.

És a "Szállítók" táblázatok közül választhat:

SQL Insert Select, példák

Csak néhány oszlopot másol a "Szállítók" -tól az "ügyfelek" -be:

Csak német beszállítók másolása az "ügyfelek" -ben.



Tetszett a cikket? Oszd meg