নিবন্ধ ডিরেক্টরি
মাইএসকিউএল একাধিক ক্ষেত্রের অবস্থান বাড়ানোর জন্য যোগ পরিবর্তন করুন? পরিবর্তন কলাম বিবৃতি ব্যবহারের বিস্তারিত ব্যাখ্যা
মাইএসকিউএল ALTER কমান্ড
যখন আমাদের ডেটা টেবিলের নাম পরিবর্তন করতে হবে বা ডেটা টেবিলের ক্ষেত্রগুলি পরিবর্তন করতে হবে, তখন আমাদের MySQL ALTER কমান্ডটি ব্যবহার করতে হবে।
এই টিউটোরিয়ালটি শুরু করার আগে, আসুন testalter_tbl নামে একটি টেবিল তৈরি করি।
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
টেবিল ক্ষেত্রগুলি মুছুন, যোগ করুন বা সংশোধন করুন
উপরের তৈরি টেবিলের i কলামটি ড্রপ করতে নিম্নলিখিত কমান্ডটি DROP ক্লজের সাথে ALTER কমান্ড ব্যবহার করে:
mysql> ALTER TABLE testalter_tbl DROP i;
ডেটা টেবিলে শুধুমাত্র একটি ক্ষেত্র অবশিষ্ট থাকলে একটি ক্ষেত্র মুছে ফেলার জন্য DROP ব্যবহার করা যাবে না।
ডেটা টেবিলে কলাম যোগ করতে MySQL-এ ADD ক্লজ ব্যবহার করা হয়। নিম্নলিখিত উদাহরণটি টেবিল testalter_tbl-এ i ক্ষেত্র যোগ করে এবং ডেটা টাইপ সংজ্ঞায়িত করে:
mysql> ALTER TABLE testalter_tbl ADD i INT;
উপরের কমান্ডটি কার্যকর করার পরে, i ক্ষেত্রটি স্বয়ংক্রিয়ভাবে ডেটা টেবিল ক্ষেত্রগুলির শেষে যুক্ত হয়।
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
আপনি যদি নতুন ক্ষেত্রের অবস্থান নির্দিষ্ট করতে চান, আপনি MySQL দ্বারা প্রদত্ত FIRST কীওয়ার্ডটি ব্যবহার করতে পারেন (সেটপজিশনিংপ্রথম কলাম), AFTER ক্ষেত্রের নাম (একটি ক্ষেত্রের পরে সেট)।
নিম্নলিখিত ALTER TABLE বিবৃতিটি চেষ্টা করুন এবং সফলভাবে সম্পাদনের পরে, টেবিলের কাঠামোর পরিবর্তনগুলি দেখতে SHOW COLUMNS ব্যবহার করুন:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
FIRST এবং AFTER কীওয়ার্ডগুলি শুধুমাত্র ADD ক্লজে ব্যবহার করা হয়, তাই আপনি যদি একটি ডেটা টেবিল ফিল্ডের অবস্থান পুনরায় সেট করতে চান, তাহলে আপনাকে প্রথমে ক্ষেত্রটি মুছে ফেলার জন্য DROP ব্যবহার করতে হবে এবং তারপর ক্ষেত্র যোগ করতে এবং অবস্থান সেট করতে ADD ব্যবহার করতে হবে।
ক্ষেত্রের ধরন এবং নাম পরিবর্তন করুন
আপনি যদি ক্ষেত্রের ধরন এবং নাম পরিবর্তন করতে চান, তাহলে আপনি ALTER কমান্ডে MODIFY বা CHANGE ক্লজ ব্যবহার করতে পারেন।
উদাহরণ স্বরূপ, CHAR(1) থেকে CHAR(10) এ ক্ষেত্র c-এর ধরন পরিবর্তন করতে, নিম্নলিখিত কমান্ডটি চালান:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
CHANGE ক্লজের সাথে, সিনট্যাক্স খুব আলাদা।পরিবর্তন কীওয়ার্ডের পরপরই আপনি যে ক্ষেত্রের নাম পরিবর্তন করতে চান তার নাম, এবং তারপর নতুন ক্ষেত্রের নাম এবং টাইপ নির্দিষ্ট করুন।নিম্নলিখিত উদাহরণ চেষ্টা করুন:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
শূন্য এবং ডিফল্ট মানগুলিতে ALTER TABLE এর প্রভাব৷
যখন আপনি একটি ক্ষেত্র পরিবর্তন করেন, আপনি নির্দিষ্ট করতে পারেন শুধুমাত্র অন্তর্ভুক্ত করতে হবে নাকি একটি ডিফল্ট মান সেট করতে হবে।
নিম্নলিখিত উদাহরণটি নির্দিষ্ট করে যে ক্ষেত্র j শূন্য নয় এবং ডিফল্ট মান হল 100।
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
আপনি একটি ডিফল্ট মান সেট না করলে, MySQL স্বয়ংক্রিয়ভাবে ক্ষেত্রটিকে ডিফল্টরূপে NULL এ সেট করবে।
ক্ষেত্রের ডিফল্ট মান পরিবর্তন করুন
আপনি একটি ক্ষেত্রের ডিফল্ট মান পরিবর্তন করতে ALTER ব্যবহার করতে পারেন, নিম্নলিখিত উদাহরণগুলি চেষ্টা করুন:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
আপনি একটি ক্ষেত্রের ডিফল্ট মান অপসারণ করতে DROP ক্লজের সাথে ALTER কমান্ডটিও ব্যবহার করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে রয়েছে:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
ডাটা টেবিলের ধরন পরিবর্তন করা ALTER কমান্ড এবং TYPE ক্লজ ব্যবহার করে করা যেতে পারে।নিম্নলিখিত উদাহরণটি চেষ্টা করুন, যেখানে আমরা টেবিলের প্রকার testalter_tbl কে MYISAM এ পরিবর্তন করি:
দ্রষ্টব্য:ডাটা টেবিল টাইপ দেখতে, আপনি SHOW TABLE STATUS স্টেটমেন্ট ব্যবহার করতে পারেন।
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
টেবিলের নাম পরিবর্তন করুন
আপনি যদি ডেটা টেবিলের নাম পরিবর্তন করতে চান, তাহলে আপনি তা করতে ALTER TABLE বিবৃতিতে RENAME ক্লজ ব্যবহার করতে পারেন।
ডাটা টেবিল testalter_tbl এর নাম পরিবর্তন করে alter_tbl করার জন্য নিম্নলিখিত উদাহরণটি চেষ্টা করুন:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
ALTER কমান্ডটি MySQL ডেটা টেবিলে সূচী তৈরি এবং মুছতেও ব্যবহার করা যেতে পারে, যা আমরা পরবর্তী অধ্যায়ে উপস্থাপন করব।
অন্যান্য ব্যবহার পরিবর্তন করুন
স্টোরেজ ইঞ্জিনটি পরিবর্তন করুন: এটিকে মাইসামে পরিবর্তন করুন
alter table tableName engine=myisam;
বিদেশী কী সীমাবদ্ধতা সরান: keyName একটি বিদেশী কী উপনাম
alter table tableName drop foreign key keyName;
পরিবর্তিত ক্ষেত্রের আপেক্ষিক অবস্থান: এখানে name1 হল সংশোধন করা ক্ষেত্র, টাইপ1 হল ক্ষেত্রের আসল ধরন, প্রথমে এবং পরে নির্বাচন করা যেতে পারে, যা স্পষ্ট হওয়া উচিত, প্রথমে প্রথমে রাখা হয় এবং name2 এর পরে পরে রাখা হয় ক্ষেত্র
alter table tableName modify name1 type1 first|after name2;
হোপ চেন উইলিয়াং ব্লগ ( https://www.chenweiliang.com/ ) শেয়ার করেছেন "মাল্টিপল ফিল্ড পজিশন বাড়ানোর জন্য মাইএসকিউএল পরিবর্তন করে? মডিফাই কলাম স্টেটমেন্টের ব্যবহারের বিস্তারিত ব্যাখ্যা" আপনার জন্য সহায়ক।
এই নিবন্ধটির লিঙ্ক শেয়ার করতে স্বাগতম:https://www.chenweiliang.com/cwl-495.html
সর্বশেষ আপডেট পেতে চেন ওয়েইলিয়াং এর ব্লগের টেলিগ্রাম চ্যানেলে স্বাগতম!
📚 এই গাইডটিতে বিশাল মূল্য রয়েছে, 🌟এটি একটি বিরল সুযোগ, এটি মিস করবেন না! ⏰⌛💨
ভালো লাগলে শেয়ার এবং লাইক করুন!
আপনার শেয়ার এবং লাইক আমাদের ক্রমাগত অনুপ্রেরণা!