MySQL د ډیری ساحې پوستونو زیاتولو لپاره اضافه کول بدلوي؟ د اصالح کولو کالم بیان کارولو مفصل وضاحت

مای د ډیرو ساحوي پوستونو د زیاتولو لپاره اضافه کول بدل کړئ؟ د کالم بیان د تعدیل کارولو مفصل وضاحت

مای د 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)

د میز ساحې ړنګ کړئ، اضافه کړئ یا بدل کړئ

لاندې کمانډ د DROP بند سره د ALTER کمانډ کاروي ترڅو پورته رامینځته شوي جدول i کالم پریږدي:

mysql> ALTER TABLE testalter_tbl  DROP i;

تاسو نشئ کولی د یوې ساحې حذف کولو لپاره DROP وکاروئ که چیرې د ډیټا جدول کې یوازې یوه ساحه پاتې وي.

د ADD فقره په MySQL کې د ډیټا جدول ته د کالمونو اضافه کولو لپاره کارول کیږي. لاندې مثال په جدول کې i فیلډ اضافه کوي testalter_tbl او د معلوماتو ډول تعریفوي:

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)

که تاسو د نوي ساحې موقعیت مشخص کولو ته اړتیا لرئ، تاسو کولی شئ د مای ایس کیو ایل لخوا چمتو شوي FIRST کلیدي کلمه وکاروئ (سیټځای ورکوللومړی کالم)، د ساحې نوم وروسته (د ساحې وروسته ټاکل شوی).

لاندې ALTER TABLE بیان هڅه وکړئ، او د بریالي اجرا کولو وروسته، د میز په جوړښت کې د بدلونونو لیدلو لپاره د کالمونو ښودلو څخه کار واخلئ:

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;

لومړی او وروسته کلیدي کلمې یوازې د ADD بند کې کارول کیږي ، نو که تاسو غواړئ د ډیټا میز ساحې موقعیت له سره تنظیم کړئ ، نو تاسو اړتیا لرئ لومړی د ساحې حذف کولو لپاره DROP وکاروئ او بیا د ساحې اضافه کولو او موقعیت تنظیم کولو لپاره ADD وکاروئ.


د ساحې ډول او نوم بدل کړئ

که تاسو د ساحې ډول او نوم بدلولو ته اړتیا لرئ، تاسو کولی شئ د ALTER کمانډ کې د MODIFY یا CHANGE بند وکاروئ.

د مثال په توګه، د CHAR (1) څخه CHAR (10) ته د فیلډ ډول بدلولو لپاره، لاندې کمانډ اجرا کړئ:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

د CHANGE بند سره، نحو خورا توپیر لري.سمدلاسه وروسته د 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 ته بدلوو:

یادونه:د ډیټا جدول ډول لیدو لپاره ، تاسو کولی شئ د شو جدول حالت بیان وکاروئ.

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;

بهرنۍ کلیدي خنډ لرې کړئ: د کلیدي نوم یو بهرني کلیدي عرف دی

alter table tableName drop foreign key keyName;

د تعدیل شوي ساحې اړوند موقعیت: دلته نوم 1 هغه ساحه ده چې تاسو یې غواړئ بدل کړئ، ډول 1 د ساحې اصلي ډول دی، او تاسو کولی شئ لومړی او وروسته یو غوره کړئ، کوم چې باید څرګند وي، لومړی لومړی ځای پرځای شوی، او وروسته دی. د name2 ساحې وروسته ځای په ځای شوی

alter table tableName modify name1 type1 first|after name2;

امید چن وییلینګ بلاګ ( https://www.chenweiliang.com/ ) شریک کړل "MySQL د ډیری ساحې پوستونو زیاتولو لپاره اضافه کول؟ د تعدیل کالم بیان د کارونې مفصل وضاحت" ستاسو لپاره ګټور دی.

د دې مقالې لینک شریکولو ته ښه راغلاست:https://www.chenweiliang.com/cwl-495.html

د وروستي تازه معلوماتو ترلاسه کولو لپاره د چن ویلیانګ بلاګ ټیلیګرام چینل ته ښه راغلاست!

🔔 د چینل غوره لارښود کې د ارزښتناکه "ChatGPT مینځپانګې بازار موندنې AI وسیلې کارولو لارښود" ترلاسه کولو لپاره لومړی اوسئ! 🌟
📚 دا لارښود لوی ارزښت لري، 🌟دا یو نادر فرصت دی، له لاسه مه ورکوئ! ⏰⌛💨
که مو خوښه شوه لایک او شریک کړئ!
ستاسو شریکول او خوښول زموږ دوامداره هڅونه ده!

 

评论 评论

ستاسو د بریښنالیک آدرس به نشر نشي اړین ساحې کارول کیږي * لیبل

پورته ته سکرول