如何在MySQL5中更改列名

时间:2012-06-15 02:50:02

标签: mysql

到目前为止我有这个但是列'名称'是不明确的,所以我想将模块表中的name列更改为其他内容(还有一个名称列是student表)。我怎样才能做到这一点?

SELECT name
FROM student
JOIN modle ON modle.id = event.modle
JOIN event ON event.id = attends.event
JOIN attends ON attends.student = student.id
WHERE name LIKE '%Database%'

2 个答案:

答案 0 :(得分:1)

您可以在列的前面添加表格,以避免歧义并提供别名。

例如:

SELECT modle.name, student.name AS student_name FROM …

但是,我主张在这种情况下更改列名,因为name是某些SQL风格的保留字。

您可以使用ALTER TABLE命令或数据库管理器执行此操作。

ALTER TABLE modle CHANGE COLUMN name modle_name [column_definition]

答案 1 :(得分:1)

列别名允许您为特定结果集创建自己的列名 示例:

SELECT modle.`name` AS model_name, student.`name` AS student_name
FROM student
JOIN modle ON modle.id = event.modle
JOIN event ON event.id = attends.event
JOIN attends ON attends.student = student.id
WHERE name LIKE '%Database%';

如果要永久更改列名,请使用ALTER TABLE命令:
http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

示例:

ALTER TABLE student 
CHANGE COLUMN `name` student_name VARCHAR(50);

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html