ecosmak.ru

Ինչ է ներդիրը sql-ում: SQL INSERT INTO SELECT հայտարարություն

Օգտագործելով SQL, դուք կարող եք պատճենել տեղեկատվությունը մի աղյուսակից մյուսը:

INSERT INTO SELECT հայտարարությունը պատճենում է տվյալները մեկ աղյուսակից և տեղադրում գոյություն ունեցող աղյուսակում:

SQL INSERT INTO SELECT հայտարարություն,

INSERT INTO SELECT հայտարարությունը ընտրում է տվյալներ մեկ աղյուսակից և տեղադրում գոյություն ունեցող աղյուսակում: Թիրախային աղյուսակում գոյություն ունեցող տողերը չեն փոխվել:

SQL INSERT INTO SELECT, Syntax

Մենք կարող ենք պատճենել բոլոր սյունակները մի աղյուսակից մյուսը, գոյություն ունեցող աղյուսակ.

ՄՏՐԵԼ ՄԵՋ աղյուսակ 2
SELECT * FROM աղյուսակ 1;

Կամ մենք կարող ենք պատճենել միայն մեր ուզած սյունակները մեկ այլ գոյություն ունեցող աղյուսակում.

ՄՏՐԵԼ ՄԵՋ աղյուսակ 2
(սյունակի_անուն(ներ))
ԸՆՏՐԵԼ սյունակի_անուն(ներ)
ԻՑ աղյուսակ 1;

Տվյալների բազայի ցուցադրական տարբերակը

Այս ձեռնարկում մենք կօգտագործենք հայտնի Northwind տվյալների բազան:

Ստորև բերված է «Հաճախորդներ» աղյուսակի ընտրանին.

օգտագործողի այ - ԴիՀաճախորդի անունըԿոնտակտային անձըՀասցեքաղաքԻնդեքսՄի երկիր
1 Ալֆրեդ Ֆուտերկիստե Մարիա Անդերս Օբերե փող. 57 Բեռլին 12209 Գերմանիա
2 Ana Trujillo Emparedados y helados Անա Տրուխիլյո Ավդա. de la Constitucion 2222 Մեքսիկա Դ.Ֆ. 05021 Մեքսիկա
3 Անտոնիո Մորենո Տակերիա Անտոնիո Մորենո Մատադերոս 2312 Մեքսիկա Դ.Ֆ. 05023 Մեքսիկա

Իսկ ընտրությունը «Մատակարարներ» աղյուսակից.

SQL INSERT INTO SELECT, Օրինակներ

«Մատակարարներից» ընդամենը մի քանի սյունակ պատճենելը «Հաճախորդների» մեջ.

«Հաճախորդներին» պատճենելով միայն գերմանական մատակարարները։

Թիմ աղյուսակում տողեր է ավելացնումկամ հիմնական սեղանի տեսքը:

Sql INSERT Command Syntax

Տեղադրեք հրամանի շարահյուսություն


INSERT հրամանի հիմնական հիմնաբառեր և պարամետրեր
  • սխեման- թույլտվության նույնացուցիչ, որը սովորաբար համընկնում է որոշ օգտվողի անվան հետ
  • սեղանի տեսք- աղյուսակի անվանումը, որի մեջ պետք է տեղադրվեն տողերը. եթե դիտված է, տողերը տեղադրվում են դիտման հիմնական աղյուսակում
  • ենթհարցում_1- ենթահարկ, որը սերվերը մշակում է այնպես, ինչպես դիտումը
  • սյունակ- աղյուսակ կամ դիտման սյունակ, որտեղ մուտքագրվում է բառակապակցության արժեքը յուրաքանչյուր տեղադրված տողի համար ԱՐԺԵՔՆԵՐկամ ենթահարկ; եթե աղյուսակի սյունակներից մեկը բաց է թողնված այս ցանկից, ապա տեղադրված տողի սյունակի արժեքը աղյուսակի ստեղծման ժամանակ սահմանված լռելյայն սյունակի արժեքն է: Եթե ​​սյունակների ցանկն ամբողջությամբ բաց է թողնվել, ապա դրույթը ԱՐԺԵՔՆԵՐկամ հարցումը պետք է որոշի աղյուսակի բոլոր սյունակների արժեքները
  • ԱՐԺԵՔՆԵՐ- սահմանում է արժեքների շարան, որը կտեղադրվի աղյուսակի կամ տեսքի մեջ. իմաստը պետք է սահմանվի նախադասության մեջ ԱՐԺԵՔՆԵՐսյունակների ցանկի յուրաքանչյուր սյունակի համար
  • ենթահարկ_2- ենթահարկ, որը վերադարձնում է աղյուսակում տեղադրված տողերը. այս ենթհարցման ընտրացանկը պետք է ունենա նույն թվով սյունակներ, որքան հայտարարության սյունակների ցանկը

