دليل المادة
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 للحصول على آخر التحديثات!
📚 يحتوي هذا الدليل على قيمة كبيرة، 🌟هذه فرصة نادرة، لا تفوتها! ⏰⌛💨
شارك و اعجبك اذا اردت
مشاركتك وإعجاباتك هي دافعنا المستمر!