NULL একটি বিশেষ ডেটা টাইপ যা SQL ডাটাবেসে ব্যবহৃত হয়, এবং এটি কোন মান উপস্থিত না বা অজানা থাকলে ব্যবহার করা হয়। এটি সাধারণত কোন রেকর্ডে নির্দিষ্ট কলামের মান অনুপস্থিত বা অপরিচিত থাকা অবস্থায় ব্যবহৃত হয়। NULL একটি বিশেষ ধরনের মান, যা শূন্য (zero), ফাঁকা স্ট্রিং, বা অন্য কোন সাধারণ মানের সমতুল্য নয়।
SQLite সহ অন্যান্য ডাটাবেস সিস্টেমে NULL মানের ব্যবহারের অনেক গুরুত্বপূর্ণ দিক রয়েছে যা ডাটা পরিচালনা এবং পরবর্তীতে কুয়েরি করার সময় ভূমিকা রাখে।
NULL এর বৈশিষ্ট্য
- অজানা মান:
- NULL মানের অর্থ হলো অজানা, অর্থাৎ এটি কোনো নির্দিষ্ট মানের প্রতিনিধিত্ব করে না। উদাহরণস্বরূপ, যদি কোন ব্যক্তির জন্ম তারিখ জানা না থাকে, তবে তার জন্ম তারিখের ক্ষেত্রটি NULL হতে পারে।
- NULL এবং শূন্য (Zero) এর পার্থক্য:
- NULL একটি বিশেষ মান, যা শূন্য (0) বা ফাঁকা স্ট্রিং ("") এর থেকে ভিন্ন। শূন্য এবং ফাঁকা স্ট্রিং একটি নির্দিষ্ট মান, কিন্তু NULL মানের কোনো মান নেই।
- NULL এর সাথে তুলনা করা:
- SQLite এবং অন্যান্য SQL সিস্টেমে NULL এর সাথে সরাসরি তুলনা করা যায় না। অর্থাৎ,
NULL = NULLকখনোই সঠিক হবে না। এর পরিবর্তে IS NULL বা IS NOT NULL ব্যবহার করতে হয়।
- SQLite এবং অন্যান্য SQL সিস্টেমে NULL এর সাথে সরাসরি তুলনা করা যায় না। অর্থাৎ,
NULL ব্যবহার
টেবিল তৈরি করা: SQLite-এ যখন আপনি একটি টেবিল তৈরি করেন, তখন আপনি কলামের জন্য
NULLবাNOT NULLকনস্ট্রেইন্ট দিতে পারেন। উদাহরণস্বরূপ:CREATE TABLE employees ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, salary INTEGER, department TEXT );এখানে
salaryএবংdepartmentকলামগুলোর মান NULL হতে পারে, কিন্তুnameকলামের মান NULL হতে পারবে না।NULL মান ইনসার্ট করা: যদি আপনি কোন কলামে NULL মান ইনসার্ট করতে চান, তাহলে
NULLশব্দটি ব্যবহার করা হয়। উদাহরণ:INSERT INTO employees (name, salary, department) VALUES ('John Doe', NULL, 'Engineering');এখানে
salaryকলামেNULLমান ইনসার্ট করা হচ্ছে।NULL মান সিলেক্ট করা: যখন আপনি NULL মান নির্বাচন করতে চান, তখন
IS NULLবাIS NOT NULLব্যবহার করতে হয়। উদাহরণ:SELECT * FROM employees WHERE salary IS NULL;এই কুয়েরি
salaryকলামে NULL মান রয়েছে এমন সমস্ত রেকর্ড নির্বাচন করবে।NULL মান আপডেট করা: একটি কলামে NULL মান আপডেট করতে
UPDATEকমান্ডেSETব্যবহার করা হয়। উদাহরণ:UPDATE employees SET salary = NULL WHERE name = 'John Doe';এই কুয়েরি
John Doeএরsalaryকলামের মান NULL এ পরিবর্তন করবে।NULL মান ডিলিট করা: NULL মান ডিলিট করার জন্য
DELETEকমান্ডের সাথেWHEREশর্ত ব্যবহার করা হয়। উদাহরণ:DELETE FROM employees WHERE salary IS NULL;এই কুয়েরি
salaryকলামে NULL মান থাকা সমস্ত রেকর্ড মুছে ফেলবে।
NULL এর ব্যবহার সম্পর্কিত কিছু গুরুত্বপূর্ণ বিষয়
- NULL এবং Boolean অপারেশন:
- SQL-এ NULL ব্যবহার করার সময়, এটি সব সময় সত্য বা মিথ্যা না হয়ে, "UNKNOWN" হয়। তাই NULL এর সাথে সরাসরি তুলনা বা Boolean অপারেশন (যেমন: AND, OR) ব্যবহার করলে ফলাফল "UNKNOWN" হতে পারে। এজন্য
IS NULLএবংIS NOT NULLব্যবহার করা হয়।
- SQL-এ NULL ব্যবহার করার সময়, এটি সব সময় সত্য বা মিথ্যা না হয়ে, "UNKNOWN" হয়। তাই NULL এর সাথে সরাসরি তুলনা বা Boolean অপারেশন (যেমন: AND, OR) ব্যবহার করলে ফলাফল "UNKNOWN" হতে পারে। এজন্য
COALESCE()ফাংশন:- SQLite সহ SQL সিস্টেমে
COALESCE()ফাংশনটি NULL মান হ্যান্ডেল করতে ব্যবহৃত হয়। এটি NULL মান থাকলে অন্য একটি মান প্রদান করে। উদাহরণ:
SELECT name, COALESCE(salary, 0) AS salary FROM employees;এখানে যদি
salaryকলামে NULL থাকে, তবে এটি 0 দিয়ে প্রতিস্থাপন করা হবে।- SQLite সহ SQL সিস্টেমে
IFNULL()ফাংশন:IFNULL()ফাংশনও NULL মান হ্যান্ডেল করতে ব্যবহৃত হয় এবং এটিCOALESCE()এর মতো কাজ করে:
SELECT name, IFNULL(salary, 0) AS salary FROM employees;
সারাংশ
NULL একটি বিশেষ মান যা SQL ডাটাবেসে ব্যবহার করা হয়, যখন কোনো ডেটা অজানা বা অনুপস্থিত থাকে। এটি শূন্য (zero) বা ফাঁকা স্ট্রিং এর থেকে আলাদা, এবং SQL কুয়েরি লেখার সময় IS NULL বা IS NOT NULL ব্যবহার করে NULL মান যাচাই করা হয়। NULL ডেটা টাইপ ব্যবহারের সময় সাবধানতা অবলম্বন করা উচিত, বিশেষত তুলনা এবং Boolean অপারেশনগুলি করার সময়। COALESCE() এবং IFNULL() ফাংশন ব্যবহার করে NULL মান হ্যান্ডেল করা সহজ হয়।
Read more