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

MySQL-এ কলাম নেমে স্পেস রাখা (ব্যাকটিক ` ব্যবহার)

MySQL-এ কলাম বা টেবিল নেমে স্পেস, সংরক্ষিত শব্দ বা স্পেশাল ক্যারেক্টার থাকলে ব্যাকটিক (`` ` ``) দিয়ে কোটেশন করতে হয়।

সিনট্যাক্স

CREATE TABLE table_name (
    `column name with spaces` DATA_TYPE,
    `another column` DATA_TYPE
);

উদাহরণ

CREATE TABLE blank_spaces_demo (
    `Student Id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `Student Full Name` VARCHAR(100)
);

ইনসার্ট (ব্যাকটিক বাধ্যতামূলক)

INSERT INTO blank_spaces_demo (`Student Full Name`) VALUES ('John Smith');
INSERT INTO blank_spaces_demo (`Student Full Name`) VALUES ('Carol Taylor');
INSERT INTO blank_spaces_demo (`Student Full Name`) VALUES ('David Miller');

সিলেক্ট (ব্যাকটিক বাধ্যতামূলক)

SELECT `Student Id`, `Student Full Name` FROM blank_spaces_demo;

ফলাফল

+------------+--------------------+
| Student Id | Student Full Name  |
+------------+--------------------+
| 1          | John Smith         |
| 2          | Carol Taylor       |
| 3          | David Miller       |
+------------+--------------------+

অন্যান্য ডেলিমিটার (ANSI SQL মোডে)

SET SESSION sql_mode = 'ANSI_QUOTES'; সেট করলে ডবল কোটেশন "column name" কাজ করে, কিন্তু স্ট্রিং লিটারেলের জন্য সিঙ্গেল কোট 'value' ব্যবহার করতে হয়। সুপারিশ: সবসময় ব্যাকটিক ব্যবহার করুন।

কখন ব্যাকটিক বাধ্যতামূলক

  • নেমে স্পেস থাকলে: `first name`
  • সংরক্ষিত শব্দ: `select`, `order`, `group`, `key`
  • স্পেশাল ক্যারেক্টার: `col-name`, `col$name`
  • নেম্বার দিয়ে শুরু: `123col`

সেরা অনুশীলন

  • সব আইডেন্টিফায়ারকে ব্যাকটিক দিয়ে কোট করুন — কনসিস্টেন্সি ও ভুল এড়াতে
  • ORM/ক্যোয়ারি বিল্ডারগুলো সাধারণত অটো করে
  • নেমিং কনভেনশন: snake_case ব্যবহার করুন (student_id, student_full_name) — স্পেস দরকার নেই

ALTER TABLE-এও ব্যাকটিক

ALTER TABLE `blank_spaces_demo` 
CHANGE `Student Full Name` `Student_Full_Name` VARCHAR(150);
  1. MySQL LIKE কোয়েরিতে % (পার্সেন্ট) চিহ্ন সার্চ করা (Escape ব্যবহার করে)

  2. MySQL-এ DATETIME কলামে সময় যোগ করা (ADDTIME ফাংশন)

  3. MySQL-এ নির্দিষ্ট মান 'None' কে 'N/A' দিয়ে আপডেট করা

  4. MySQL-এ একক কোয়ারিতে সব কলামের জন্য এলিয়াস (Alias) সেট করা