akofaraji.ir
دستور INSERT INTO و مقادیر NULL در SQL
نوشته شده در تاریخ 09 فروردین 1403
نظرات: 0 امتیاز: 5 زمان مطالعه: 11 دقیقه
 
 
دستور INSERT در SQL و تفاوت بین NULL و 0
 

دستور INSERT INTO

 

همانطور که از نام دستور INSERT INTO (به معنی «به … وارد کن») پیداست، از آن برای وارد کردن داده های جدید در جدول استفاده می شود. در واقع این دستور به دو روش نوشته می شود:

در روش اول هم نام ستون مشخص می شود و هم مقداری که می خواهیم آن را وارد جدول کنیم. به ساختار کلی زیر توجه کنید:

 

روش دوم زمانی است که شما می خواهید مقداری را در تمام ستون ها وارد کنید که در این حالت عملا یک ردیف را وارد کرده اید.

 

اگر چنین قصدی دارید نیازی نیست که ستون ها را مشخص کنید چرا که مقادیر به ترتیب (از چپ به راست) در ستون ها قرار خواهند گرفت. تنها نکته ای که باید به آن توجه کنید این است که ترتیب مقادیری که به INSERT INTO می دهید با ترتیب ستون ها یکی باشد. به ساختار زیر توجه کنید:

 

حالا قبل از اینکه به سراغ مثال ها برویم باید نگاهی به پایگاه داده ی Northwind بیندازیم:

 

قسمتی از جدول Customers در پایگاه داده ی Northwind
قسمتی از جدول Customers در پایگاه داده ی Northwind

 

همانطور که قبلا گفته ایم، اساس کار ما در طول این دوره با این پایگاه داده است و امروز این قسمت را انتخاب کرده ایم. خب برویم به سراغ مثال ها …

 

به کد SQL زیر توجه کنید:

 

این کد ابتدا به سراغ جدول Customers می رود، سپس ستون های مختلفی را انتخاب می کند تا داده ها را داخل آن ها قرار دهد و بعد از آن داده ها را به VALUES می دهد. دقت کنید با اینکه این ساختار مطابق روش اولی است که به شما معرفی کردیم اما هنوز هم بر اساس ترتیب پیش می رود. یعنی چه از روش اول و چه از روش دوم استفاده کنید، همخوانی ترتیب در داده ها و ستون های جدول شما مهم است.

 

شما می توانید این دستور را در پایگاه داده ی آماده ی Northwind تست کنید: روی این لینک کلیک کنید.

 

پس از اینکه به لینک بالا رفتید و دستور SQL را اجرا کردید، به شما پیامی نشان داده می شود و می گوید که یک ردیف تحت تاثیر قرار گرفت. برای مشاهده ی ردیفی که اضافه شده است، در همان صفحه ای که هستید، کد های SQL را پاک کرده و دستور زیر را تایپ کنید:

 

سپس دکمه ی Run SQL را بزنید و به آخر جدول بروید. می بینید یک ردیف به ردیف های ما اضافه شده و ردیف آخر همان ردیفی است که به تازگی اضافه شده است.

 

نکته: اگر دقت کنید به ستون CustomerID هیچ مقداری نداده ایم. چرا؟ به این دلیل که این ستون از نوع auto-increment (به معنی «افزایش خودکار») است. این نوع ستون ها خود به خود برای هر مشتری اضافه می شود و ما برایش مقداری تعیین نمی کنیم. در مورد auto-increment ها بعدا صحبت خواهیم کرد.

 

در مثال قبل به تمام ستون ها مقدار جدیدی دادیم و به عبارت دیگر یک ردیف کامل را به آن اضافه کردیم اما می توانیم تنها به بعضی از ستون ها مقدار بدهیم. در مثال زیر داده هایی را به ستون های CustomerName و City و Country اضافه می کنیم اما بقیه را خالی می گذاریم. ستون CustomerID نیز خود به خود بروزرسانی می شود (به نکته ی بالا رجوع کنید):

 

برای اجرای این کد در پایگاه داده ی Northwind روی این لینک کلیک کنید.

 

اگر چنین کاری را انجام دهیم، جدول Customers به شکل زیر در می آید:

 

جدول Customers پس از اجرای دستور بالا
جدول Customers پس از اجرای دستور بالا

 

ستون هایی که از ما مقداری دریافت نکردند به صورت null هستند! این چه معنی می دهد؟

 

مقادیر NULL

 

فیلدی که مقدارش null است یعنی هیچ مقداری ندارد. اگر فیلدی در جدول ما اختیاری (optional) باشد، می توان ردیف جدیدی در جدول اضافه کرد بدون اینکه به آن فیلد مقدار خاصی داده شود.

 
نکته: مقدار null با عدد صفر یا فیلدی که چند space (فضای خالی) دارد متفاوت است. وقتی 0 یا space داریم، در واقع مقداری وجود دارد اما null مخصوص فیلدی است که هنگام ساختِ یک ردیف یا رکورد هیچ مقداری دریافت نکند.

 

اگر می خواهید پایگاه داده ی خود را جست و جو کنید تا مقادیر null را پیدا کنید باید بدانید که این کار با اپراتور های = یا <> و امثال‌شان امکان پذیر نیست. برای این کار باید از اپراتور های IS NULL یا IS NOT NULL استفاده کنید.

ساختار کلی IS NULL

 

ساختار کلی IS NOT NULL

 

حالا بیایید مثال زیر را روی پایگاه داده ی خودمان انجام دهیم:

 

برای اجرای این دستور روی پایگاه داده، به این لینک مراجعه کنید.

پس از اجرای این دستور میبینید ردیفی که قبلا ساخته ایم و دارای مقادیر null است بالا می آید (مشتری به نام Cardinal).

 

خلاصه ی مقاله

 

در این قسمت با دستور INSERT INTO و دو شکل رایج آن آشنا شدیم و در عمل مشاهده کردیم که ترتیب در مقادیری که به این دستور داده می شود، مهم هستند. همچنین با مفهوم مقادیر NULL و تفاوتشان با صفر یا space آشنا شدیم. امیدوارم از این قسمت لذت برده باشید.

 

منبع: سایت روکسو


اگر احساس می کنید این مطلب برای شما مفید بود ، از 1 تا 10 به این مطلب امتیاز دهید

دیدگاه کاربران در مورد این مطلب

ثبت نظر
به نظر خوب میاد!
لطفا نام را وارد کنید
@
لطفا یک ایمیل منحصر به فرد و معتبر انتخاب کنید.
لطفا متن با کلمات و معانی مفهوم دار وارد نمایید