如何在MySQL中创建包含列名的表?

时间:2017-08-01 14:00:43

标签: mysql

我的表格看起来像这样

describe metal;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name     | varchar(20) | YES  |     | NULL    |       |
| copper   | varchar(20) | YES  |     | NULL    |       |
| gold     | varchar(20) | YES  |     | NULL    |       |
| iron     | varchar(20) | YES  |     | NULL    |       |
| lead     | varchar(20) | YES  |     | NULL    |       |
| mercury  | varchar(20) | YES  |     | NULL    |       |
| platinum | varchar(20) | YES  |     | NULL    |       |
| silver   | varchar(20) | YES  |     | NULL    |       |
| tin      | varchar(20) | YES  |     | NULL    |       |

我真正想要的是这个

+----------+
| name
|+----------+
| copper
| gold
| iron
| lead
| mercury 
| platinum 
| silver
| tin

我的目标是按名称操纵列。我用

创建了原始表
CREATE TABLE metal (name VARCHAR(20),....

问题出在这里

SELECT name FROM metal WHERE name LIKE 'co%';
Empty set (0.00 sec)

铜是存在的,所以我的创作出了问题。

3 个答案:

答案 0 :(得分:2)

标准化设计可能如下所示:

metals (id*, name)

其中*是PRIMARY KEY

所以:

           id name 
           29 copper   
           79 gold     
           26 iron     
           82 lead     
           80 mercury  
           78 platinum 
           47 silver   
           50 tin  

答案 1 :(得分:1)

像这样创建表:

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name     | varchar(20) | NO   | YES |         |       |

然后你可以在这个表中添加不同的金属名称:铜,金,铁和INSERT语句。

答案 2 :(得分:-1)

目前,您有一个名为" name"的列/字段。删除"名称"列,如果你不想要它。

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| name     | varchar(20) | YES  |     | NULL    |       |  <------
| copper   | varchar(20) | YES  |     | NULL    |       |