📜  MySQL变更表

📅  最后修改于: 2020-11-17 02:08:54             🧑  作者: Mango

MySQL ALTER表

当您想更改表或任何表字段的名称时,使用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等)。

第一| 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_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;

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)表中的DROP列

句法:

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)RENAME表

句法:

ALTER TABLE table_name
RENAME TO new_table_name;

例:

在此示例中,表名称cus_tbl重命名为cus_table。

ALTER TABLE cus_tbl
RENAME TO cus_table;

输出:

请参阅重命名的表: