Skip to content

MySQL 命令修改数据表

修改数据表名称

sql
命令 : ALTER TABLE 旧的表名 RENAME TO 新的表名;

使用这条命令将 item_name 数据库中的 student 表修改成 new_student

执行结果如下图

2025-05-22-21-01-20.png

查看建表 sql 语句

修改表字段类型命令

sql
 命令 : SHOW CREATE table_name;

执行结果如下图

2025-05-22-21-14-41.png

上图所示 “new_student” 为表名,建表语句为

sql
CREATE TABLE `new_student` (
  `id` int(10) unsigned NOT NULL AUTO\_INCREMENT,
  `name` varchar(50) NOT NULL DEFAULT '无名',
  `age` int(10) unsigned NOT NULL DEFAULT '0',
  `id_number` varchar(18) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

其中 “student” 为表名称,“id”、“name”、“age”、"id_number"为字段名称,
跟在字段名称后面的是字段的数据类型,“UNSIGNED” 表示无符号,
"AUTO_INCREMENT"表示自增,
"PRIMARY KEY (id)"表示设置 “id” 为业务主键,
"NOT NULL DEFAULT ‘无名’“表示默认不为空。且默认值为"无名”。

修改表字段数据类型

以上面 “new_student” 表的 “name” 字段为例,将varchar 类型修改为 char类型

sql
ALTER TABLE `new_student` 
MODIFY COLUMN `name` char(50) CHARACTER 
SET utf8 COLLATE utf8_general_ci 
NOT NULL DEFAULT '无名' AFTER `id`;

其中 “CHARACTER SET utf8 COLLATE utf8_general_ci” 为新字段类型的字符集和编排方式,默认值为 “无名”,"AFTER id" 表示跟在 id 字段后面。

执行结果如下图 2025-05-22-21-53-20.png

Tips:参照上面修改命令格式,将 name 字段数据类型改为 int 命令

sql
ALTER TABLE new_student MODIFY COLUMN name int(10) NOT NULL DEFAULT '无名' AFTER id;

新增表字段

以新增性别字段为例

sql
 ALTER TABLE `new_student` 
ADD COLUMN `sex` tinyint(2) UNSIGNED NOT NULL DEFAULT 1 COMMENT '性别 : 1:男 2:女' AFTER `id_number`;

执行结果如下图

2025-05-22-21-54-46.png

Tips:其中COMMENT '性别 : 1:男 2:女' 表示该字段的注释说明;

删除表字段

以删除上面性别字段为例

sql
ALTER TABLE `new_student` 
DROP COLUMN `sex`;

执行结果如下图 2025-05-22-21-56-15.png

修改表字段名称

name 字段改为 new_name 为例

sql
ALTER TABLE `new_student` 
CHANGE COLUMN `name` `new_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '无名' AFTER `id`;

执行结果如下图 2025-05-22-21-57-02.png

修改表字段默认值

以修改 new_name 字段默认值为例

sql
ALTER TABLE `new_student` 
MODIFY COLUMN `new_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '小花' AFTER `id`;

执行结果如下图 2025-05-22-21-57-51.png

删除数据表

sql
 DROP TABLE new_student;

item_name 数据库中的 new_student数据表删除掉

执行结果如下图 2025-05-22-22-11-39.png

最近更新