Հայտարարություն արտահայտությամբ ԱՐԺԵՔՆԵՐաղյուսակին ավելացնում է մեկ տող: Այս տողը պարունակում է արտահայտությամբ սահմանված արժեքները ԱՐԺԵՔՆԵՐ.
Հայտարարություն հետ ենթահարկարտահայտության փոխարեն ԱՐԺԵՔՆԵՐաղյուսակում ավելացնում է ենթահարցման կողմից վերադարձված բոլոր տողերը: Սերվերը մշակում է ենթահարկև յուրաքանչյուր վերադարձված տող տեղադրում է աղյուսակի մեջ: Եթե ​​ենթահարկը ոչ մի տող չի ընտրում, ապա սերվերը ոչ մի տող չի տեղադրում աղյուսակի մեջ:
Ենթահարկկարող է մուտք գործել ցանկացած աղյուսակ կամ դիտում, ներառյալ թիրախային պնդումների աղյուսակը . Սերվերը արժեքներ է հատկացնում նոր տողերի դաշտերին՝ ելնելով աղյուսակի սյունակների ներքին դիրքից և արտահայտության արժեքների հերթականությունից: ԱՐԺԵՔՆԵՐկամ հարցումների ընտրության ցանկում: Եթե ​​սյունակների ցանկից որևէ սյուն բացակայում է, ապա սերվերը նրանց վերագրում է աղյուսակի ստեղծման ժամանակ սահմանված լռելյայն արժեքները: Եթե ​​այս սյունակներից որևէ մեկն ունի NOT NULL սահմանափակում, ապա սերվերը վերադարձնում է սխալ, որը ցույց է տալիս, որ սահմանափակումը խախտվել է և ընդհատում է INSERT հայտարարությունը:
Երբ թողարկվում է INSERT հայտարարություն, սեղանի վրա սահմանված INSERT ցանկացած ձգան միացված է:

ՆԵՐԴՐԵԼ Օրինակ 1-ին

ՄՏՐԵԼ ՄԵՋբաժին ԱՐԺԵՔՆԵՐ(50, «ՊՐՈԴՈՒԿՏՍ», «ՍԱՆ ՖՐԱՆՑԻՍԿՈ»);

ՄՏՐԵԼ ՄԵՋՀաճախորդներ (քաղաք, ազգանուն, ազգանուն) ԱՐԺԵՔՆԵՐ(«Լոնդոն», «Հոֆման», 2001 թ.);

ՆԵՐԴՐԵԼ Օրինակ 2-ի մեջ
Հետևյալ հրամանը բոնուսային աղյուսակում պատճենում է ընկերության աշխատակիցների տվյալները, որոնց միջնորդավճարները գերազանցում են եկամտի 25%-ը.

ՄՏՐԵԼ ՄԵՋբոնուս SELECT ename, job, sal, comm FROM emp WHERE comm > 0.25 * sal;

