paint-brush
মারিয়াডিবিতে অস্থায়ী টেবিলগুলি কীভাবে ব্যবহার করবেনদ্বারা@alejandroduarte
726 পড়া
726 পড়া

মারিয়াডিবিতে অস্থায়ী টেবিলগুলি কীভাবে ব্যবহার করবেন

দ্বারা Alejandro Duarte4m2024/05/02
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

অস্থায়ী টেবিলগুলি ক্ষণস্থায়ী ডেটা অপারেশনের জন্য দরকারী। একটি অস্থায়ী টেবিল শুধুমাত্র সেশনের সময়কালের জন্য বিদ্যমান থাকে যেখানে এটি তৈরি করা হয়েছিল এবং অন্যান্য সেশনগুলি এটি দেখতে সক্ষম হবে না। উদাহরণস্বরূপ, আমাদের ডাটাবেসে `পণ্য` নামক একটি টেবিল বিবেচনা করুন। আমরা একটি অস্থায়ী টেবিল তৈরি করতে পারি যা 'পণ্য'-এর গঠন অনুকরণ করে
featured image - মারিয়াডিবিতে অস্থায়ী টেবিলগুলি কীভাবে ব্যবহার করবেন
Alejandro Duarte HackerNoon profile picture

মারিয়াডিবিতে অস্থায়ী টেবিলগুলি কীভাবে কাজ করে তা অন্বেষণ করা যাক। প্রথমত, আমাদের সার্ভারের সাথে সংযোগ করতে হবে। উদাহরণস্বরূপ (আপনার নিজস্ব সংযোগের বিবরণ ব্যবহার করুন):

 mariadb -h 127.0.0.1 -u root -p"RootPassword!" --database demo


এখন, শুধুমাত্র কিছু নির্দেশ করার জন্য, আসুন একটি স্ট্যান্ডার্ড (স্থায়ী) টেবিল তৈরি করি। এখানে কিভাবে:

 CREATE TABLE t ( c INT );


এই টেবিল, t , আমরা ক্লায়েন্ট থেকে প্রস্থান করার পরেও ডাটাবেসে টিকে থাকবে:

 exit


যখন আমরা পুনঃসংযোগ করি এবং বিদ্যমান টেবিলগুলি SHOW TABLES; , টেবিল t এখনও তালিকাভুক্ত করা হবে:

 mariadb -h 127.0.0.1 -u root -p"RootPassword!" --database demo
 SHOW TABLES;
 +----------------+ | Tables_in_demo | +----------------+ | t | +----------------+


এই সব বেশ সুস্পষ্ট, কিন্তু এখন, আসুন এই টেবিলটি পুনরায় তৈরি করি এবং কিছু ভিন্ন চেষ্টা করি:

 CREATE OR REPLACE TEMPORARY TABLE t ( c INT );


TEMPORARY কীওয়ার্ডটি লক্ষ্য করুন। এই টেবিলটি তৈরি করার পর, আমরা যদি SHOW TABLES; , এটি তালিকায় প্রদর্শিত হবে। আমরা এটিতে ডেটা সন্নিবেশ করতে পারি, এটি অনুসন্ধান করতে পারি এবং অন্যান্য টেবিলের সাথে যোগ দিতে পারি। এটি বর্তমান সেশনের সময় একটি সাধারণ টেবিলের মতো আচরণ করে। যাইহোক, যদি আমরা ক্লায়েন্ট থেকে প্রস্থান করি, তাহলে পুনরায় সংযোগ করুন এবং একটি SHOW TABLES; আবার, অস্থায়ী টেবিল t তালিকাভুক্ত করা হবে না।


একটি অস্থায়ী টেবিল শুধুমাত্র সেশনের সময়কালের জন্য বিদ্যমান থাকে যেখানে এটি তৈরি করা হয়েছিল এবং অন্যান্য সেশনগুলি এটি দেখতে সক্ষম হবে না।

অস্থায়ী টেবিলের জন্য কেস ব্যবহার করুন

ক্ষণস্থায়ী ডেটা অপারেশনের জন্য অস্থায়ী টেবিলগুলি বেশ কার্যকর। উদাহরণস্বরূপ, আমাদের ডাটাবেসে products নামক একটি টেবিল বিবেচনা করুন:

 CREATE TABLE products ( id INT NOT NULL AUTO_INCREMENT, code VARCHAR(100) NOT NULL, name VARCHAR(250) NOT NULL, description TEXT DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY code (code) )


আমরা একটি অস্থায়ী টেবিল তৈরি করতে পারি যা products গঠন অনুকরণ করে:

 CREATE TEMPORARY TABLE t LIKE products;


আমরা এটি চালিয়ে নিশ্চিত করতে পারি:

 DESCRIBE t;
 +-------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | code | varchar(100) | NO | UNI | NULL | | | name | varchar(250) | NO | | NULL | | | description | text | YES | | NULL | | +-------------+--------------+------+-----+---------+----------------+


প্রাথমিকভাবে, t খালি হবে। যাইহোক, ধরুন আমরা products থেকে t এ কিছু ডেটা স্থানান্তর করতে চাই। ধরা যাক আমরা শুধুমাত্র সেই পণ্যগুলিকে অন্তর্ভুক্ত করতে চাই যেগুলির কোডে 0 নম্বর রয়েছে:

 INSERT INTO t SELECT * FROM products WHERE code LIKE '%0%';


এই কমান্ডটি চালানোর পরে, যদি আমরা অস্থায়ী টেবিলটি জিজ্ঞাসা করি t :

 SELECT * FROM t;
 +----+--------+------------------+---------------------------------------------------+ | id | code | name | description | +----+--------+------------------+---------------------------------------------------+ | 1 | BG2024 | BugBlaster | Eradicates software bugs with a single scan. | | 3 | FW001 | FireWhale | An oversized, comprehensive firewall solution. | | 4 | CLD404 | CloudNine Finder | Find your way back from cloud outages and errors. | +----+--------+------------------+---------------------------------------------------+

আমরা ফিল্টার করা ডেটা দেখতে পাই।

উপসংহার

অস্থায়ী টেবিলগুলি অবিরাম ডেটা স্টোরকে প্রভাবিত না করে অস্থায়ী প্রক্রিয়াকরণের জন্য ডেটা পরিচালনা করার একটি শক্তিশালী উপায় অফার করে। এগুলি এমন পরিস্থিতিতে বিশেষভাবে কার্যকর যেখানে ডেটা সাময়িকভাবে ম্যানিপুলেট করা বা রূপান্তরিত করা প্রয়োজন। আপনি এই ধরনের ডেটা ম্যানিপুলেশনের জন্য স্থায়ী টেবিল ব্যবহার করতে পারেন কিন্তু আপনার যখন স্বয়ংক্রিয় পরিচ্ছন্নতা, নামকরণের দ্বন্দ্বের ঝুঁকি হ্রাস, বিচ্ছিন্নতা এবং নিরাপত্তা, এবং অনুসন্ধান কর্মক্ষমতার জন্য সম্পদ ব্যবস্থাপনার প্রয়োজন হয় তখন অস্থায়ী টেবিলগুলি দরকারী।