إعلان مُمول

এসকিউএল ইনসার্ট স্টেটমেন্ট - SQL INSERT

0
2

আগের দুইটা লেখায় আমরা অলরেডি ইন্সার্ট স্টেটমেন্ট ব্যবহার করেছি। এবার বিস্তারিত জানা যাক। আগের দুইটা লেখার লিঙ্কঃ

ইনসার্ট স্টেটমেন্ট নিয়ে কাজ করার পূর্বে আমাদের ডেটাবেজ ওপেন করে নিতে হবে। তার জন্যঃ

sqlite3 db_name.db

যদি এই নামে ডেটাবেজ না থাকে, তাহলে নতুন ডেটাবেজ তৈরি হবে।

এরপর আমরা একটা টেবিল তৈরি করে নিব id, name এবং email কলাম নামেঃ

CREATE TABLE users (id INTEGER PRIMARY KEY AUTO_INCREMENT, name TEXT, email TEXT);

এবার ইনসার্ট স্টেটমেন্ট লেখার জন্য প্রস্তুত। এর আগের লেখায় যদিও আমরা এভাবে ইনসার্ট স্টেটমেন্ট লিখেছি:

INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]');

যা user টেবিলে একটা রেকর্ড ইনসার্ট করবে।

INSERT INTO স্টেটমেন্টের সিনট্যাক্স হচ্ছে নিচের মতঃ

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

মানে প্রথম ভ্যালু প্রথম কলামে, দ্বিতীয় ভ্যালু দ্বিতীয় কলামে ইনসার্ট হবে।

নির্দিষ্ট কলামে রেকর্ড ইনসার্ট করাঃ

উপরে আমরা নির্দিষ্ট করে বলে দিচ্ছি কোন কলামে ডেটা ইনসার্ট হবে। আমরা চাইলে শুধু মাত্র একটা কলামে ডেটা ইনসার্ট করতে পারি। যেমনঃ

INSERT INTO users (name) VALUES ('Charlie Veum');

এখানে id অটোমেটিক্যালি ইঙ্ক্রিমেন্ট হয়েছে। যা আমরা টেবিল তৈরি করার সময় বলে দিয়েছি id কলাম অটো ইঙ্ক্রিমেন্ট হতে। যদিও মডার্ড DBMS এ বলে না দিলেও id কলাম অটো ইঙ্ক্রিমেন্ট করে নেয়। আর email ফিল্ড নাল রয়েছে। এর মানে email কলামে এই রেকর্ডের ডেটা নেই।

সব গুলো কলামে ডেটা ইনসার্ট করাঃ

INSERT INTO users VALUES (NULL, 'Charlie Davis', '[email protected]');

উপড়ে আমরা কলামের নাম বলে দেইনি। এরপরও অটোম্যাটিক্যালি ডেটা name এবং email ফিল্ডে অটো ম্যাপ হয়ে ইনসার্ট হয়েছে। এখানে প্রথম ভ্যালু বা id কলামের ভ্যালু NULL দিয়ে বলে দিয়েছি অটো ইঙ্ক্রিমেন্ট করে নিতে।

অটো ম্যাপিং এর জন্য আমাদের টেবিলে যত গুলো কলাম আছে, ঠিক তত গুলো ভ্যালু দিতে হবে। যদি ভ্যালু কম দেই, তাহলে অটো ম্যাপিং হবে না। এরর দেখাবে। যেমন নিচের স্ট্যাটমেন্ট রান করে দেখতে পারেন:

INSERT INTO users VALUES ('John Doe', '[email protected]');

যা আমাদের Parse error: table users has 3 columns but 2 values were supplied এমন একটা এরর দেখাবে।

একাধিক রো-তে ডেটা ইনসার্ট

এর আগে আমরা দেখেছি কিভাবে একাধিক রেকর্ড ইনসার্ট করা যায়। আবার দেখিঃ

