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)

Если вам нужно указать местоположение нового поля, вы можете использовать ключевое слово FIRST, предоставленное 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;

Ключевые слова FIRST и AFTER используются только в предложении ADD, поэтому, если вы хотите сбросить позицию поля таблицы данных, вам нужно сначала использовать DROP, чтобы удалить поле, а затем использовать ADD, чтобы добавить поле и установить позицию.


Изменить тип и имя поля

Если вам нужно изменить тип и имя поля, вы можете использовать предложение 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 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)

Изменить имя таблицы

Если вам нужно изменить имя таблицы данных, вы можете использовать для этого предложение 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 — поле, которое нужно изменить, type1 — исходный тип поля, first и after могут быть выбраны, что должно быть очевидным, first помещается первым, а after помещается после name2 поле

alter table tableName modify name1 type1 first|after name2;

Блог Хоуп Чен Вейлян ( https://www.chenweiliang.com/ ) поделился «MySQL изменить добавить, чтобы увеличить несколько позиций поля? Вам будет полезно подробное объяснение использования оператора Modify Column.

Добро пожаловать, чтобы поделиться ссылкой на эту статью:https://www.chenweiliang.com/cwl-495.html

Добро пожаловать на Telegram-канал блога Chen Weiliang, чтобы быть в курсе последних обновлений!

🔔 Будьте первым, кто получит ценное «Руководство по использованию инструмента искусственного интеллекта для контент-маркетинга ChatGPT» в верхнем каталоге канала! 🌟
📚 Это руководство содержит огромную ценность. 🌟Это редкая возможность, не упустите ее! ⏰⌛💨
Делитесь и ставьте лайк, если хотите!
Ваш обмен и лайки - наша постоянная мотивация!

 

发表 评论

Ваш электронный адрес не будет опубликован. 必填 项 已 用 * 标注

滚动 到 顶部