ՆԵՐԴՐԵԼ Օրինակ 3-ի մեջ
Եթե ​​Ձեզ անհրաժեշտ է տեղադրել ԴԱՏԱՐԿ-արժեք, դուք պետք է նշեք այն որպես նորմալ արժեք հետևյալ կերպ.

ՄՏՐԵԼ ՄԵՋՎաճառողների VALUES (1001,'Peel',NULL,12);

ՆԵՐԴՐԵԼ Օրինակ 4-ի մեջ
Հրամանը կարող է օգտագործվել մի աղյուսակից արժեքներ առբերելու և դրանք մեկ այլ աղյուսակում տեղադրելու համար՝ օգտագործելով հարցում: Դա անելու համար բավական է փոխարինել նախադասությունը ԱՐԺԵՔՆԵՐհամապատասխան խնդրանքով.

ՄՏՐԵԼ ՄԵՋ Londonstaff SELECT * FROM Salespeople WHERE city = 'London';

MySQL INSERT

MySQL տվյալների բազայում նոր տողեր տեղադրելու համար օգտագործեք INSERT հրամանը, հրամանների օրինակներ տրված են ստորև.
ՆԵՐԴՐԵԼ Օրինակ 1-ի մեջ:
Նոր տող զետեղելով աղյուսակի table_name-ում:

ՄՏՐԵԼ ՄԵՋ

ՆԵՐԴՐԵԼ Օրինակ 2-ի մեջ:
Աղյուսակի table_name-ի մեջ նոր տող զետեղելը, որը ցույց է տալիս տվյալների ներդրումը մեզ անհրաժեշտ սյունակներում:

ՄՏՐԵԼ ՄԵՋ table_name VALUES ('1','165','0','name');

Տվյալների բազայում MySQLՀնարավոր է մի քանի նոր տող տեղադրել մեկ հրամանի միջոցով:
ՆԵՐԴՐԵԼ Օրինակ 3-ի մեջ:
Աղյուսակի table_name-ում մի քանի տողերի տեղադրում:

ՄՏՐԵԼ ՄԵՋսեղանի_անուն (tbl_id, chislo, chislotwo, անուն) VALUES ('1','159','34','name1'), ('2','14','61','name2'), ('3 ','356','8','name3');

Վերջին թարմացումը՝ 13.07.2017թ

Տվյալներ ավելացնելու համար օգտագործեք INSERT հրամանը, որն ունի հետևյալ պաշտոնական շարահյուսությունը.

INSERT table_name [(column_list)] VALUES (արժեք 1, արժեք 2, ... արժեք N)

Սկզբում գալիս է INSERT INTO արտահայտությունը, այնուհետև փակագծերում կարող եք նշել սյունակների ստորակետերով բաժանված ցանկը, որոնց պետք է ավելացվեն տվյալները, իսկ վերջում, VALUES բառից հետո, սյունակների համար ավելացվող արժեքները նշված են. փակագծերը.

Օրինակ, ենթադրենք, որ նախկինում ստեղծվել է հետևյալ տվյալների բազան.

ՍՏԵՂԾԵԼ ՏՎՅԱԼՆԵՐԻ ԲԱԶԱՆ productsdb; GO USE productsdb; CREATE TABLE Products (Id INT IDENTITY PRIMARY BEY, Productname NVARCHAR(30) NOT NULL, Արտադրող NVARCHAR(20) NOT NULL, Product Count INT DEFAULT 0, Price MONEY NOT NULL)

Եկեք դրան մեկ տող ավելացնենք՝ օգտագործելով INSERT հրամանը.

INSERT Products VALUES («iPhone 7», «Apple», 5, 52000)

SQL Server Management Studio-ում հաջող գործարկումից հետո հաղորդագրության դաշտում պետք է հայտնվի «1 տող(եր) ազդեցություն» հաղորդագրությունը.