INSERT INTO users (name, email)
VALUES 
    ('Jane Smith', '[email protected]'),
    ('Alice Johnson', '[email protected]'),
    ('Bob Brown', '[email protected]');

INSERT OR REPLACE

SQLite এ INSERT OR REPLACE স্টেটমেন্ট রয়েছে যা দিয়ে নির্দিষ্ট প্রাইমারি কি যদি থাকে, তাহলে আগের ভ্যালুকে রিপ্লেস করবে অথবা নতুন রেকর্ড হিসেবে ইনসার্ট করবে।

INSERT OR REPLACE INTO users (id, name, email)
VALUES (1, 'Eve Adams', '[email protected]');

আমরা দেখব user টেবিলের প্রথম রেকর্ডটা পরিবর্তন হয়ে গিয়েছে।

এবার এমন একটা আইডি দিয়ে ট্রাই করে দেখেন, যে আইডিতে কোন রেকর্ড নেই। যেমনঃ

INSERT OR REPLACE INTO users (id, name, email) VALUES (10, 'Eve Adams', '[email protected]');

দেখব নতুন রেকর্ড যোগ হয়েছে।

ইনসার্টের পাশা পাশি আইডি রিটার্ণ পাওয়া

SQLite 3.35+ থেকে ইনসার্ট করার পাশা পাশি সদ্য ইনসার্ট হওয়া আইটেমের আইডি পাওয়া যায়। তার জন্য এভাবে INSERT স্ট্যাটমেন্ট লিখতে হয় RETURNING ক্লজ ব্যবহার করেঃ

INSERT INTO users (name, email)
VALUES ('Ada Lovelace', '[email protected]')
RETURNING id;

MySQL এ SELECT LAST_INSERT_ID(); স্টেটমেন্ট ব্যবহার করে লাস্ট রেকর্ডের আইডি পাওয়া যায়।

SQL নিয়ে অন্যান্য লেখা গুলো পাওয়া যাবে বাংলায় ডেটাবেজ টিউটোরিয়াল – SQL পেইজে।

البحث
الأقسام
إقرأ المزيد
Nulled
Cost Calculator WordPress Plugin v2.4.3
Cost Calculator WordPress Plugin v2.4.3 Free Downlead. Cost Calculator is a Clean, Simple Quote...
بواسطة Nettumi 2026-09-17 18:43:55 0 25
Nulled
সফল ফ্রিল্যান্সার হওয়ার গাইডলাইন ২০২৬ | Techtunes | টেকটিউনস
অ্যাপল মানুষকে ফিরিয়ে নিচ্ছে হাত ঘড়ির যুগে… অসামান্য প্রাযুক্তিক উৎকর্ষতায়! একটি Apple...
بواسطة Nettumi 2026-09-21 05:30:50 0 50
Tech
আইওএস এ JSON সিরিয়ালাইজেশন - SwiftyJSON
আইওএস এ JSON সিরিয়ালাইজেশন এর জন্য দারুণ একটা লাইব্রেরী হচ্ছে SwiftyJSON. এটি Alamofire এর...
بواسطة Nettumi 2026-09-30 18:41:52 0 2
Hacking Course
Wi-Fi সংযুক্ত আছে, কিন্তু ইন্টারনেট চলছে না? ১১টি সহজ উপায়ে সমাধান করুন
আসসালামু আলাইকুম বন্ধুরা কেমন আছেন সবাই আশাকরি সবাই ভাল আছেন, আপনাদের দোয়ায় আমিও ভালো আছি, আজকে...
بواسطة Nettumi 2026-09-25 16:19:35 0 29
Hacking Course
ফুটবল খেলার খবর জানার উপায় - Banglatech24.com
খেলাপাগল হলেও অনেকে সবসময় সব খেলা সরাসরি দেখতে পারেনা ব্যস্ততার জন্য। খেলাধুলার সকল খবর ও ফলাফল...
بواسطة Nettumi 2026-09-25 09:53:47 0 37
‎ ‎ ‎
Nettumi https://nettumi.com