MySQL(7)如何修改表结构?

206 阅读3分钟

修改 MySQL 表结构是数据库管理中的常见操作,可以通过 ALTER TABLE 语句实现。以下是一些常见的修改表结构的操作及示例代码,包括添加列、修改列、删除列、重命名列和重命名表等操作。

连接 MySQL 服务器

首先,连接到 MySQL 服务器,可以使用命令行工具 mysql 或图形化工具如 MySQL Workbench。

使用命令行工具 mysql

mysql -u [username] -p

例如:

mysql -u root -p

输入密码后登录到 MySQL 服务器。

操作一:添加列

使用 ALTER TABLE 语句中的 ADD COLUMN 子句添加新列。

语法

ALTER TABLE table_name ADD COLUMN column_name data_type [constraints];

示例

users 表中添加一个名为 age 的列,数据类型为 INT

ALTER TABLE users ADD COLUMN age INT;

执行示例:

mysql> ALTER TABLE users ADD COLUMN age INT;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

操作二:修改列

使用 ALTER TABLE 语句中的 MODIFY COLUMNCHANGE COLUMN 子句修改列的定义。

修改列的数据类型

ALTER TABLE table_name MODIFY COLUMN column_name new_data_type [constraints];

示例

age 列的数据类型修改为 TINYINT

ALTER TABLE users MODIFY COLUMN age TINYINT;

执行示例:

mysql> ALTER TABLE users MODIFY COLUMN age TINYINT;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

修改列名和数据类型

ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_data_type [constraints];

示例

age 列重命名为 user_age 并修改数据类型为 SMALLINT

ALTER TABLE users CHANGE COLUMN age user_age SMALLINT;

执行示例:

mysql> ALTER TABLE users CHANGE COLUMN age user_age SMALLINT;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

操作三:删除列

使用 ALTER TABLE 语句中的 DROP COLUMN 子句删除列。

语法

ALTER TABLE table_name DROP COLUMN column_name;

示例

删除 user_age 列:

ALTER TABLE users DROP COLUMN user_age;

执行示例:

mysql> ALTER TABLE users DROP COLUMN user_age;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0

操作四:重命名表

使用 ALTER TABLE 语句中的 RENAME TO 子句重命名表。

语法

ALTER TABLE old_table_name RENAME TO new_table_name;

示例

users 表重命名为 members

ALTER TABLE users RENAME TO members;

执行示例:

mysql> ALTER TABLE users RENAME TO members;
Query OK, 0 rows affected (0.02 sec)

完整示例:从添加列到修改、删除列和重命名表

-- 连接到 MySQL 服务器
mysql -u root -p

-- 选择数据库
USE mydatabase;

-- 添加列
ALTER TABLE users ADD COLUMN age INT;

-- 修改列的数据类型
ALTER TABLE users MODIFY COLUMN age TINYINT;

-- 修改列名和数据类型
ALTER TABLE users CHANGE COLUMN age user_age SMALLINT;

-- 删除列
ALTER TABLE users DROP COLUMN user_age;

-- 重命名表
ALTER TABLE users RENAME TO members;

使用图形化工具修改表结构

使用 MySQL Workbench

  1. 添加列

    • 打开 MySQL Workbench 并连接到 MySQL 服务器。
    • 在左侧的导航窗格中,展开要修改表的数据库。
    • 右键点击要修改的表(例如 users),选择 "Alter Table..."。
    • 在弹出的窗口中,切换到 "Columns" 选项卡,点击 "Add Column" 按钮,输入列名、数据类型等信息,然后点击 "Apply"。
  2. 修改列

    • 在 "Alter Table" 窗口中,选择要修改的列,修改数据类型或其他属性,然后点击 "Apply"。
  3. 删除列

    • 在 "Alter Table" 窗口中,选择要删除的列,点击 "Delete Column" 按钮,然后点击 "Apply"。
  4. 重命名表

    • 在左侧的导航窗格中,右键点击要重命名的表,选择 "Rename...",输入新表名,然后点击 "Apply"。

总结

通过 ALTER TABLE 语句,可以方便地在 MySQL 中修改表结构,包括添加列、修改列、删除列和重命名表等操作。使用命令行工具和图形化工具都可以完成这些操作,但请注意在执行这些操作之前,最好备份数据,以防出现意外。