Արժե հաշվի առնել, որ VALUES հիմնաբառից հետո փակագծերում գտնվող սյունակների արժեքները փոխանցվում են այն հերթականությամբ, որով դրանք հայտարարվում են: Օրինակ, CREATE TABLE վերը նշված հայտարարության մեջ դուք կարող եք տեսնել, որ առաջին սյունակը Id է: Բայց քանի որ դրա համար նշված է IDENTITY հատկանիշը, այս սյունակի արժեքը ավտոմատ կերպով ստեղծվում է և կարող է բաց թողնել: Երկրորդ սյունակը ներկայացնում է ProductName-ը, ուստի առաջին արժեքը՝ «iPhone 7» տողը կփոխանցվի այդ սյունակին: Երկրորդ արժեքը՝ «Apple» տողը կփոխանցվի երրորդ սյունակ Արտադրողին և այլն: Այսինքն՝ արժեքները սյունակներին փոխանցվում են հետևյալ կերպ.

    Ապրանքի անվանումը՝ «iPhone 7»

    Արտադրող՝ «Apple»

Նաև արժեքներ մուտքագրելիս կարող եք նշել անմիջապես սյունակները, որոնց վրա կավելացվեն արժեքները.

INSERT INTO Products (ProductName, Price, Manufacturer) ԱՐԺԵՔՆԵՐԸ («iPhone 6S», 41000, «Apple»)

Այստեղ արժեքը նշված է միայն երեք սյունակների համար: Ավելին, այժմ արժեքները փոխանցվում են սյունակների հերթականությամբ.

    Ապրանքի անվանումը՝ «iPhone 6S»

    Արտադրող՝ «Apple»

Չճշտված սյունակների համար (այս դեպքում՝ ProductCount), կավելացվի լռելյայն արժեք, եթե նշված է DEFAULT հատկանիշը կամ NULL արժեք: Այնուամենայնիվ, չճշտված սյունակները պետք է զրոյական լինեն կամ ունենան DEFAULT հատկանիշ:

Կարող ենք նաև միանգամից մի քանի տող ավելացնել.

ՆԵՐՄՈՒԾԵՔ ապրանքների արժեքների մեջ («iPhone 6», «Apple», 3, 36000), («Galaxy S8», «Samsung», 2, 46000), («Galaxy S8 Plus», «Samsung», 1, 56000)

Այս դեպքում աղյուսակում կավելացվի երեք տող:

Բացի այդ, ավելացնելիս մենք կարող ենք նշել, որ սյունակը պետք է ունենա լռելյայն արժեք՝ օգտագործելով DEFAULT հիմնաբառը կամ NULL արժեք.

INSERT INTO Products (ProductName, Manufacturer, Product Count, Price) ԱՐԺԵՔՆԵՐ («Mi6», «Xiaomi», DEFAULT, 28000)

Այս դեպքում կօգտագործվի ProductCount սյունակի լռելյայն արժեքը (եթե սահմանված է, եթե ոչ, ապա NULL):

Եթե ​​բոլոր սյունակներն ունեն DEFAULT հատկանիշ, որը սահմանում է լռելյայն արժեք կամ զրոյական են, կարող եք լռելյայն արժեքներ տեղադրել բոլոր սյունակների համար.

ՄՏՐԵՔ Ապրանքների մեջ լռելյայն արժեքները

Բայց եթե վերցնենք Products աղյուսակը, ապա նման հրամանը սխալմամբ կձախողվի, քանի որ մի քանի դաշտեր չունեն DEFAULT հատկանիշը և միևնույն ժամանակ թույլ չեն տալիս NULL արժեքը:

Բարեւ բոլորին! Այս հոդվածը կքննարկի, թե ինչպես կարող եք ավելացնել տվյալներ աղյուսակում Microsoft SQL Server-ում, եթե արդեն գոնե մի փոքր ծանոթ եք T-SQL լեզվին, ապա հավանաբար հասկացաք, որ այժմ մենք կխոսենք INSERT հայտարարության մասին, ինչպես նաև այն մասին, թե ինչպես կարելի է այն օգտագործել աղյուսակում տվյալներ ավելացնելու համար:

