将数据插入到现有表的新列中

时间:2013-12-11 02:46:58

标签: mysql sql

我在已经存在的表中添加了一个新列,我只需要将数据放到这个新列中......我假设我可以使用insert命令的变体,但我不知道如何指定列名然后如何订购进入新列的值。

4 个答案:

答案 0 :(得分:3)

好的,在通过评论进行一些对话之后,我们回答一下。

我想你的桌子就像id, name, age, dateBirth, etc fields。但是,创建此表的人忘记为注册表添加性别。正如您所说的新列是sex enum('m', 'f'),您必须逐个更新此表中的每个注册表。像这样:

 update matches set sex = 'm' where id = 1;

请注意,使用此命令,我刚刚更新了表中id = 1和Im的行,假设id是您的主键。在caluse的位置你必须放置你的主键,否则你可能会更新一列。

如果您的桌子有很多注册表,那么您可以通过这种方式减少繁重的工作(至少一点点)

为了一次更新多行,您必须使用LIKE过滤器进行更新,您将设置一个过滤器,可以一次识别许多女人,然后识别许多男人:

 update matches set sex = 'f' where name like '%Jheniffer%'

由于Jheniffer是一个女性名字,因此你很可能会更新每个名为Jheniffer的注册表,如“Jheniffer Smith”。因此,在完成工作之前,请对常用名称重复此过程。对于所有女性,然后重复男性。

希望它能帮助您理解

答案 1 :(得分:2)

您必须使用update命令,insert用于添加新行。

update myTABLE set NewColumn = ?

答案 2 :(得分:2)

为什么要在这里插入?您需要将数据更新为插入的列。 以下是步骤列表

  1. 更改表格,然后添加约束为NULLABLE的列。

  2. 使用UPDATE命令处理更新列。

  3. 如果您希望添加的列不可为空。只需重新更改列并将其更改为不可为空。

答案 3 :(得分:1)

您可以使用UPDATE命令。

UPDATE my_table SET new_col='new_val'

如果需要在几行中设置新列值,请添加WHERE子句

UPDATE my_table SET new_col='new_val' WHERE condition='true'