কম্পিউটার টিউটোরিয়াল

MySQL-এ CREATE TABLE-এ CHAR_LENGTH() ব্যবহার করে কলামের ক্যারেক্টার কাউন্ট সংরক্ষণ

MySQL 5.7+ এ (জেনারেটেড কলাম ফিচার) CREATE TABLE স্টেটমেন্টে সরাসরি CHAR_LENGTH() ফাংশন ব্যবহার করে একটি কলামের ক্যারেক্টার সংখ্যা অন্য একটি কলামে অটোমেটিক্যালি সংরক্ষণ করা যায়।

টেবিল তৈরি (জেনারেটেড কলাম সহ)

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Title VARCHAR(200),
    -> `Number_of_characters` INT AS (CHAR_LENGTH(Title))
    -> );

নোট: AS (CHAR_LENGTH(Title)) এটি একটি VIRTUAL GENERATED COLUMN। এটি ফিজিক্যালি স্টোর হয় না, রিড সময় ক্যালকুলেট হয়। STORED কীওয়ার্ড দিয়ে ফিজিক্যালি স্টোর করাও যাবে।

ডেটা ইনসার্ট

mysql> INSERT INTO DemoTable(Title) VALUES('Introduction To MySQL');
mysql> INSERT INTO DemoTable(Title) VALUES('Introduction To Java');
mysql> INSERT INTO DemoTable(Title) VALUES('Introduction To MongoDB');

ফলাফল (Number_of_characters অটোমেটিক্যালি ক্যালকুলেট হয়েছে)

mysql> SELECT * FROM DemoTable;
+----+-------------------------+----------------------+
| Id | Title                   | Number_of_characters |
+----+-------------------------+----------------------+
|  1 | Introduction To MySQL   |                   21 |
|  2 | Introduction To Java    |                   20 |
|  3 | Introduction To MongoDB |                   23 |
+----+-------------------------+----------------------+

ব্যাখ্যা:

  • 'Introduction To MySQL' - ২১ ক্যারেক্টার (স্পেসসহ)
  • 'Introduction To Java' - ২০ ক্যারেক্টার
  • 'Introduction To MongoDB' - ২৩ ক্যারেক্টার

ব্যবহার ক্ষেত্র: সার্চ অপ্টিমাইজেশন, ভ্যালিডেশন, রিপোর্টিং-এ খুব উপকারী। ইনসার্ট/আপডেট সময় ম্যানুয়ালি কাউন্ট করতে হয় না।

  1. MySQL-এ COUNT() এবং IF() একসাথে ব্যবহার করে শর্তসাপেক্ষ গুননা

  2. MySQL SELECT কোয়ারিতে এলিয়াস (alias) ব্যবহার করার পদ্ধতি

  3. MySQL-ে ইনডেক্সসহ টেবিল তৈরি করা (CREATE INDEX)

  4. MySQL에서 VIEW(뷰) 생성하고 조회하기