uy - Internetni sozlash
T-SQL asoslari. DML

Hammaga salom! Qanday qilib buni amalga oshirishingiz mumkin, bu maqolada muhokama qilinadi jadvalga ma'lumotlarni qo'shish Microsoft SQL Serverda, agar siz T-SQL tili bilan hech bo'lmaganda bir oz tanish bo'lsangiz, endi biz INSERT iborasi, shuningdek, jadvalga ma'lumotlarni qo'shish uchun qanday foydalanish haqida gaplashamiz.

Keling, odatdagidek, bir oz nazariya bilan boshlaylik.

T-SQL da INSERT bayonoti

KIRITMOQ T-SQL ko'rsatmasi bo'lib, jadvalga ma'lumotlarni qo'shish uchun mo'ljallangan, ya'ni. yangi yozuvlarni yaratish. Ushbu ko'rsatma jadvalga bitta qator qo'shish va ma'lumotlarni ommaviy kiritish uchun ham ishlatilishi mumkin. INSERT bayonoti ma'lumotlarni kiritish uchun ruxsat talab qiladi ( KIRITMOQ) maqsadli jadvalga.

Qo'shilishi kerak bo'lgan ma'lumotlarga INSERT iborasidan foydalanishning bir necha yo'li mavjud:

  • Kiritish uchun maxsus qiymatlarni ro'yxatga olish;
  • Ma'lumotlar to'plamini SELECT so'rovi sifatida ko'rsatish;
  • Jadval ma'lumotlarini qaytaruvchi protsedura chaqiruvi ko'rinishidagi ma'lumotlar to'plamini ko'rsatish.

Soddalashtirilgan sintaksis

INSERT [jadval] ( ustunlar ro'yxati ...) QIYMATLAR ( qadriyatlar ro'yxati ...) Yoki SELECT namuna so'rovi Yoki IJRO QILING tartib

  • INSERT INTO — jadvalga maʼlumotlarni qoʻshish buyrugʻi;
  • Jadval - yangi yozuvlar kiritmoqchi bo'lgan maqsadli jadvalning nomi;
  • Ustunlar ro'yxati - vergul bilan ajratilgan jadvalning ma'lumotlar kiritiladigan ustun nomlari ro'yxati;
  • VALUES - jadval qiymati konstruktori bo'lib, uning yordamida biz jadvalga kiritadigan qiymatlarni belgilaymiz;
  • Qiymatlar ro'yxati - vergul bilan ajratilgan kiritiladigan qiymatlar. Ular ustunlar ro'yxatida ustunlar paydo bo'ladigan tartibda ro'yxatga olinadi;
  • SELECT — jadvalga kiritish uchun maʼlumotlarni tanlash soʻrovidir. Natija to'plami, so'rov qaytaradigan ustunlar ro'yxatiga mos kelishi kerak;
  • EXECUTE - jadvalga kiritish uchun ma'lumotlarni olish uchun protsedura chaqiruvi. Saqlangan protsedura qaytaradigan natija ustunlar ro'yxatiga mos kelishi kerak.

INSERT INTO iborasining soddalashtirilgan sintaksisi taxminan shunday ko'rinadi; ko'p hollarda jadvallarga yangi yozuvlar qo'shiladi.

Ma'lumotlarni kiritadigan ustunlar ro'yxatini yozish shart emas, bu holda ularning tartibi jadvaldagi ustunlarning haqiqiy tartibidan kelib chiqqan holda aniqlanadi. Tanlash uchun so'rovni kiritish yoki yozish uchun qiymatlarni belgilashda ushbu tartibni eslab qolishingiz kerak. Shaxsan men siz hali ham ma'lumotlarni qo'shishni rejalashtirgan ustunlar ro'yxatini ko'rsatishingizni tavsiya qilaman.

Shuni ham yodda tutish kerakki, ustunlar ro'yxati va qiymatlar ro'yxati mos ravishda talab qilinadigan ustunlarni o'z ichiga olishi kerak; bular NULL qiymatini o'z ichiga olmaydi. Agar siz ularni ko'rsatmasangiz va ustun standart qiymatga ega bo'lmasa, xatolik yuz beradi.