Սկսենք, ինչպես միշտ, մի փոքր տեսությունից։

INSERT հայտարարությունը T-SQL-ում

ՆԵՐԴՐԵԼ T-SQL հրահանգ է, որը նախատեսված է աղյուսակում տվյալներ ավելացնելու համար, այսինքն. ստեղծելով նոր ռեկորդներ. Այս հրահանգը կարող է օգտագործվել ինչպես աղյուսակում մեկ տող ավելացնելու, այնպես էլ զանգվածային տվյալների տեղադրման համար: INSERT հայտարարությունը պահանջում է տվյալներ զետեղելու թույլտվություն ( ՆԵՐԴՐԵԼ) դեպի նպատակային աղյուսակ:

Կան մի քանի եղանակներ օգտագործելու INSERT հայտարարությունը այն տվյալների վրա, որոնք պետք է տեղադրվեն.

  • Տեղադրելու համար հատուկ արժեքների ցուցակագրում;
  • Տվյալների հավաքածուի նշումը որպես SELECT հարցում;
  • Տվյալների հավաքածուի սահմանում ընթացակարգի կանչի տեսքով, որը վերադարձնում է աղյուսակային տվյալները:

Պարզեցված շարահյուսություն

INSERT [աղյուսակ] ( սյունակների ցանկ...) ԱՐԺԵՔՆԵՐ ( արժեքների ցանկ...) Կամ SELECT նմուշի հարցումԿամ ԿԱՏԱՐԵԼ ընթացակարգը

  • INSERT INTO-ն աղյուսակում տվյալներ ավելացնելու հրաման է.
  • Աղյուսակը նպատակային աղյուսակի անվանումն է, որի մեջ ցանկանում եք տեղադրել նոր գրառումներ.
  • Սյունակների ցանկը աղյուսակի սյունակների անունների ցանկն է, որի մեջ կտեղադրվեն տվյալները՝ բաժանված ստորակետերով.
  • VALUES-ը աղյուսակի արժեքի կառուցող է, որով մենք նշում ենք այն արժեքները, որոնք մենք կտեղադրենք աղյուսակում.
  • Արժեքների ցանկը այն արժեքներն են, որոնք կտեղադրվեն՝ բաժանված ստորակետերով: Դրանք թվարկված են այն հերթականությամբ, որով սյունակները հայտնվում են սյունակների ցանկում.
  • SELECT-ը հարցում է, որն ընտրում է տվյալներ՝ աղյուսակում տեղադրելու համար: Արդյունքների հավաքածուն, որը վերադարձնում է հարցումը, պետք է համապատասխանի սյունակների ցանկին.
  • EXECUTE-ը ընթացակարգային զանգ է՝ աղյուսակում տեղադրելու համար տվյալներ ստանալու համար: Արդյունքների հավաքածուն, որը վերադարձնում է պահված ընթացակարգը, պետք է համապատասխանի սյունակների ցանկին:

Մոտավորապես այսպես է թվում INSERT INTO հայտարարության պարզեցված շարահյուսությունը. շատ դեպքերում այս կերպ դուք կավելացնեք նոր գրառումներ աղյուսակներում:

Սյունակների ցանկը, որոնց մեջ դուք կտեղադրեք տվյալները, գրելու կարիք չկա, որի դեպքում դրանց հերթականությունը կորոշվի՝ ելնելով աղյուսակի սյունակների իրական հերթականությունից: Դուք պետք է հիշեք այս կարգը, երբ նշեք արժեքներ՝ տեղադրելու կամ ընտրելու համար հարցում գրելու համար: Անձամբ ես խորհուրդ եմ տալիս դեռ նշել սյունակների ցանկը, որոնցում նախատեսում եք ավելացնել տվյալներ:

