Mysql 运行SQL select查询后在表中添加新列

Mysql 运行SQL select查询后在表中添加新列,mysql,Mysql,我在phpMyAdmin界面中运行了下面的SQL查询,将3列合并到一个名为media_location的新列中,如下所示。运行查询后,我会看到与预期完全一致的结果,但返回表时,我看不到新列 SELECT CONCAT(`rel_path`,`filename`,'.', `file_extension`) as media_location FROM `ulv8_jreviews_media` SELECT语句从数据库中获取数据。它不会更改基础表结构。您所做的是连接SELECT查询输出中的值

我在phpMyAdmin界面中运行了下面的SQL查询,将3列合并到一个名为media_location的新列中,如下所示。运行查询后,我会看到与预期完全一致的结果,但返回表时,我看不到新列

SELECT CONCAT(`rel_path`,`filename`,'.', `file_extension`) as media_location 
FROM `ulv8_jreviews_media`
SELECT语句从数据库中获取数据。它不会更改基础表结构。您所做的是连接SELECT查询输出中的值。这些更改不会保留在数据库中

要更改表结构,需要执行ALTERTABLE语句,然后用一些数据填充新列

ALTER TABLE ulv8_jreviews_media
    ADD media_location varchar(255);

UPDATE ulv8_jreviews_media SET media_location = CONCAT(`rel_path`,`filename`,'.', `file_extension`);

您误解了SELECT命令。SELECT只能用于查阅数据库中的数据。此命令将永远不会在表上创建新列。您确实不需要在表上有此新列。从您的应用程序中,我想象您正在开发一个您可以运行此查询的应用程序,以获得所需的值。