কম্পিউটার

মাইএসকিউএলে নট-নাল কলামে খালি স্ট্রিং?


পিএইচপি-তে, খালি স্ট্রিং একটি NULL মানের সমান, কিন্তু MySQL-এ, কেসটি ভিন্ন, অর্থাৎ খালি স্ট্রিং NULL মানের সমান নয়। উপরের সিনট্যাক্স বোঝার জন্য, আপনি একটি খালি স্ট্রিং সন্নিবেশ করার সময় NOT NULL সীমাবদ্ধতা সহ একটি কলাম তৈরি করুন৷

আসুন একটি টেবিল তৈরি করি। একটি টেবিল তৈরি করার প্রশ্নটি নিম্নরূপ -

mysql> টেবিল EmptyStringNotNullDemo তৈরি করুন -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10) null নয়, -> PRIMARY KEY(Id) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.83 sec) 

এখন আপনি টেবিলে কিছু রেকর্ড সন্নিবেশ করতে পারেন খালি স্ট্রিংটি নাল বা নাল নয় তা পরীক্ষা করতে। রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী নিম্নরূপ -

mysql> EmptyStringNotNullDemo(Name) মান ('John'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.17 সেকেন্ড)mysql> EmptyStringNotNullDemo(নাম) মানগুলিতে সন্নিবেশ করুন (''); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (4.0 sec)mysql> EmptyStringNotNullDemo(নাম) মান ('ক্যারল') এ ঢোকান; কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড) mysql> EmptyStringNotNullDemo(নাম) মানগুলিতে ঢোকান (''); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত হয়েছে )mysql> EmptyStringNotNullDemo(Name) মান('');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)mysql> EmptyStringNotNullDemo(নাম) মানগুলিতে সন্নিবেশ করুন ('ল্যারি'); কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.1 সেকেন্ড) 

একটি নির্বাচন বিবৃতি ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> EmptyStringNotNullDemo থেকে *নির্বাচন করুন;

নিচের আউটপুট −

<প্রে>+------+------+| আইডি | নাম |+----+-------+| 1 | জন || 2 | || 3 | ক্যারল || 4 | || 5 | || 6 | ল্যারি |+------+------+6 সারি সেটে (0.00 সেকেন্ড)

এখন MySQL-এ খালি স্ট্রিং NULL না NULL চেক করুন। যদি আপনি একটি 0 পান তবে এর অর্থ হবে খালি স্ট্রিংটি একটি NULL এর সমান নয় অন্যথায় খালি স্ট্রিংটি NULL। প্রশ্নটি নিম্নরূপ -

mysql> নাম নির্বাচন করুন, EmptyStringNotNullDemo থেকে EmptyValueIsNotNULL হিসাবে নামটি NULL;

নিচের আউটপুট −

<প্রে>+------+------------+| নাম | EmptyValueIsNotNULL |+---------+----------------------+| জন | 0 || | 0 || ক্যারল | 0 || | 0 || | 0 || ল্যারি | 0 |+------+---------+6 সারি সেটে (0.00 সেকেন্ড)

আপনি ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবলের সাহায্যে অর্জন করতে পারেন। সিনট্যাক্স নিম্নরূপ -

SET @anyVariableName=””;আপডেট yourTableName SET yourColumnName=@anyVariableName;

প্রদত্ত টেবিলের জন্য উপরের সিনট্যাক্স প্রয়োগ করুন। একটি ব্যবহারকারী ভেরিয়েবল ঘোষণা এবং সংজ্ঞায়িত করার জন্য ক্যোয়ারীটি নিম্নরূপ।

mysql> সেট @emptyStringValue=""; কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.00 সেকেন্ড)

একটি খালি স্ট্রিং দিয়ে টেবিল আপডেট করুন। প্রশ্নটি নিম্নরূপ -

mysql> আপডেট করুন EmptyStringNotNullDemo সেটের নাম=@emptyStringValue;কোয়েরি ঠিক আছে, 3টি সারি প্রভাবিত হয়েছে (0.25 সেকেন্ড)সারি মিলেছে:6টি পরিবর্তন করা হয়েছে:3টি সতর্কতা:0

আবার টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -

mysql> EmptyStringNotNullDemo থেকে *নির্বাচন করুন;

নিচের আউটপুট −

<প্রে>+---+------+| আইডি | নাম |+---+------+| 1 | || 2 | || 3 | || 4 | || 5 | || 6 | |+----+------+6 সারি সেটে (0.00 সেকেন্ড)

কলাম 'নাম' আপডেট করা হয়েছে৷


  1. একটি MySQL ক্যোয়ারী ব্যবহার করে একটি কলামে একটি নির্দিষ্ট আইডির স্ট্রিং গণনা কীভাবে খুঁজে পাবেন?

  2. MySQL এ একটি স্ট্রিং ধারণকারী কলামের নাম নির্বাচন করবেন?

  3. MySQL ক্যোয়ারী যা একটি নির্দিষ্ট স্ট্রিং প্রদান করে যদি কলাম নাল থাকে?

  4. একটি কলাম মান প্রতিস্থাপন করতে MySQL ক্যোয়ারী