如何在MySql中相对于现有列添加新列?

时间:2019-03-24 20:32:33

标签: python mysql sql

我已经有一个现有的表,在MySql数据库中名为“ table1”,例如,它有一个名为“ subject”的列,其中包含这样的值:

enter image description here

现在我想在“ table1”中添加一个名为“ code”的新列,其中将包含值:

“主题”中“ AAAA”的是“ S01”,

“主题”中“ BBBB”的是“ S02”,

对于“主题”中的“ CCCC”,

为“ S03”,

“主题”中“ DDDD”的名称是“ S04”。

如下所示:

enter image description here

SQL查询如何实现?

1 个答案:

答案 0 :(得分:0)

您可以使用例如case的情况

select  subject 
    , case  
        when subject  ='AAAA' then 'S01'
        when subject  ='BBBB' then 'S02'
        when subject  ='CCCC' then 'S03'
        when subject  ='DDDD' then 'S04'  
    end  code 
from my_table   

,如果需要更新表的内容

update my_table  
set code = case  
        when subject  ='AAAA' then 'S01'
        when subject  ='BBBB' then 'S02'
        when subject  ='CCCC' then 'S03'
        when subject  ='DDDD' then 'S04'  
    end     

您可以使用

将列添加到表架构中
ALTER TABLE my_table    ADD  code  varchar(4) ; 

对于以'AAAA'开头的字符串,您可以使用like运算符

 when subject  like 'AAAA%' then 'S01'