【问题标题】:Rename columns in SQL重命名 SQL 中的列
【发布时间】:2016-10-12 12:54:21
【问题描述】:

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

这是一个例子:

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

->我不想将列命名为原始表中的“名称”和“行为”——我希望将“名称”替换为“客户”,将“行为”替换为“状态”

【问题讨论】:

  • ... Select Table1.Name As Customer, Table1.act As Status ...

标签: mysql sql ddl create-table


【解决方案1】:

这样做:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

      您需要使用 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`)
          )";
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        • 2017-02-07
        • 1970-01-01
        相关资源
        最近更新 更多