প্রথমে, MySQL ডাটাবেসের ধরন নির্ধারণ করুন যেমন এর ইঞ্জিন InnoDB বা MyISAM কিনা। এটি অর্জন করতে, information_schema.columns.tables থেকে ইঞ্জিন কলাম ব্যবহার করুন।
সিনট্যাক্স নিম্নরূপ।
INFORMATION_SCHEMA থেকে ইঞ্জিন নির্বাচন করুন। TABLESWHERE TABLE_SCHEMA ='yourDatabaseName' এবং TABLE_NAME ='yourTableName';
এখানে, আমার কাছে ‘স্টুডেন্ট ইনফরমেশন’ -
নামের একটি টেবিল আছেmysql> সারণি StudentInformations তৈরি করুন -> ( -> StudentId int null auto_increment নয়, -> StudentFirstName varchar(20), -> StudentLastName varchar(20), -> প্রাথমিক কী(StudentId) -> );কোয়েরি ঠিক আছে, 0 প্রভাবিত সারি (0.57 সেকেন্ড)
এখন আপনি উপরের সিনট্যাক্স বাস্তবায়ন ব্যবহার করে টেবিলটি InnoDB বা MyISAM ব্যবহার করছে তা জানতে পারেন। আমাদের ডাটাবেস হল 'পরীক্ষা'।
একই −
এর জন্য ক্যোয়ারীটি নিম্নরূপmysql> information_schema.tables থেকে ইঞ্জিন নির্বাচন করুন -> যেখানে table_schema ='test' -> এবং table_name ='StudentInformations';
নিচের আউটপুট −
<প্রে>+---------+| ইঞ্জিন |+---------+| InnoDB |+-------+1 সারি সেটে (0.05 সেকেন্ড)Alter কমান্ড ব্যবহার করে 'StudentInformations' টেবিলের ইঞ্জিন পরিবর্তন করুন। যেকোন টেবিলের ইঞ্জিন পরিবর্তন করতে সিনট্যাক্স নিম্নরূপ।
আপনার টেবিলের নাম ইঞ্জিন ='আপনার ইঞ্জিনের নাম';
এখন ইঞ্জিন InnoDB কে MyISAM এ পরিবর্তন করা যাক। প্রশ্নটি নিম্নরূপ -
mysql> সারণী পরিবর্তন করুন StudentInformations ENGINE ='MyISAM';কোয়েরি ঠিক আছে, 6টি সারি প্রভাবিত (1.84 সেকেন্ড)রেকর্ড − 6 ডুপ্লিকেট − 0 সতর্কবাণী − 0
উপরে প্রদর্শিত ফলাফল দেখায় যে 6টি সারি প্রভাবিত হয়েছে কারণ টেবিলে 6টি সারি রয়েছে৷
টেবিলটি InnoDB থেকে MyISAM-এ রূপান্তরিত হয়েছে কিনা তা পরীক্ষা করার জন্য, নিচের প্রশ্নটি হল -
mysql> information_schema.tables-> থেকে ইঞ্জিন নির্বাচন করুন যেখানে table_schema ='test'-> এবং table_name ='StudentInformations';
এখানে ইঞ্জিন সফলভাবে আপডেট করা হয়েছে প্রদর্শিত আউটপুট −
<প্রে>+---------+| ইঞ্জিন |+---------+| MyISAM |+---------+1 সারি সেটে (0.00 সেকেন্ড)