MySQL 修改表
当您想要更改表或任何表字段的名称时,使用 MySQL ALTER 语句。它还用于添加或删除表中的现有列。
ALTER 语句要根据情况与“ADD”、“DROP”和“MODIFY”命令一起使用。
一、在MySQL的表中添加一列
语法
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;
输出结果为:
二、在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;
输出结果为
查看修改后的表
热门文章
优秀文章