Պետք է նաև հիշել, որ սյունակների ցանկը և արժեքների ցանկը, համապատասխանաբար, պետք է պարունակեն այսպես կոչված պահանջվող սյունակներ, դրանք այն սյունակներն են, որոնք չեն կարող պարունակել NULL արժեքը: Եթե ​​դրանք չնշեք, և սյունակը չունի լռելյայն արժեք, սխալ կառաջանա:

Կցանկանայի նաև նշել, որ այն արժեքների տվյալների տեսակը, որը դուք կտեղադրեք, պետք է համապատասխանի սյունակի տվյալների տեսակին, որի մեջ կտեղադրվի այս արժեքը, կամ գոնե աջակցի անուղղակի փոխակերպմանը: Բայց ես ձեզ խորհուրդ եմ տալիս վերահսկել տվյալների տեսակը ( ձևաչափը) արժեքներ, ինչպես արժեքների ցանկում, այնպես էլ SELECT հարցումում:

Բավական է տեսություն, անցնենք պրակտիկային։

Նախնական տվյալներ

Աղյուսակում տվյալներ ավելացնելու համար մեզ անհրաժեշտ է հենց աղյուսակը, ուստի եկեք ստեղծենք այն և փորձենք ավելացնել գրառումներ դրան:

Նշում! Բոլոր օրինակները կգործարկվեն Microsoft SQL Server 2016 Express-ում:

ՍՏԵՂԾԵՔ ՍԵՂԱՆԱԿԻ ԹԵՍՏԱՂՅՈՒՆ (ՆՈՒՅԹ (1,1) ՈՉ ԶԵՐՈՒՅԿ, (100) ՈՉ ԱՆՎԱՐ, ԱՆՎԱՐ)

Մեր փորձարկման աղյուսակը կպարունակի ապրանքների ցանկ՝ գներով:

Նաև օրինակներում մենք կօգտագործենք ընթացակարգ, որը վերադարձնում է աղյուսակի արժեք՝ աղյուսակում տվյալներ ավելացնելու համար, այնպես որ եկեք ստեղծենք նաև այն:

ՍՏԵՂԾԵԼ ԸՆԹԱՑՔԸ TestProcedure AS BEGIN Ընտրեք ապրանքի անվանումը, գինը փորձարկման աղյուսակի վերջից

Օրինակ, այն կվերադարձնի տվյալները նոր ստեղծված TestTable աղյուսակից:

Նշում!

Ինչպես հասկանում եք, այս նյութը կարդալը ենթադրում է որոշակի գիտելիքներ ունենալ T-SQL լեզվի մասին, այնպես որ, եթե ինչ-որ բան ձեզ համար պարզ չէ, խորհուրդ եմ տալիս ծանոթանալ հետևյալ նյութերին.

Օրինակ 1 – Աղյուսակում նոր գրառում ավելացնելը՝ օգտագործելով աղյուսակի արժեքի կառուցողը

Նախ, եկեք փորձենք ավելացնել մեկ ռեկորդ և անմիջապես նայենք արդյունքին, այսինքն. Եկեք խնդրանք գրենք նմուշի համար:

INSERT INTO TestTable(ProductName, Price) VALUES («Computer», 100) GO SELECT * FROM TestTable

Տեսնում եք, որ աղյուսակի անունից հետո մենք թվարկել ենք այն սյունակների անունները, որոնց վրա կավելացնենք տվյալներ՝ բաժանված ստորակետերով, այնուհետև նշել ենք հիմնաբառը. ԱՐԺԵՔՆԵՐև փակագծերում նույնպես, նույն հերթականությամբ, բաժանված ստորակետերով, մենք գրել ենք այն արժեքները, որոնք ցանկանում ենք տեղադրել։

INSERT հայտարարությունից հետո ես գրեցի SELECT հայտարարություն և դրանք առանձնացրի GO հայտարարությամբ:

Հիմա պատկերացնենք, որ պետք է մի քանի տող ավելացնել։ Դրա համար մենք կգրենք հետևյալ խնդրանքը.