Shuni ham ta'kidlashni istardimki, siz kiritadigan qiymatlarning ma'lumotlar turi ushbu qiymat kiritiladigan ustunning ma'lumotlar turiga mos kelishi yoki hech bo'lmaganda yashirin konvertatsiya qilishni qo'llab-quvvatlashi kerak. Lekin men sizga ma'lumotlar turini nazorat qilishni maslahat beraman ( format) qiymatlar, ham qiymatlar ro'yxatida, ham SELECT so'rovida.

Nazariya yetarli, keling, amaliyotga o‘tamiz.

Dastlabki ma'lumotlar

Jadvalga ma'lumotlar qo'shish uchun bizga jadvalning o'zi kerak, shuning uchun uni yaratamiz va unga yozuvlar qo'shishga harakat qilamiz.

Eslatma! Barcha misollar Microsoft SQL Server 2016 Express da ishga tushiriladi.

JADVAL YARATISH Test jadvali (IDENTITY(1,1) NULL EMAS, (100) NULL EMAS, NULL EMAS)

Bizning sinov jadvalimiz narxlari ko'rsatilgan mahsulotlar ro'yxatini o'z ichiga oladi.

Shuningdek, misollarda jadvalga ma'lumotlarni qo'shish uchun jadval qiymatini qaytaradigan protseduradan foydalanamiz, shuning uchun uni ham yarataylik.

TARTIBIYI YARATING. TestProtsedurasini BAŞLATIRIB TANGLASH Mahsulot nomi, Test jadvali oxiridan boshlab narxi.

Masalan, u yangi yaratilgan TestTable jadvalidan ma'lumotlarni qaytaradi.

Eslatma!

Siz tushunganingizdek, ushbu materialni o'qish T-SQL tilini biroz bilishni anglatadi, shuning uchun sizga biror narsa tushunarsiz bo'lsa, men quyidagi materiallar bilan tanishib chiqishingizni tavsiya qilaman:

1-misol – Jadval qiymati konstruktori yordamida jadvalga yangi yozuv qo‘shish

Avval bitta yozuvni qo'shishga harakat qilaylik va darhol natijani ko'rib chiqaylik, ya'ni. Keling, namuna uchun so'rov yozaylik.

Sinov jadvaliga (Mahsulot nomi, narxi) QIYMATLARGA QO'SHISH ("Kompyuter", 100) Test jadvalidan * TANLANGAN O'TISH

Ko'ryapsizmi, jadval nomidan keyin biz ma'lumotlarni qo'shadigan ustunlar nomlarini vergul bilan ajratdik, keyin biz kalit so'zni ko'rsatdik. QIYMATLAR Qavslar ichida, shuningdek, bir xil tartibda, vergul bilan ajratilgan holda, biz kiritmoqchi bo'lgan qiymatlarni yozdik.

INSERT bayonotidan keyin men SELECT bayonotini yozdim va ularni GO bayonoti bilan ajratdim.

Keling, bir nechta qatorlarni qo'shishimiz kerakligini tasavvur qilaylik. Buning uchun quyidagi so'rovni yozamiz.

Sinov jadvaliga (Mahsulot nomi, narxi) QIYMATLARNI QO'YISH ("Kompyuter", 100), ("Klaviatura", 20), ("Monitor", 50) TANLASH * Test jadvalidan


2-misol - SELECT so'rovi yordamida jadvalga yangi qatorlar qo'shish

Ko'pincha jadvalga juda ko'p ma'lumotlarni qo'shish kerak bo'ladi, masalan, tanlangan so'rov asosida, ya'ni. TANLASH. Buning uchun VALUES o'rniga so'rovni ko'rsatish kifoya.

Sinov jadvaliga kiriting (mahsulot nomi, narxi) Mahsulot nomi, sinov jadvalidan narxini tanlang.


Ushbu misolda biz TestTable jadvalidan ma'lumotlarni qaytaradigan SELECT so'rovini yozdik, lekin hammasi emas, faqat ID 2 dan katta bo'lganlar. Va natija xuddi shu TestTable jadvaliga kiritildi.

