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

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

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 өріс атауы (өрістен кейін орнатылады).

Келесі 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 етіп өзгертетін келесі мысалды қолданып көріңіз:

Ескерту:Деректер кестесінің түрін көру үшін КЕСТЕ КҮЙІН КӨРСЕТУ операторын пайдалануға болады.

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;

Hope Chen Weiliang блогы ( https://www.chenweiliang.com/ ) бөлісті "MySQL бірнеше өріс орындарын көбейту үшін қосуды өзгерту керек пе? Бағанды ​​өзгерту туралы мәлімдемені пайдалану туралы егжей-тегжейлі түсініктеме» сізге пайдалы.

Осы мақаланың сілтемесін бөлісуге қош келдіңіз:https://www.chenweiliang.com/cwl-495.html

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

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

 

Пікірлер

Электрондық пошта мекенжайыңыз жарияланбайды. 必填 项 已 用 * 标注

Мақала анықтамалығы
Топ Scroll