INSERT INTO TestTable(ProductName, Price) VALUES ("Computer", 100), ("Skeyboard", 20), ("Monitor", 50) GO SELECT * FROM TestTable


Օրինակ 2 - Սեղանի վրա նոր տողերի ավելացում՝ օգտագործելով SELECT հարցումը

Շատ հաճախ անհրաժեշտություն է առաջանում աղյուսակում շատ տվյալներ ավելացնելու, օրինակ՝ ընտրված հարցման հիման վրա, այսինքն. ԸՆՏՐԵԼ. Դա անելու համար VALUES-ի փոխարեն մենք պարզապես պետք է նշենք հարցումը:

INSERT INTO TestTable(ProductName, Price) SELECT Product Name, Price FROM TestTable WHERE Id >


Այս օրինակում մենք գրել ենք SELECT հարցում, որը վերադարձնում է տվյալները TestTable աղյուսակից, բայց ոչ բոլորը, այլ միայն նրանք, որոնց ID-ն 2-ից մեծ է: Եվ արդյունքը տեղադրվեց նույն TestTable աղյուսակում:

Որպես օրինակ, թե ինչպես կարող եք գրառումներ ավելացնել աղյուսակում՝ առանց սյունակների ցանկ նշելու, եկեք գրենք տվյալների տեղադրման մեկ այլ հարցում, որը կկատարի նույն բանը, ինչ վերը նշված հարցումը, միայն այն չի նշի այն սյունակները, որոնք պետք է տեղադրվեն:

INSERT INTO TestTable SELECT Product Name, Price FROM TestTable, WHERE Id > 2 GO SELECT * FROM TestTable


Այս դեպքում մենք վստահ ենք, որ TestTable աղյուսակում առաջին սյունակը ProductName-ն է, իսկ երկրորդը՝ Price, այնպես որ կարող ենք մեզ թույլ տալ այդպես գրել։ Բայց, կրկին, գործնականում ավելի լավ է նշել սյունակների ցանկը:

Եթե ​​նկատեցիք, բոլոր օրինակներում ես չեմ նշել Id սյունակը, բայց մենք ունենք այն, սխալներ տեղի չեն ունեցել, քանի որ այս սյունակն ունի IDENTITY հատկություն, այն ավտոմատ կերպով գեներացնում է նույնացուցիչներ, ուստի նման սյունակում տվյալներ տեղադրելը պարզապես հնարավոր չէ անել:

Օրինակ 3 - Նոր գրառումների ավելացում աղյուսակում՝ օգտագործելով պահպանված ընթացակարգը

Այժմ եկեք մուտքագրենք տվյալները աղյուսակի մեջ, որ պահպանված ընթացակարգը կվերադարձնի մեզ: Այստեղ իմաստը նույնն է՝ VALUES-ի փոխարեն և հարցումի փոխարեն նշում ենք ընթացակարգի կանչ։ Բայց ինչպես հասկանում եք, ընթացակարգով վերադարձված սյունակների հերթականությունը և քանակը պետք է խստորեն համապատասխանի տեղադրվող սյունակների ցանկին ( նույնիսկ եթե սյունակների ցանկը նշված չէ).

INSERT INTO TestTable(ProductName, Price) EXEC TestProcedure GO SELECT * FROM TestTable


Հուսով եմ, որ այս նյութը օգնեց ձեզ հասկանալ հրահանգները: ՄՏՐԵԼ ՄԵՋ, և դա այն ամենն է, ինչ ես ունեմ առայժմ:

sql հարցումը INSERT INTO իմաստ ունի, երբ ստեղծվում է տվյալների բազայի աղյուսակ: Այսինքն՝ աղյուսակը գոյություն ունի, ունի անուն, ստեղծված տողեր և սյունակներ։ աղյուսակը ստեղծվում է օպերատորի կողմից. աղյուսակը փոփոխվում է օպերատորի կողմից:

sql հարցում INSERT INTO - հարցման շարահյուսություն

