MySQL ALTER命令学习笔记

介绍

ALTER 是 MySQL 数据库中用于修改已有表的命令,它可以用于修改表名、增加、删除或修改列、添加或删除索引等操作。在实际场景中,其应用十分广泛。

修改表名

使用 ALTER TABLE 语句来修改表名,语法如下:

Copy Code
ALTER TABLE old_table_name RENAME TO new_table_name;

例如,将原来名为 student_scores 的表改为 scores,则可以执行以下命令:

Copy Code
ALTER TABLE student_scores RENAME TO scores;

修改列名和数据类型

使用 ALTER TABLE 语句来修改列名和数据类型,语法如下:

Copy Code
ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_data_type;

例如,将原来名为 age 的列改为 years_old,并将数据类型从 INT 改为 TINYINT,则可以执行以下命令:

Copy Code
ALTER TABLE students CHANGE COLUMN age years_old TINYINT;

增加列

使用 ALTER TABLE 语句来增加列,语法如下:

Copy Code
ALTER TABLE table_name ADD COLUMN column_name data_type [DEFAULT default_value];

例如,向名为 students 的表中增加一个新的列 gender,数据类型为 VARCHAR(10),默认值为 unknown,则可以执行以下命令:

Copy Code
ALTER TABLE students ADD COLUMN gender VARCHAR(10) DEFAULT 'unknown';

删除列

使用 ALTER TABLE 语句来删除列,语法如下:

Copy Code
ALTER TABLE table_name DROP COLUMN column_name;

例如,从名为 students 的表中删除一个名为 gender 的列,则可以执行以下命令:

Copy Code
ALTER TABLE students DROP COLUMN gender;

添加索引

使用 ALTER TABLE 语句来添加索引,语法如下:

Copy Code
ALTER TABLE table_name ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name(column_name);

例如,在名为 students 的表的 name 列上添加一个非唯一的索引 idx_name,则可以执行以下命令:

Copy Code
ALTER TABLE students ADD INDEX idx_name(name);

删除索引

使用 ALTER TABLE 语句来删除索引,语法如下:

Copy Code
ALTER TABLE table_name DROP INDEX index_name;

例如,从名为 students 的表中删除名为 idx_name 的索引,则可以执行以下命令:

Copy Code
ALTER TABLE students DROP INDEX idx_name;

以上就是关于 MySQL ALTER 命令的基本介绍和常用操作示例,希望对大家的学习有所帮助。