Katalog artykułów
MySQL zmienić dodać, aby zwiększyć wiele pozycji pola? Szczegółowe wyjaśnienie użycia instrukcji modyfikacji kolumny
MySQL ZMIEŃ, polecenie
Kiedy musimy zmodyfikować nazwę tabeli danych lub zmodyfikować pola tabeli danych, musimy użyć polecenia MySQL ALTER.
Przed rozpoczęciem tego samouczka utwórzmy tabelę o nazwie: 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)
Usuń, dodaj lub zmodyfikuj pola tabeli
Poniższe polecenie używa polecenia ALTER z klauzulą DROP w celu usunięcia kolumny i tabeli utworzonej powyżej:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP nie może być użyty do usunięcia pola, jeśli w tabeli danych pozostało tylko jedno pole.
Klauzula ADD jest używana w MySQL do dodawania kolumn do tabeli danych Poniższy przykład dodaje pole i do tabeli testalter_tbl i definiuje typ danych:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Po wykonaniu powyższego polecenia, pole i jest automatycznie dodawane na końcu pól tabeli danych.
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)
Jeśli chcesz określić lokalizację nowego pola, możesz użyć słowa kluczowego FIRST dostarczonego przez MySQL (setPozycjonowaniepierwsza kolumna), AFTER nazwa pola (ustawiona po polu).
Wypróbuj następującą instrukcję ALTER TABLE, a po pomyślnym wykonaniu użyj polecenia SHOW COLUMNS, aby wyświetlić zmiany w strukturze tabeli:
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;
Słowa kluczowe FIRST i AFTER są używane tylko w klauzuli ADD, więc jeśli chcesz zresetować pozycję pola tabeli danych, musisz użyć DROP, aby usunąć pole, a następnie użyć ADD, aby dodać pole i ustawić pozycję.
Zmień typ i nazwę pola
Jeśli musisz zmodyfikować typ i nazwę pola, możesz użyć klauzuli MODIFY lub CHANGE w poleceniu ALTER.
Na przykład, aby zmienić typ pola c z CHAR(1) na CHAR(10), wykonaj następujące polecenie:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
W przypadku klauzuli CHANGE składnia jest zupełnie inna.Zaraz po słowie kluczowym CHANGE znajduje się nazwa pola, które chcesz zmodyfikować, a następnie określ nazwę i typ nowego pola.Wypróbuj następujący przykład:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Wpływ ALTER TABLE na wartości zerowe i domyślne
Podczas modyfikowania pola można określić, czy uwzględniać tylko, czy ustawić wartość domyślną.
Poniższy przykład określa, że pole j nie ma wartości NULL, a wartość domyślna to 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Jeśli nie ustawisz wartości domyślnej, MySQL automatycznie ustawi to pole na NULL domyślnie.
Zmień domyślną wartość pola
Możesz użyć ALTER, aby zmienić domyślną wartość pola, wypróbuj następujące przykłady:
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)
Możesz również użyć polecenia ALTER z klauzulą DROP, aby usunąć domyślną wartość pola, jak w poniższym przykładzie:
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:
Modyfikację typu tabeli danych można wykonać za pomocą polecenia ALTER i klauzuli TYPE.Wypróbuj poniższy przykład, w którym zmieniamy typ tabeli testalter_tbl na MYISAM:
Uwaga:Aby wyświetlić typ tabeli danych, możesz użyć instrukcji 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)
Zmień nazwę tabeli
Jeśli musisz zmodyfikować nazwę tabeli danych, możesz w tym celu użyć klauzuli RENAME w instrukcji ALTER TABLE.
Wypróbuj poniższy przykład, aby zmienić nazwę tabeli danych testalter_tbl na alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Polecenie ALTER może być również używane do tworzenia i usuwania indeksów w tabelach danych MySQL, o których wprowadzimy w następnych rozdziałach.
zmienić inne zastosowania
Zmodyfikuj silnik pamięci: zmodyfikuj go na myisam
alter table tableName engine=myisam;
Usuń ograniczenie klucza obcego: keyName jest aliasem klucza obcego
alter table tableName drop foreign key keyName;
Względna pozycja modyfikowanego pola: tutaj nazwa1 to pole, które chcesz zmodyfikować, typ1 to pierwotny typ pola, możesz wybrać jedno z pierwszych i kolejnych, co powinno być oczywiste, pierwsze jest umieszczane jako pierwsze, a po jest umieszczony po polu name2
alter table tableName modify name1 type1 first|after name2;
Nadzieja Chen Weiliang Blog ( https://www.chenweiliang.com/ ) udostępniono "MySQL alter add to zwiększenie wielu pozycji pól? Szczegółowe wyjaśnienie użycia instrukcji „Modyfikuj kolumnę” jest dla Ciebie pomocne.
Zapraszamy do udostępnienia linku do tego artykułu:https://www.chenweiliang.com/cwl-495.html
Aby odblokować więcej ukrytych sztuczek🔑, zapraszamy do dołączenia do naszego kanału Telegram!
Udostępnij i polub jeśli Ci się podoba! Twoje udostępnienia i polubienia są naszą ciągłą motywacją!