sql հարցումը INSERT INTO ունի հետևյալ շարահյուսությունը.

INSERT INTO table_name (փակագծերում, անհրաժեշտության դեպքում, տեղադրեք սյունակների ցանկը, որտեղ ցանկանում եք տեղադրել տվյալներ) VALUES ներդրված տվյալները1, զետեղված տվյալները2, զետեղված տվյալները3:

Դուք կարող եք տեղադրել IGNORE տարբերակ INSERT-ի և INTRO-ի միջև: Դա պարտադիր չէ։ Անհրաժեշտ է հիմնական բանալիները աղյուսակ խմբագրելիս պաշտպանելու համար: Հակառակ դեպքում, եթե խմբագրման ընթացքում առաջանում է առաջնային բանալիների կրկնօրինակում, ապա IGNORE տարբերակը տեղադրելու ժամանակ գլխավոր բանալիով առաջին տողը կմնա խմբագրվող աղյուսակում։Մյուս հիմնական բանալիները կջնջվեն։ Լռելյայնորեն, մենք բաց ենք թողնում այս տարբերակը:

Կան կամընտիր տարբերակներ LOW_PRIORITY և DELAYED: Նրանք որոշում են տվյալների բազայում տեղեկատվություն ավելացնելու առաջնահերթությունները: Առաջինը նշում է տվյալների բազայի թողարկման սպասելը, երկրորդը նշանակում է տեղեկատվության բուֆերացում:

Հարցման մեջ՝ INSERT VALUES արտահայտությամբ տողը թույլ կտա մեկ տող ավելացնել տվյալների բազայի աղյուսակում: VALUES դրույթը պարունակում է այս տվյալների արժեքները:

VALUES արտահայտության փոխարեն կարող են նշվել ենթահարկեր: INSERT-ը ենթհարցմամբ ավելացնում է ենթահարկի կողմից վերադարձված տողերը աղյուսակում: Տվյալների բազայի սերվերը մշակում է ենթահարկը և ներդնում բոլոր վերադարձված տողերը աղյուսակում: Սերվերը տողեր չի տեղադրում, քանի դեռ ենթահարկը չի ընտրել դրանք:

  • subquery_1 - ենթահարկ, որը սերվերը մշակում է այնպես, ինչպես դիտումը
  • subquery_2-ը ենթահարկ է, որը վերադարձնում է աղյուսակում տեղադրված տողերը: Այս ենթհարցման ցանկը պետք է ունենա նույն թվով սյունակներ, որքան INSERT սյունակների ցանկը:

Ենթահարցերը գործնականում չեն օգտագործվում MySQL տվյալների բազայում:

Sql հարցման INSERT INTO-ի օրինակներ MySQL տվյալների բազայում

Մենք նոր տողեր ենք տեղադրում MySQL տվյալների բազայում՝ օգտագործելով INSERT INTRO հրամանը:

Առաջին օրինակ.

Տեղադրեք նոր տողեր սեղանի անվանման մեջ:

INSERT INTO table_name VALUES ('2','145','1','name');

Սա նշանակում է, որ մենք ցանկանում ենք 2,145,1, անուն արժեքները տեղադրել աղյուսակի աղյուսակ_անուն սյունակներում: Քանի որ սյունակները նշված չեն, արժեքները լրացվում են աղյուսակի բոլոր սյունակներում:

Օրինակ երկու.

Տեղադրեք տեղեկատվությունը table_name աղյուսակի պահանջվող (նշված) սյունակներում:

INSERT INTO table_name (client_customer, client_subclient, client_mail) VALUES ('name1', 'subname1',' [էլփոստը պաշտպանված է]», («անուն 2», «ենթանուն 2»,» [էլփոստը պաշտպանված է]», («անուն 3», «ենթանուն 3», (» [էլփոստը պաշտպանված է]′);

Իգոր Սերովը հատուկ կայքի համար «».

Բեռնվում է...