修改列字段 名(RENAME TO)
- ALTER TABLE … RENAME … TO 语句只用于修改列字段名,如果目标表不存在,或者重命名目标表为已存在的表名称,系统均会返回异常
- 可以加上 IF EXISTS 语句
语法
ALTER TABLE [IF EXISTS] <tbl_name>
RENAME [COLUMN] <old_tbl_name> TO <new_tbl_name> ;
参数 |
描述 |
<tbl_name> |
数据表名 |
<old_tbl_name> |
旧数据表名 |
<old_tbl_name>> |
新数据表名 |
示例
mysql> ALTER TABLE tb_emp1
-> RENAME TO tb_test;
Query OK, 0 rows affected (0.1 sec)
Records: 0 Duplicates: 0 Warnings: 0
- 外部表的重命名
示例
mysql> ALTER FOREIGN TABLE tb_student
-> RENAME TO tb_school;
Query OK, 0 rows affected (0.1 sec)
Records: 0 Duplicates: 0 Warnings: 0
修改列字段 属性(MODIFY)
- ALTER TABLE … MODIFY 语句用于更改改变表的列字段属性
语法
ALTER TABLE [IF EXISTS] <tbl_name>
MODIFY [COLUMN] <column_name> column_definition
[FIRST | AFTER column_name] ;
参数 |
描述 |
<tbl_name> |
数据表名 |
<column_name> |
列字段名 |
column_definition |
列字段属性,数据类型、约束条件 |
FIRST |
在列字段的头部插入 |
AFTER <column_name> |
在列字段后插入 |
示例
mysql> ALTER TABLE tb_emp1
-> MODIFY name VARCHAR(30);
Query OK, 0 rows affected (0.15 sec)
Records: 0 Duplicates: 0 Warnings: 0
注
不设置 FIRST | AFTER column_name 时,默认在末尾插入列字段
修改列字段 名称+属性(CHANGE)
- ALTER TABLE … CHANGE 语句可以在修改时更改表的名称和属性
语法
ALTER TABLE [IF EXISTS] <tbl_name>
CHANGE [COLUMN] <old_col_name> <new_col_name> column_definition
[FIRST | AFTER column_name] ;
参数 |
描述 |
<tbl_name> |
数据表名 |
<column_name> |
列字段名 |
<old_col_name> |
旧列字段名 |
<new_col_name> |
新列字段名 |
column_definition |
列字段属性,数据类型、约束条件 |
FIRST |
在列字段的头部插入 |
AFTER <column_name> |
在列字段后插入 |
示例
mysql> ALTER TABLE tb_emp1
-> CHANGE [COLUMN] stu_num stuNo INT NOT NULL FIRST;
Query OK, 0 rows affected (0.15 sec)
Records: 0 Duplicates: 0 Warnings: 0