MySQL ALTER命令学习笔记
介绍
ALTER 是 MySQL 数据库中用于修改已有表的命令,它可以用于修改表名、增加、删除或修改列、添加或删除索引等操作。在实际场景中,其应用十分广泛。
修改表名
使用 ALTER TABLE 语句来修改表名,语法如下:
Copy CodeALTER TABLE old_table_name RENAME TO new_table_name;
例如,将原来名为 student_scores 的表改为 scores,则可以执行以下命令:
Copy CodeALTER TABLE student_scores RENAME TO scores;
修改列名和数据类型
使用 ALTER TABLE 语句来修改列名和数据类型,语法如下:
Copy CodeALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name new_data_type;
例如,将原来名为 age 的列改为 years_old,并将数据类型从 INT 改为 TINYINT,则可以执行以下命令:
Copy CodeALTER TABLE students CHANGE COLUMN age years_old TINYINT;
增加列
使用 ALTER TABLE 语句来增加列,语法如下:
Copy CodeALTER TABLE table_name ADD COLUMN column_name data_type [DEFAULT default_value];
例如,向名为 students 的表中增加一个新的列 gender,数据类型为 VARCHAR(10),默认值为 unknown,则可以执行以下命令:
Copy CodeALTER TABLE students ADD COLUMN gender VARCHAR(10) DEFAULT 'unknown';
删除列
使用 ALTER TABLE 语句来删除列,语法如下:
Copy CodeALTER TABLE table_name DROP COLUMN column_name;
例如,从名为 students 的表中删除一个名为 gender 的列,则可以执行以下命令:
Copy CodeALTER TABLE students DROP COLUMN gender;
添加索引
使用 ALTER TABLE 语句来添加索引,语法如下:
Copy CodeALTER TABLE table_name ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name(column_name);
例如,在名为 students 的表的 name 列上添加一个非唯一的索引 idx_name,则可以执行以下命令:
Copy CodeALTER TABLE students ADD INDEX idx_name(name);
删除索引
使用 ALTER TABLE 语句来删除索引,语法如下:
Copy CodeALTER TABLE table_name DROP INDEX index_name;
例如,从名为 students 的表中删除名为 idx_name 的索引,则可以执行以下命令:
Copy CodeALTER TABLE students DROP INDEX idx_name;
以上就是关于 MySQL ALTER 命令的基本介绍和常用操作示例,希望对大家的学习有所帮助。