SQL सर्वर (Transact-SQL) में INSERT स्टेटमेंट का उपयोग किसी तालिका में एक या अधिक रिकॉर्ड डालने के लिए किया जाता है।
INSERT कमांड सिंटैक्स
रिकॉर्ड डालें
अपने सरलतम रूप में, INSERT कमांड सिंटैक्स VALUES कीवर्ड के साथ एक रिकॉर्ड सम्मिलित करता है
INSERT INTObang
(cot1, cot2, …)
VALUES
(bieuthuc1, bieuthuc2, …),
(bieuthuc1, bieuthuc2, …),
. ;
INSERT कमांड का पूरा सिंटैक्स VALUES कीवर्ड का उपयोग करके एक रिकॉर्ड सम्मिलित करता है
INSERT INTO bang
(cot1, cot2, …)
VALUES
( DEFAULT | NULL | bieuthuc1,
DEFAULT | NULL | bieuthuc2,
…
);
या कीवर्ड DEFAULT VALUES का उपयोग करके रिकॉर्ड डालने के लिए सिंटैक्स
INSERT INTO bang
(cot1, cot2, …)
DEFAULT VALUES;
एकाधिक रिकॉर्ड सम्मिलित करें
सरलतम रूप में, एकाधिक रिकॉर्ड डालने का सिंटैक्स उप-चयन द्वारा होता है
INSERT INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieukien];
उप-चयन के साथ एकाधिक डेस्क सम्मिलित करने के लिए पूर्ण सिंटैक्स
INSERT [TOP (tri_dau) [PERCENT] ]
INTO bang
(cot1, cot2, …)
SELECT bieuthuc1, bieuthuc2, …
FROM bang_nguon
[WHERE dieukien];
परिवर्तनीय नाम या चर मान
स्थिति
रिकॉर्ड डालने के लिए तालिका।
cot1, cot2
मान डालने के लिए तालिका में कॉलम
bieuthuc1, bieuthuc2
तालिका में कॉलम में निर्दिष्ट करने के लिए मान। cot1 को bieuthuc1 का मान दिया जाएगा, cot2 को bieuthuc2 का मान दिया जाएगा।
TOP (giatri_dau)
Option. यदि विशेष रूप से, यह giatri_dau के आधार पर पंक्ति का पहला मान सम्मिलित करेगा। उदाहरण के लिए, टॉप (10) परिणाम सेट से पहली 10 पंक्तियों को सम्मिलित करेगा।
PERCENT
Option. यदि निर्दिष्ट किया जाता है, तो पहली पंक्तियाँ परिणाम सेट के giatri_dau के प्रतिशत पर आधारित होती हैं। उदाहरण के लिए, TOP (10) PERCENT परिणाम सेट में पहले मान का 10% सम्मिलित करेगा।
bang_nguon
स्रोत तालिका (मूल तालिका) किसी अन्य तालिका से डेटा सम्मिलित करने के लिए।
जहां मरना है
Option. भेजने की शर्तें पूरी की जाती हैं ताकि रिकॉर्ड डाला जा सके।
नोट
- INSERT स्टेटमेंट वाली टेबल में रिकॉर्ड्स इंसर्ट करते समय, आपको NOT NULL कॉलम के लिए मान प्रदान करना होगा।
- यदि कॉलम NULL मानों की अनुमति देता है, तो आप INSERT स्टेटमेंट से कॉलम हटा सकते हैं।
उदाहरण के लिए - VALUES कीवर्ड का उपयोग करें
INSERT INTO nhanvien
(nhanvien_id, ten, ho)
VALUE
(10, 'Anderson', 'Sarah');
इस INSERT कथन के परिणामस्वरूप तालिका में 1 रिकॉर्ड डाला जाएगा। इस रिकॉर्ड में 10 का nhanvien_id होना चाहिए, वे एंडरसन हैं और उनका नाम सारा है।
इस सिंटैक्स का उपयोग एक बार में 1 से अधिक रिकॉर्ड डालने के लिए किया जा सकता है। जैसे:
INSERT INTOanvien
(nhanvien_id, ho, ten)
VALUES
(19, 'Anderson', 'Sarah'),
(11, 'Johnson', 'Dale');
उदाहरण के लिए, उपरोक्त INSERT कथन दर्शाता है कि VALUES कीवर्ड के साथ 1 से अधिक रिकॉर्ड सम्मिलित करना संभव है। इस उदाहरण में, तालिका में 2 रिकॉर्ड डाले गए हैं। पहले रिकॉर्ड में 10 मिनट हैं, वे एंडरसन हैं और उनका नाम सारा है। दूसरा रिकॉर्ड nhanvien_id 11 है, वे जॉनसन हैं और नाम डेल है।
उपरोक्त कमांड नीचे दिए गए INSERT स्टेटमेंट के बराबर है।
INSERT INTOanvien
(nhanvien_id, ho, ten)
VALUES
(10, 'Anderson', 'Sarah');
INSERT INTOanvien
(nhanvien_id, ho, ten)
VALUES
(11, 'Johnson', 'Dale');
उदाहरण के लिए - कीवर्ड DEFAULT VALUES का उपयोग करें
INSERT INTO nhanvien
(nhanvien_id, ho, ten)
DEFAULT VALUES;
यह INSERT कथन तालिका में एक रिकॉर्ड सम्मिलित करता है। कर्मचारी आईडी, परिवार और नाम जानकारी फ़ील्ड के लिए डिफ़ॉल्ट मानों द्वारा नए रिकॉर्ड बनाए जाते हैं।
उदाहरण के लिए - SELECT कमांड का उपयोग करें
नीचे दिखाए गए अनुसार SELECT स्टेटमेंट के साथ अधिक जटिल INSERT स्टेटमेंट बनाना संभव है।
INSERT INTO danhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE nhanvien_id<= 100;
INSERT कमांड में सेलेक्ट स्टेटमेंट को रखकर, आप और इंसर्ट तेजी से कर सकते हैं।
इस प्रकार के इंसर्ट के साथ, आप सम्मिलित करने के लिए पंक्तियों की संख्या की जांच करना चाहते हैं, सम्मिलित करने से पहले SELECT कमांड चलाकर पंक्तियों की संख्या निर्धारित करें।
पी>SELECT count (*)
FROM nhanvien
WHERE nhanvien_id <= 100;