MySQL бірнеше өріс орындарын көбейту үшін қосуды өзгерту керек пе? Бағанды ​​өзгерту мәлімдемесін қолданудың толық түсіндірмесі

MySQL `ALTER ALTER ADD` операторын пайдаланып бірнеше өрісті қалай қосуға болады ? `MODIUS Column` операторының толық түсіндірмесі.

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)

Кесте өрістерін жою, қосу немесе өзгерту

Келесі пәрмен жоғарыда жасалған кестенің i бағанын тастау үшін DROP сөйлемі бар ALTER пәрменін пайдаланады:

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 ұсынған FIRST ( бірінші бағанға орнатылған) және AFTER field_name (белгілі бір өрістен кейін орнатылады) кілт сөздерін пайдалануға болады.

Келесі 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;

FIRST және AFTER кілт сөздері тек ҚОСУ тармағында пайдаланылады, сондықтан деректер кестесі өрісінің орнын қалпына келтіргіңіз келсе, өрісті жою үшін алдымен DROP, содан кейін өрісті қосу және орынды орнату үшін ҚОСУ пернесін пайдалану керек.


Өріс түрі мен атауын өзгерту

Өріс түрін және атын өзгерту қажет болса, ALTER пәрменіндегі MODIFY немесе CHANGE сөйлемін пайдалануға болады.

Мысалы, 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 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 деректер кестелерінде индекстерді жасау және жою үшін де пайдалануға болады, біз оны келесі тарауларда таныстырамыз.

басқа пайдалануды өзгертеді

Сақтау механизмін өзгерту: оны myisam түріне өзгерту

alter table tableName engine=myisam;

Шетелдік кілт шектеуін алып тастаңыз: keyName - сыртқы кілт бүркеншік аты

alter table tableName drop foreign key keyName;

Өзгертілген өрістің салыстырмалы орны: мұндағы name1 - өзгертілетін өріс, тип1 - өрістің бастапқы түрі, бірінші және кейінгі таңдалуы мүмкін, ол анық болуы керек, біріншісі бірінші, ал кейін атауы2-ден кейін орналасады. өріс

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

Көбірек жасырын трюктердің құлпын ашу үшін🔑 Telegram каналымызға қосылыңыз!

Бөлісу және ұнаса лайк! Сіздің бөлісулеріңіз бен лайктарыңыз біздің тұрақты мотивациямыз болып табылады!

 

Пікірлер

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

Топ Scroll