Jadvalga ustunlar ro'yxatini ko'rsatmasdan qanday qilib yozuvlar qo'shish mumkinligiga misol sifatida keling, yuqoridagi so'rov bilan aynan bir xil ishni bajaradigan boshqa ma'lumotlarni kiritish so'rovini yozamiz, faqat u qo'shiladigan ustunlarni ro'yxatga kiritmaydi.

TestJadvaliga QO'SHING. Mahsulot nomini tanlang, Test jadvalidan narxi. Id > 2 O'TING.


Bu holda, Test jadvalidagi birinchi ustun mahsulot nomi, ikkinchisi esa Narx ekanligiga ishonchimiz komil, shuning uchun biz buni shunday yozishimiz mumkin. Lekin, yana, amalda ustunlar ro'yxatini ko'rsatish yaxshiroqdir.

Agar e'tibor bergan bo'lsangiz, barcha misollarda Id ustunini ko'rsatmadim, lekin bizda bor, hech qanday xatolik yuz bermadi, chunki bu ustun IDENTITY xususiyatiga ega, u avtomatik ravishda identifikatorlarni hosil qiladi, shuning uchun bunday ustunga ma'lumotlarni kiritishni oddiygina qilib bo'lmaydi.

3-misol - Saqlangan protsedura yordamida jadvalga yangi yozuvlar qo'shish

Endi saqlangan protsedura bizga qaytib keladigan ma'lumotlarni jadvalga kiritamiz. Bu erda ma'no bir xil, VALUES o'rniga va so'rov o'rniga biz protsedura chaqiruvini ko'rsatamiz. Lekin siz tushunganingizdek, protsedura tomonidan qaytarilgan ustunlar tartibi va soni kiritilishi kerak bo'lgan ustunlar ro'yxatiga to'liq mos kelishi kerak ( ustunlar ro'yxati ko'rsatilmagan bo'lsa ham).

Sinov jadvaliga (Mahsulot nomi, narxi) QO'SHING


Umid qilamanki, ushbu material sizga ko'rsatmalarni tushunishga yordam berdi. INSERT INTO, va hozircha menda bor narsa shu!

Jamoa jadvalga qatorlar qo'shadi yoki asosiy jadval ko'rinishi.

Sql INSERT buyruq sintaksisi

Buyruq sintaksisini kiritish


INSERT buyrug'ining asosiy kalit so'zlari va parametrlari
  • sxema- ruxsat identifikatori, odatda ba'zi foydalanuvchi nomiga mos keladi
  • jadval ko'rinishi- qatorlar kiritilishi kerak bo'lgan jadval nomi; agar ko'rinish belgilangan bo'lsa, satrlar ko'rinishning asosiy jadvaliga kiritiladi
  • pastki soʻrov_1- server ko'rinish bilan bir xil tarzda ishlov beradigan pastki so'rov
  • ustun- har bir kiritilgan qator uchun iboraning qiymati kiritiladigan jadval yoki ko'rinish ustuni QIYMATLAR yoki pastki so'rov; agar jadval ustunlaridan biri ushbu ro'yxatdan o'tkazib yuborilgan bo'lsa, kiritilgan qator uchun ustun qiymati jadval yaratilganda belgilangan standart ustun qiymati hisoblanadi. Agar ustunlar ro'yxati butunlay o'tkazib yuborilsa, band QIYMATLAR yoki so'rov jadvaldagi barcha ustunlar uchun qiymatlarni aniqlashi kerak
  • QIYMATLAR- jadval yoki ko'rinishga kiritiladigan qiymatlar qatorini belgilaydi; gapda ma'no aniqlanishi kerak QIYMATLAR ustunlar ro'yxatidagi har bir ustun uchun
  • pastki so'rov_2- jadvalga kiritilgan qatorlarni qaytaruvchi quyi so'rov; ushbu quyi so'rovning tanlash ro'yxati bayonot ustunlari ro'yxati bilan bir xil sonli ustunlarga ega bo'lishi kerak

Bayonot iborasi bilan QIYMATLAR jadvalga bitta qator qo'shadi. Ushbu qatorda ibora bilan belgilangan qiymatlar mavjud QIYMATLAR.
bilan bayonot pastki so'rov ibora o'rniga QIYMATLAR pastki so'rov tomonidan qaytarilgan barcha qatorlarni jadvalga qo'shadi. Server ishlov beradi pastki so'rov va har bir qaytarilgan qatorni jadvalga kiritadi. Agar quyi so'rov hech qanday qatorni tanlamasa, server jadvalga hech qanday satr kiritmaydi.
Quyi soʻrov istalgan jadval yoki koʻrinishga, shu jumladan maqsadli tasdiqlash jadvaliga kira oladi . Server jadvaldagi ustunlarning ichki joylashuvi va iboralar qiymatlari tartibi asosida yangi qatorlardagi maydonlarga qiymatlarni belgilaydi. QIYMATLAR yoki so'rovlarni tanlash ro'yxatida. Agar ustunlar ro'yxatida biron bir ustun bo'lmasa, server ularga jadval yaratilganda belgilangan standart qiymatlarni belgilaydi. Agar ushbu ustunlardan birortasi NO NULL chekloviga ega bo'lsa, server cheklov buzilganligini ko'rsatuvchi xatoni qaytaradi va INSERT iborasini bekor qiladi.
INSERT bayonoti chiqarilganda, jadvalda belgilangan har qanday INSERT triggeri yoqiladi.

INSERT INTO 1-misol

INSERT INTO bo'lim QIYMATLAR(50, "MAHSULOTLAR", "SAN-FRANSISKO");

INSERT INTO Mijozlar (shahar, cname, cnum) QIYMATLAR(“London”, “Xoffman”, 2001);

INSERT INTO 2-misol
Quyidagi buyruq komissiyalari daromadning 25% dan ortiq bo'lgan kompaniya xodimlarining ma'lumotlarini bonus jadvaliga ko'chiradi:

INSERT INTO bonus TANLASH emal, ish, sal, comm FROM emp WHERE comm > 0,25 * sal;

INSERT INTO 3-misol
Agar siz kiritishingiz kerak bo'lsa NULL-value, siz uni oddiy qiymat sifatida quyidagicha belgilashingiz kerak:

INSERT INTO Sotuvchi VALUES (1001,'Peel',NULL,12);

4-misolga kiriting
Buyruq so'rov yordamida bir jadvaldan qiymatlarni olish va ularni boshqasiga joylashtirish uchun ishlatilishi mumkin. Buning uchun jumlani almashtirish kifoya QIYMATLAR tegishli so'rovga:

INSERT INTO Londonstaff SELECT * FROM Salespeople WHERE city = 'London';

MySQL INSERT

MySQL ma'lumotlar bazasiga yangi qatorlarni kiritish uchun foydalaning INSERT buyrug'i, buyruq misollari quyida keltirilgan:
INSERT INTO 1-misol.
Jadvalga yangi qator qo'yish table_name.

INSERT INTO

INSERT INTO 2-misol.
Bizga kerak bo'lgan ustunlarga ma'lumotlar kiritilishini ko'rsatadigan jadval_nomi jadvaliga yangi qatorni kiritish.

INSERT INTO jadval_nomi VALUES('1','165','0','nom');

Ma'lumotlar bazasida MySQL Bitta buyruq yordamida bir nechta yangi qatorlarni kiritish mumkin.
INSERT INTO 3-misol.
Jadval_nomi jadvaliga bir nechta satrlar kiritish.

INSERT INTO jadval_nomi (tbl_id, chislo, chislotwo, nom) VALUES ('1','159','34','name1'), ('2','14','61','name2'), ('3' ′,'356','8','nom3');

Ushbu bayonot jadvalga bir yoki bir nechta yozuvlarni qo'shadi (qo'shish so'rovini bajaradi).

Sintaksis

Bir nechta yozuvlarni qo'shish uchun so'rov:

