当您想要更改表名或任何表字段时,使用 MySQL ALTER 语句。它还用于添加或删除表中的现有列。
ALTER 语句总是根据情况与“ADD”、“DROP”和“MODIFY”命令一起使用。
1)在表中添加一列
句法:
ALTER TABLE table_name
ADD new_column_name column_definition
[ FIRST | AFTER column_name ];
参数
table_name:指定要修改的表名。
new_column_name:它指定要添加到表中的新列的名称。
column_definition:指定列的数据类型和定义(NULL 或 NOT NULL 等)。
FIRST | AFTER column_name:它是可选的。它告诉 MySQL 在表中的哪个位置创建列。如果未指定此参数,则新列将添加到表的末尾。
例子:
在本例中,我们在现有表“cus_tbl”中添加了一个新列“cus_age”。
使用以下查询来执行此操作:
ALTER TABLE cus_tbl
ADD cus_age varchar(40) NOT NULL;
输出:
查看最近添加的列:
SELECT* FROM cus_tbl;
输出:
2)在表中添加多列
句法:
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_address 添加在 cus_surname 列之后,cus_salary 添加在 cus_age 列之后。
使用以下查询来执行此操作:
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;
3)修改表中的列
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;
见表结构:
4) 表中的 删除 列
句法:
ALTER TABLE table_name
DROP COLUMN column_name;
让我们举一个例子,从表“cus_tbl”中删除列名“cus_address”。
使用以下查询来执行此操作:
ALTER TABLE cus_tbl
DROP COLUMN cus_address;
输出:
见表结构:
5) RENAME 表中的列
句法:
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;
输出:
6) 重命名表
句法:
ALTER TABLE table_name
RENAME TO new_table_name;
例子:
在本例中,表名 cus_tbl 被重命名为 cus_table。
ALTER TABLE cus_tbl
RENAME TO cus_table;
输出:
查看重命名的表: