重命名 SQL 中的列

Rename columns in SQL

我想(直接)用另一个 table 的 2 列的内容生成一个 table。如何更改列的名称(在新 table 中重命名)?

这是一个例子:

CREATE TABLE X AS
SELECT
Table1.name,
Table1.act
FROM Y

->我不想像原来的 table 那样命名列 "name" 和 "act" - 我想将 "name" 替换为 "customer" 和 "act" 替换为 "status"

您可以在查询中指定别名:

CREATE TABLE X AS
SELECT
Table1.name AS customer,
Table1.act AS status
FROM Y

或者,您可以在 table 名称后的括号中指定列定义:

CREATE TABLE X (customer VARCHAR(10), status VARCHAR(10)) AS
SELECT
Table1.name,
Table1.act
FROM Y

这样做:

CREATE TABLE X AS
SELECT
Table1.name as customer,
Table1.act as status
FROM Y

您将需要使用 While 循环来执行此操作:

$my_query = "SELECT * FROM tj_ethnicity FROM Table_X";
while($row = mysql_fetch_assoc($my_query))
{       
    $new_query = "CREATE TABLE `."$row['customer']".` (
        `customerid` int(11) NOT NULL AUTO_INCREMENT,
        `status` varchar(50) DEFAULT ."$row['status']".,
        `created` datetime NOT NULL,
        PRIMARY KEY (`customerid`)
    )";

}