📅  最后修改于: 2020-11-17 02:08:54             🧑  作者: Mango
当您想更改表或任何表字段的名称时,使用MySQL ALTER语句。它还用于添加或删除表中的现有列。
根据情况,ALTER语句始终与“ ADD”,“ DROP”和“ MODIFY”命令一起使用。
句法:
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ];
table_name:它指定要修改的表的名称。
new_column_name:它指定要添加到表中的新列的名称。
column_definition:指定列的数据类型和定义(NULL或NOT NULL等)。
第一| AFTER column_name:可选。它告诉MySQL在表中的何处创建该列。如果未指定此参数,则新列将添加到表的末尾。
例:
在此示例中,我们在现有表“ cus_tbl”中添加了新列“ cus_age”。
使用以下查询执行此操作:
ALTER TABLE cus_tbl
ADD cus_age varchar(40) NOT NULL;
输出:
请参阅最近添加的列:
SELECT* FROM cus_tbl;
输出:
句法:
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
ADD new_column_name column_definition
[ FIRST | AFTER column_name ],
...
;
例:
在此示例中,我们在现有表“ cus_tbl”中添加了两个新列“ cus_address”和cus_salary。在cus_surname列之后添加cus_address,在cus_age列之后添加cus_salary。
使用以下查询执行此操作:
ALTER TABLE cus_tbl
ADD cus_address varchar(100) NOT NULL
AFTER cus_surname,
ADD cus_salary int(100) NOT NULL
AFTER cus_age ;
请参阅最近添加的列:
SELECT* FROM cus_tbl;
MODIFY命令用于更改表的列定义。
句法:
ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name ];
例:
在此示例中,我们将cus_surname列修改为varchar(50)的数据类型,并强制该列允许使用NULL值。
使用以下查询执行此操作:
ALTER TABLE cus_tbl
MODIFY cus_surname varchar(50) NULL;
请参阅表结构:
句法:
ALTER TABLE table_name
DROP COLUMN column_name;
让我们以一个示例为例,从表“ cus_tbl”中删除列名称“ cus_address”。
使用以下查询执行此操作:
ALTER TABLE cus_tbl
DROP COLUMN cus_address;
输出:
请参阅表结构:
句法:
ALTER TABLE table_name
CHANGE COLUMN old_name new_name
column_definition
[ FIRST | AFTER column_name ]
例:
在此示例中,我们将列名“ cus_surname”更改为“ cus_title”。
使用以下查询执行此操作:
ALTER TABLE cus_tbl
CHANGE COLUMN cus_surname cus_title
varchar(20) NOT NULL;
输出:
句法:
ALTER TABLE table_name
RENAME TO new_table_name;
例:
在此示例中,表名称cus_tbl重命名为cus_table。
ALTER TABLE cus_tbl
RENAME TO cus_table;
输出:
请参阅重命名的表: