MySQL تغيير إضافة لزيادة مواقع ميدانية متعددة؟ شرح مفصل لاستخدام تعديل بيان العمود

MySQL تغيير إضافة لزيادة مواقع ميدانية متعددة؟ شرح مفصل لاستخدام تعديل بيان العمود

MySQL تغيير الأمر

عندما نحتاج إلى تعديل اسم جدول البيانات أو تعديل حقول جدول البيانات ، نحتاج إلى استخدام أمر 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)

حذف أو إضافة أو تعديل حقول الجدول

يستخدم الأمر التالي الأمر ALTER مع عبارة DROP لإسقاط العمود 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)

إذا كنت بحاجة إلى تحديد موقع الحقل الجديد ، يمكنك استخدام الكلمة الأساسية التي قدمتها MySQL (مجموعةالتمركزالعمود الأول) ، بعد اسم الحقل (تم تعيينه بعد حقل).

جرب عبارة 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;

يتم استخدام الكلمات الأساسية الأولى وبعدها فقط في عبارة إضافة ، لذلك إذا كنت تريد إعادة تعيين موضع حقل جدول البيانات ، فأنت بحاجة أولاً إلى استخدام DROP لحذف الحقل ثم استخدام إضافة لإضافة الحقل وتعيين الموضع.


تعديل نوع الحقل والاسم

إذا كنت بحاجة إلى تعديل نوع الحقل واسمه ، يمكنك استخدام جملة MODIFY أو CHANGE في الأمر ALTER.

على سبيل المثال ، لتغيير نوع الحقل c من 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 ليس NULL والقيمة الافتراضية هي 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)

يمكنك أيضًا استخدام الأمر ALTER مع عبارة DROP لإزالة القيمة الافتراضية للحقل ، كما في المثال التالي:

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.

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)

تعديل اسم الجدول

إذا كنت بحاجة إلى تعديل اسم جدول البيانات ، يمكنك استخدام عبارة RENAME في عبارة ALTER TABLE للقيام بذلك.

جرب المثال التالي لإعادة تسمية جدول البيانات testalter_tbl إلى alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

يمكن أيضًا استخدام الأمر ALTER لإنشاء وحذف الفهارس في جداول بيانات MySQL ، والتي سنقدمها في الفصول التالية.

تغيير الاستخدامات الأخرى

تعديل محرك التخزين: تعديله إلى myisam

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;

مدونة Hope Chen Weiliang ( https://www.chenweiliang.com/ ) شارك "MySQL تغيير إضافة لزيادة مواقع ميدانية متعددة؟ الشرح التفصيلي لاستخدام "تعديل بيان العمود" مفيد لك.

مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-495.html

مرحبًا بك في قناة Telegram الخاصة بمدونة Chen Weiliang للحصول على آخر التحديثات!

🔔 كن أول من يحصل على "دليل استخدام أداة الذكاء الاصطناعي لتسويق محتوى ChatGPT" في الدليل العلوي للقناة! 🌟
📚 يحتوي هذا الدليل على قيمة كبيرة، 🌟هذه فرصة نادرة، لا تفوتها! ⏰⌛💨
شارك و اعجبك اذا اردت
مشاركتك وإعجاباتك هي دافعنا المستمر!

 

发表 评论

لن يتم نشر عنوان بريدك الإلكتروني. 必填 项 已 用 * 标注

انتقل إلى أعلى