মাইএসকিউএল একাধিক ফিল্ড পজিশন বাড়ানোর জন্য যোগ পরিবর্তন করে? পরিবর্তন কলাম বিবৃতি ব্যবহারের বিস্তারিত ব্যাখ্যা

MySQL-এর `ALTER ALTER ADD` স্টেটমেন্ট ব্যবহার করে কীভাবে একাধিক ফিল্ড যোগ করবেন ? `MODIUS Column` স্টেটমেন্টের বিস্তারিত ব্যাখ্যা।

মাইএসকিউএল 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 field_name (যা একটি নির্দিষ্ট ফিল্ডের পরে সেট করা হয়) কীওয়ার্ডগুলো ব্যবহার করতে পারেন।

নিম্নলিখিত 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/ ) শেয়ার করা "AlTER TABLE ব্যবহার করে MySQL-এ একাধিক ফিল্ড যোগ করা? 'MODIATE COLLECT' স্টেটমেন্টের বিস্তারিত ব্যাখ্যা" শীর্ষক আর্টিকেলটি আপনার জন্য সহায়ক হবে।

এই নিবন্ধটির লিঙ্কটি নির্দ্বিধায় শেয়ার করুন: https://www.chenweiliang.com/cwl-495.html

আরও লুকানো কৌশল 🔑 জানতে, আমাদের টেলিগ্রাম চ্যানেলে যোগদান করতে স্বাগতম!

ভালো লাগলে শেয়ার এবং লাইক করুন! আপনার শেয়ার এবং লাইক আমাদের অব্যাহত অনুপ্রেরণা!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

উপরে যান