INSERT INTO final_object [(maydon 1[, maydon 2[, ...]])]
TANLASH [ manba.]maydon 1[, maydon 2[, ...]
FROM jadval_ifodasi

Bitta yozuv qo'shish uchun so'rov:

INSERT INTO final_object [(maydon 1[, maydon 2[, ...]])]
QIYMATLAR ( maydon 1[, maydon 2[, ...])

INSERT INTO bayonoti quyidagi elementlardan iborat:

Qism

Tavsif

final_object

Yozuvlar qo'shiladigan jadval yoki so'rovning nomi.

maydon 1, maydon 2

Bahsdan keyin final_object- ma'lumotlar qo'shiladigan maydonlarning nomlari; bahsdan keyin manba- ma'lumotlar olinadigan maydonlarning nomlari.

tashqi_ma'lumotlar bazasi

Tashqi ma'lumotlar bazasiga yo'l. Yo'lning tavsifi uchun IN bandidagi maqolaga qarang.

manba

Yozuvlar ko'chiriladigan jadval yoki so'rovning nomi.

jadval_ifodasi

Yozuvlarni olmoqchi bo'lgan bir yoki bir nechta jadval nomlari. Bu argument alohida jadval nomi, INNER JOIN, LEFT JOIN yoki RIGHT JOIN yordamida tuzilgan natija ifodasi yoki saqlangan so‘rov bo‘lishi mumkin.

qiymat 1, qiymat 2

Yangi yozuvning muayyan maydonlariga qo'shiladigan qiymatlar. Har bir qiymat ro'yxatdagi pozitsiyasiga mos keladigan maydonga kiritiladi: qiymat 1 ga qo'shildi maydon 1 yangi kirish, qiymat 2- V maydon 2 Siz qiymatlarni vergul bilan ajratishingiz va matn maydonlarini qo'shtirnoq ("") ichiga qo'yishingiz kerak.

Eslatmalar

INSERT INTO iborasi yuqoridagi sintaksisdan foydalangan holda jadvalga bitta yozuv qo'shishi mumkin. Bunday holda, siz yozuvdagi har bir maydon uchun nom va qiymatlarni belgilaysiz. Yozuvdagi qiymatlar tayinlangan barcha maydonlarni va tegishli qiymatlarni ko'rsatishingiz kerak. Agar siz maydon qiymatini belgilamasangiz, unga standart qiymat yoki NULL tayinlanadi. Yozuvlar jadvalning oxiriga qo'shiladi.

INSERT INTO operatori yuqorida ko'rsatilgandek SELECT... FROM bandidan foydalanib boshqa jadval yoki so'rovdan yozuvlar to'plamini qo'shish uchun ham ishlatilishi mumkin (Bir nechta yozuvlarni qo'shish uchun so'rovlar sintaksisiga qarang). Bunday holda, SELECT bandi ko'rsatilganlarga qo'shiladigan maydonlarni belgilaydi final_object.

Manba yoki final_object jadval yoki so'rov bo'lishi mumkin. So'rov berilganda, Microsoft Access ma'lumotlar bazasi mexanizmi o'zi qaytaradigan barcha jadvallarga yozuvlarni qo'shadi.

INSERT INTO iborasidan foydalanish ixtiyoriy. Belgilangan bo'lsa, u SELECT iborasidan oldin bo'lishi kerak.

Agar maqsadli jadvalda birlamchi kalit mavjud boʻlsa, bir yoki bir nechta asosiy kalit maydonlariga qoʻshgan qiymatlaringiz yagona va farqli ekanligiga ishonch hosil qiling. NULL; aks holda yozuvlar qo'shilmaydi.

Hisoblagich maydoni bo'lgan jadvalga yozuvlar qo'shilsa va siz ularni qayta raqamlashni xohlasangiz, so'rovga Hisoblagich maydonini qo'shmang. Agar siz maydondagi asl qiymatlarni saqlamoqchi bo'lsangiz, so'rovga Hisoblagich maydonini qo'shing.

IN bandidan foydalanib, boshqa ma'lumotlar bazasidagi jadvalga yozuvlarni qo'shishingiz mumkin.

Jadval yaratish uchun SELECT... INTO iborasidan foydalanib, jadval yaratish uchun soʻrov yuboring.

Qo'shish so'rovini ishga tushirishdan oldin, qaysi yozuvlar qo'shilishini aniqlash uchun natijalardan foydalanish uchun bir xil tanlov mezonlari bilan tanlangan so'rovdan foydalaning.

Qo'shish so'rovi yozuvlarni bir yoki bir nechta jadvaldan boshqa jadvalga ko'chiradi. Bunday holda, qo'shilgan yozuvlarni o'z ichiga olgan jadvallar o'zgarishsiz qoladi.

Boshqa jadvaldagi yozuvlarni qo'shish o'rniga, VALUES bandidan foydalanib, har bir maydonning qiymatini alohida yangi yozuvga o'rnatishingiz mumkin. Agar maydonlar ro'yxati o'tkazib yuborilsa, VALUES bandi har bir jadval maydoni uchun mos qiymatlarni o'z ichiga olishi kerak; aks holda INSERT operatsiyasi bajarilmaydi. Yaratmoqchi bo'lgan har bir qo'shimcha yozuv uchun INSERT INTO iborasidan va VALUES bandidan foydalaning.

INSERT INTO nima?

Ma'lumotlar bazasi tizimlarining asosiy maqsadi ma'lumotlarni jadvallarda saqlashdir. Ma'lumotlar odatda ma'lumotlar bazasi ustida ishlaydigan amaliy dasturlar tomonidan taqdim etiladi. Shu maqsadda SQLda ma'lumotlarni jadvalga saqlash uchun foydalaniladigan INSERT buyrug'i mavjud. The INSERT buyrug'i yangi qator yaratadi ma'lumotlarni saqlash uchun jadvalda.

Asosiy sintaksis

Quyida ko'rsatilgan SQL INSERT buyrug'ining asosiy sintaksisini ko'rib chiqamiz.

INSERT INTO `jadval_nomi`(ustun_1,ustun_2,...) VALUES (qiymat_1,qiymat_2,...);

  • "jadval_nomi"ga QO'SHING MySQL serveriga `table_name` nomli jadvalga yangi qator qo'shishni bildiruvchi buyruqdir.
  • (ustun_1,ustun_2,...) yangi qatorda yangilanadigan ustunlarni belgilaydi
  • VALUES (qiymat_1,qiymat_2,...) yangi qatorga qo'shiladigan qiymatlarni belgilaydi

Yangi jadvalga kiritilishi kerak bo'lgan ma'lumotlar qiymatlarini taqdim etishda turli xil ma'lumotlar turlari bilan ishlashda quyidagilarga e'tibor berish kerak.

  • String ma'lumotlar turlari- barcha satr qiymatlari bitta tirnoq ichiga olinishi kerak.
  • Raqamli ma'lumotlar turlari- barcha raqamli qiymatlar to'g'ridan-to'g'ri ularni bitta yoki ikkita tirnoq ichiga kiritmasdan berilishi kerak.
  • Sana ma'lumotlari turlari- sana qiymatlarini "YYYY-AA-DD" formatida bitta tirnoq ichiga kiriting.

Misol:

Aytaylik, bizda ma'lumotlar bazasiga qo'shilishi kerak bo'lgan yangi kutubxona a'zolarining quyidagi ro'yxati mavjud.

To'liq ismlar Tug'ilgan kuni jins Jismoniy manzil Pochta manzili Aloqa raqami E-pochta manzili
Leonard Xofshtadter Erkak Yog'ochli to'siq 0845738767
Sheldon Kuper Erkak Yog'ochli to'siq 0976736763
Rajesh Koothrappali Erkak Fairview 0938867763
Lesli Uinkl 14/02/1984 Erkak 0987636553
Govard Volovits 24/08/1981 Erkak Janubiy Park P.O. 4563 quti 0987786553

Maʼlumotlarni birma-bir INSERT qilaylik. Biz Leonard Xofstadterdan boshlaymiz. Biz aloqa raqamini raqamli maʼlumotlar turi sifatida koʻrib chiqamiz va raqamni bitta qoʻshtirnoq ichiga qoʻymaymiz.

INSERT INTO `a'zolar` (`to'liq_ismlar`,`jins`,`jismoniy_manzil`,`aloqa_raqami`) VALUES ("Leonard Hofstadter","Erkak","Woodcrest",0845738767);

Yuqoridagi skript bajarilsa, Leonardning aloqa raqamidan 0 tushiriladi. Buning sababi, qiymat raqamli qiymat sifatida qabul qilinadi va boshida nol (0) tushiriladi, chunki u muhim emas.

Bunday muammolarni oldini olish uchun qiymat quyida ko'rsatilganidek, bitta tirnoq ichiga olinishi kerak -

INSERT INTO `a'zolar` (`to'liq_ismlar`,`jins`,`jismoniy_manzil`,`aloqa_raqami`) VALUES ("Sheldon Kuper","Erkak","Woodcrest", "0976736763");

Yuqoridagi holatda nol (0) tushirilmaydi

To'g'ri qiymatlar to'g'ri ustunlarga moslangan bo'lsa, ustunlar tartibini o'zgartirish INSERT so'roviga ta'sir qilmaydi.

Quyida ko'rsatilgan so'rov yuqoridagi fikrni ko'rsatadi.

INSERT INTO `a'zolar` (`kontakt_raqami`,`jins`,`to`liq_ismlar`,`jismoniy_manzil`)VALUES ("0938867763","Erkak","Rajesh Koothrappali","Woodcrest");

Yuqoridagi so'rovlar tug'ilgan sana ustunini o'tkazib yubordi, sukut bo'yicha MySQL INSERT so'rovida o'tkazib yuborilgan ustunlarga NULL qiymatlarni kiritadi.

Keling, tug'ilgan sanasi ko'rsatilgan Lesli uchun rekordni joylashtiramiz. Sana qiymati "YYYY-AA-KK" formatidan foydalangan holda bitta tirnoq ichiga olinishi kerak.

INSERT INTO `a'zolar` (`to'liq_ismlar`,`tug'ilgan_sana`,`jins`,`jismoniy_manzil`,`kontakt_raqami`) VALUES ("Leslie Winkle","1984-02-14","Erkak","Woodcrest"," 0987636553");

Yuqoridagi barcha so'rovlar ustunlarni ko'rsatdi va ularni qo'shish bayonotidagi qiymatlar bilan taqqosladi. Agar biz jadvaldagi HAMMA ustunlar uchun qiymatlarni taqdim etsak, unda biz qo'shish so'rovidan ustunlarni o'tkazib yuborishimiz mumkin.

INSERT INTO `members` VAVAES (9,"Howard Wolowitz","Male","1981-08-24","SouthPark","P.O. Box 4563", "0987786553", "lwolowitzemail.me");

Endi a'zolar jadvalidagi barcha qatorlarni ko'rish uchun SELECT iborasidan foydalanamiz. SELECT * FROM `members`;

a'zolik_raqamito'liq_ismlarjinstug'ilgan kunijismoniy_manzilpochta_manzilialoqa_raqamielektron pochta
1 Janet JonsAyol21-07-1980 Birinchi ko'cha, 4-sonli uchastkaShaxsiy sumka0759 253 542 Ushbu elektron pochta manzili spam-botlardan himoyalangan. Uni ko'rish uchun JavaScript yoqilgan bo'lishi kerak.
2 Janet Smit JonsAyol23-06-1980 Melrose 123NULLNULLUshbu elektron pochta manzili spam-botlardan himoyalangan. Uni ko'rish uchun JavaScript yoqilgan bo'lishi kerak.
3 Robert FilErkak12-07-1989 3-ko'cha, 34NULL12345 Ushbu elektron pochta manzili spam-botlardan himoyalangan. Uni ko'rish uchun JavaScript yoqilgan bo'lishi kerak.
4 Gloriya UilyamsAyol14-02-1984 2-ko'cha, 23NULLNULLNULL
5 Leonard XofshtadterErkakNULLYog'ochli to'siqNULL845738767 NULL
6 Sheldon KuperErkakNULLYog'ochli to'siqNULL976736763 NULL
7 Rajesh KoothrappaliErkakNULLYog'ochli to'siqNULL938867763 NULL
8 Lesli UinklErkak14-02-1984 Yog'ochli to'siqNULL987636553 NULL
9 Govard VolovitsErkak24-08-1981 Janubiy ParkP.O. 4563 quti987786553 Ushbu elektron pochta manzili spam-botlardan himoyalangan. Uni ko'rish uchun JavaScript yoqilgan bo'lishi kerak.

E'tibor bering, Leonard Xofstadterning aloqa raqami kontakt raqamidan nolni (0) tushirdi. Boshqa aloqa raqamlari boshida nolni (0) tushirmagan.

Boshqa jadvaldan jadvalga kiritish

INSERT buyrug'i boshqa jadvaldagi jadvalga ma'lumotlarni kiritish uchun ham ishlatilishi mumkin. Asosiy sintaksis quyida ko'rsatilgandek.

INSERT INTO jadval_1 TANLASH * FROM jadval_2;

Keling, amaliy misolni ko'rib chiqaylik, biz namoyish qilish uchun film toifalari uchun qo'g'irchoq jadval yaratamiz. Biz yangi toifalar jadvalini kategoriyalar_arxiv deb nomlaymiz. Quyida ko'rsatilgan skript jadvalni yaratadi.

JADVAL YARATING `toifalar_arxivi` (`category_id` int(11) AUTO_INCREMENT, `category_name` varchar(150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`kategoriya)

Jadvalni yaratish uchun yuqoridagi skriptni bajaring.

Keling, toifalar jadvalidagi barcha qatorlarni toifalar arxivi jadvaliga kiritamiz.Quyida ko'rsatilgan skript bizga bunga erishishga yordam beradi.

`Kategoriyalar_arxiv` INTO INSERT * FROM `categories`;

Yuqoridagi skriptni bajarish toifalar jadvalidagi barcha qatorlarni toifalar arxiv jadvaliga kiritadi. Skript ishlashi uchun jadval tuzilmalari bir xil bo'lishi kerakligiga e'tibor bering. Qo'shish jadvalidagi ustun nomlarini ma'lumotlarni o'z ichiga olgan jadvaldagilar bilan taqqoslaydigan yanada mustahkam skript.

Quyida ko'rsatilgan so'rov uning ishlatilishini ko'rsatadi.

INSERT INTO `categories_archive`(category_id,category_name,remarks) SELECT toifa_id,category_name,FROM `categories`;

SELECT so'rovini bajarish

`Kategoriyalar_arxivi` dan * TANLANING

quyida ko'rsatilgan quyidagi natijalarni beradi.

kategoriya_idkategoriya_nomiizohlar
1 KomediyaHazil bilan filmlar
2 RomantikSevgi hikoyalari
3 EposHikoya qadimiy filmlar
4 DahshatNULL
5 Ilmiy fantastikaNULL
6 TrillerNULL
7 HarakatNULL
8 Romantik komediyaNULL
9 MultfilmlarNULL
10 MultfilmlarNULL

Xulosa

  • INSERT buyrug'i jadvalga yangi ma'lumotlarni qo'shish uchun ishlatiladi
  • Sana va satr qiymatlari bitta tirnoq ichiga olinishi kerak.
  • Raqamli qiymatlarni qo'shtirnoq ichiga olish shart emas.
  • INSERT buyrug'i bir jadvaldan ikkinchisiga ma'lumotlarni kiritish uchun ham ishlatilishi mumkin.


 


O'qing:



Sotib olgandan keyin iPhone-ni sozlash Sotib olgandan keyin iPhone se-ni qanday sozlash mumkin

Sotib olgandan keyin iPhone-ni sozlash Sotib olgandan keyin iPhone se-ni qanday sozlash mumkin

Apple gadjetlari butun sayyorani to'ldirgandek tuyulganiga qaramay, yangi iPhone foydalanuvchilari soni kundan-kunga ortib bormoqda. Shunga qaramay...

YouTube kanalingiz uchun chiroyli fon yaratishning eng yaxshi usullari

YouTube kanalingiz uchun chiroyli fon yaratishning eng yaxshi usullari

Siz qiziqarli video kontent yaratyapsizmi? Kanalingizni chiroyli loyihalashni unutmang! Kanalni loyihalashda eng muhim rolni sarlavha deb ataladigan narsa o'ynaydi...

Samsung smartfonlarini zavod sozlamalariga qaytaring

Samsung smartfonlarini zavod sozlamalariga qaytaring

Ko'pincha Android telefoningizni qayta o'rnatishga ehtiyoj bor. Ushbu protsedura juda oddiy. Bir necha marta ekranga teging...

Power BI nima va u bilan qanday ishlash kerak?

Power BI nima va u bilan qanday ishlash kerak?

Assalomu alaykum, aziz do'stlar, Anton Buduev siz bilan. Ushbu maqola bilan men har birimiz uchun juda chuqur va muhim mavzuni ko'rib chiqishni boshlayman ...

tasma tasviri RSS