MySQL 修改表

当您想要更改表或任何表字段的名称时,使用 MySQL ALTER 语句。它还用于添加或删除表中的现有列。

ALTER 语句要根据情况与“ADD”、“DROP”和“MODIFY”命令一起使用。

一、在MySQL的表中添加一列

语法

ALTER TABLE table_name  
ADD new_column_name column_definition  
[ FIRST | AFTER column_name ];  

参数说明

  1. table_name:指定要修改的表的名称。
  2. new_column_name:指定要添加到表中的新列的名称。
  3. column_definition:指定列的数据类型和定义(NULL 或 NOT NULL 等)。
  4. FIRST | AFTER column_name:这是可选的。它告诉 MySQL 在表中的哪个位置创建列。如果未指定此参数,则新列将添加到表的末尾。

 示例

在此示例中,我们在现有表“cus_tbl”中添加了一个新列“cus_age”。

使用以下查询来执行此操作:

ALTER TABLE cus_tbl  
ADD cus_age varchar(40) NOT NULL; 

输出结果如下:

查看新增的列:

SELECT* FROM cus_tbl;  

输出结果为:

二、在MySQL表中添加多列

语法

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 列之后添加。

使用以下SQL来执行此操作:

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;  

输出结果为:

三、修改MySQL表中的列

MODIFY 命令用于更改表的列定义。

语法

ALTER TABLE table_name  
MODIFY column_name column_definition  
[ FIRST | AFTER column_name ];

示例

在此示例中,我们将 cus_surname 列修改为 varchar(50) 的数据类型,并强制该列允许 NULL 值。

使用以下SQL来执行此操作:

ALTER TABLE cus_tbl  
MODIFY cus_surname varchar(50) NULL;  

查看表结构

四、在MySQL的表中删除列

语法

ALTER TABLE table_name  
DROP COLUMN column_name;  

让我们举个例子,从表“cus_tbl”中删除列名“cus_address”。

使用以下SQL来执行此操作:

ALTER TABLE cus_tbl  
DROP COLUMN cus_address; 

输出结果为

查看表结构

五、MySQL表的列重命名

语法

ALTER TABLE table_name  
CHANGE COLUMN old_name new_name   
column_definition  
[ FIRST | AFTER column_name ]  

示例

在本例中,我们将列名“cus_surname”更改为“cus_title”。

使用以下SQL来执行此操作:

ALTER TABLE  cus_tbl  
CHANGE COLUMN cus_surname cus_title  
varchar(20) NOT NULL;  

输出结果为

六、MySQL的表重命名

语法

ALTER TABLE table_name  
RENAME TO new_table_name;  

示例

在本例中,表名 cus_tbl 被重命名为 cus_table。

ALTER TABLE cus_tbl  
RENAME TO cus_table;  

输出结果为

查看修改后的表

热门文章

优秀文章