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

MySQL-এ CREATE TABLE IF NOT EXISTS দিয়ে টেবিল না থাকলে তৈরি করে INSERT করা


CREATE TABLE IF NOT EXISTS + INSERT প্যাটার্ন

MySQL-এ CREATE TABLE IF NOT EXISTS ব্যবহার করে টেবিল ইতিমধ্যে আছে কিনা চেক করে, না থাকলে তৈরি করে, তারপর INSERT করা যায়। এটি অ্যাপ্লিকেশন ইনিশিয়ালাইজেশনে খুব ব্যবহারী।

সিনট্যাক্স

CREATE TABLE IF NOT EXISTS yourTableName (
    yourColumnName1 dataType,
    ...
);
INSERT INTO yourTableName VALUES(yourValue1, ...);

উদাহরণ

mysql> CREATE TABLE IF NOT EXISTS DemoTable (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentSubject VARCHAR(100)
);
Query OK, 0 rows affected (0.60 sec)

mysql> INSERT INTO DemoTable(StudentSubject) VALUES('Java'), ('MySQL'), ('C');

ফলাফল

+-----------+----------------+
| StudentId | StudentSubject |
+-----------+----------------+
| 1         | Java           |
| 2         | MySQL          |
| 3         | C              |
+-----------+----------------+

ব্যাখ্যা

  • IF NOT EXISTS — টেবিল ইতিমধ্যে থাকলে এরর দেয় না, সাইলেন্টলি স্কিপ করে।
  • স্কিমা মাইগ্রেশন স্ক্রিপ্টে বা অ্যাপ স্টার্টআপে খুব উপযোগী।
  • কলাম ডেফিনিশন পুরো মিলতে হয় (আলাদা কলাম থাকলে এরর দেবে)۔

সম্পর্কিত: INSERT IGNORE / ON DUPLICATE KEY UPDATE

  • INSERT IGNORE — ডুপ্লিকেট প্রাইমারি কি হলে ইগনোর করে।
  • INSERT ... ON DUPLICATE KEY UPDATE col=VALUES(col) — ডুপ্লিকেট হলে আপডেট করে।
  1. MySQL-এ MAX(col)+1 একই টেবিলে ইনসার্ট করা

  2. MySQL에서 한 테이블의 데이터를 다른 테이블로 복사하기 (INSERT INTO SELECT)

  3. MySQL টেবিলে JSON ডেটা ইনসার্ট করার পদ্ধতি

  4. MySQL-এ LEFT JOIN ব্যবহার করে টেবিল A-র ডেটা টেবিল B-এ না থাকলে টেবিল C-তে ইনসার্ট করা