পৃথক তৈরি টেবিল ছাড়াই একটি নির্বাচনী বিবৃতিতে একটি অস্থায়ী সারণী তৈরি করুন


494

কোনও সারণী বিবৃতি তৈরি না করে এবং প্রতিটি কলামের প্রকারটি নির্দিষ্ট করে না দিয়ে কোনও নির্বাচিত বিবৃতি থেকে অস্থায়ী (কেবলমাত্র সেশন) সারণী তৈরি করা সম্ভব? আমি জানি উত্সযুক্ত টেবিলগুলি এতে সক্ষম, তবে সেগুলি অতি-অস্থায়ী (কেবলমাত্র বিবৃতি) এবং আমি আবার ব্যবহার করতে চাই।

এটি তৈরি করতে সময় সাশ্রয় করবে যদি আমি একটি তৈরি টেবিল কমান্ড লিখতে না পারি এবং কলাম তালিকাটি এবং তালিকার তাল মিলিয়ে রাখি।

উত্তর:


788
CREATE TEMPORARY TABLE IF NOT EXISTS table2 AS (SELECT * FROM table1)

Http://dev.mysql.com/doc/refman/5.7/en/create-table.html এ পাওয়া ম্যানুয়াল থেকে

টেবিল তৈরি করার সময় আপনি TEMPORARY কীওয়ার্ডটি ব্যবহার করতে পারেন। একটি টেম্পেরি টেবিল কেবল বর্তমান অধিবেশনটিতে দৃশ্যমান এবং সেশনটি বন্ধ হয়ে গেলে স্বয়ংক্রিয়ভাবে বাদ পড়ে যায়। এর অর্থ হ'ল দুটি পৃথক সেশন একে অপরের সাথে বিরোধ ছাড়াই বা একই নামের বিদ্যমান অ-ক্ষুদ্র টেবিলের সাথে একই অস্থায়ী টেবিলের নাম ব্যবহার করতে পারে। (অস্থায়ী টেবিলটি বাদ না দেওয়া পর্যন্ত বিদ্যমান সারণীটি লুকানো থাকে)) অস্থায়ী সারণীগুলি তৈরি করতে আপনার অবশ্যই তৈরি করুন সারণী সুযোগ সুবিধা।


8
পারফেক্ট! সর্বোত্তম দৈর্ঘ্য এবং সমস্ত সহ কলামগুলি! আমি শব্দটি temporaryতাই যোগ create temporary table mytable as select ...
ব্রায়ান ফিল্ড

5
@ ইমেরিয়াম 2335, সম্ভবত আপনার নিম্নলিখিতটি চেষ্টা করা উচিত : create table t as select ... limit 0; alter table t engine=memory; insert into t select .... অথবা, সম্ভবত আপনি "নতুন টেবিলগুলির ডিফল্ট ইঞ্জিন" পরিবর্তন করতে পারেন। আমি ধারণা করি এটি একটি সেশন স্তর ভেরিয়েবলের মাধ্যমে করা যেতে পারে। আরও ভাল, উপরের ডানদিকে প্রশ্ন জিজ্ঞাসা বোতামটি ব্যবহার করুন।
ব্রায়ান ফিল্ড

10
এটির জন্য কলামের নাম এবং প্রকারগুলি সম্পর্কে জানতে হবে না, যা তৈরি সারণীটি ব্যবহার করা এড়ানোর জন্য প্রশ্নকর্তার কারণ ছিল।
psparrow

30
আপনি এটা ভালো ব্যবহার করতে পারেন CREATE TEMPORARY TABLE IF NOT EXISTS table2 LIKE table1যদি আপনি আত ডেটা, শুধু গঠন অনুলিপি করতে চান
dzona

1
সেশন বলতে কী বুঝ?
সৌরভ চন্দ্র প্যাটেল

137

আপনার অস্থায়ী সারণীতে সূচি যোগ করার দরকার থাকলে পিএসপ্যারোয়ের উত্তর ছাড়াও :

CREATE TEMPORARY TABLE IF NOT EXISTS 
  temp_table ( INDEX(col_2) ) 
ENGINE=MyISAM 
AS (
  SELECT col_1, coll_2, coll_3
  FROM mytable
)

এটি সঙ্গে কাজ করে PRIMARY KEY


3
ইঞ্জিন = স্মৃতি কি এ জাতীয় সিনট্যাক্সের সাথে খুব বেশি ব্যবহার করা যেতে পারে?
ডার্কসাইড

6
@ ডার্কসাইড হ্যাঁ ইঞ্জিন = স্মৃতিও ব্যবহার করা যেতে পারে। নিম্নলিখিত উদাহরণটি দেখুন: blog.cnizz.com/2010/11/24/…
রাফাশী

1
মাইআইএসএএম এবং মেমোরি ইঞ্জিনের মধ্যে পার্থক্য কী? স্মৃতির উপকারিতা কি?
ইয়াহমান



39

ENGINE=MEMORYসারণীতে BLOB/ TEXTকলামগুলিতে থাকে তা সমর্থিত নয়


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.