gpt4 book ai didi

mysql - 使用关键字创建新列

转载 作者:行者123 更新时间:2023-11-30 00:36:06 25 4
gpt4 key购买 nike

我希望创建一个新列,其值与 mysql 中现有列中的关键字相对应。

我正在尝试根据机构名称中的关键字来确定该诊所是私有(private)还是公共(public)。

用简单的英语来说,我想要的是一个名为“练习”的新专栏,如果关键字是专业的,则插入私有(private)值,gleneagles。

非常感谢有关此事的任何帮助。

最佳答案

如果我理解您的要求,您想向现有表添加一列,然后根据同一行中另一列的值设置该列的值(针对每一行)?

首先,要创建名为 Practice 的列,您可以使用 MySQL 的 ALTER TABLE命令:

ALTER TABLE YourTable ADD Practice VARCHAR(20);

我不确定你的目标是什么类型,所以我只是使用 VARCHAR(20);您还可以从基于您正在使用的值(甚至是查找表的外键)的枚举中受益。

创建列后,您可以设置其值:

UPDATE YourTable
SET Practice = CASE
WHEN SomeColumn = 'specialist' THEN
'private'
WHEN SomeColumn = 'gleneagles' THEN
'private'
ELSE
'public'
END

如果您不想设置不匹配的记录,只需删除ELSE 'public',它们就会默认为null

更新(使用通配符选择)

如果您需要更新包含在较大文本中的相关数据的行并且需要通配符,则可以使用 MySQL 的 LIKE 运算符:

UPDATE YourTable
SET Practice = CASE
WHEN SomeColumn LIKE '%specialist%' THEN
'private'
WHEN SomeColumn LIKE '%gleneagles%' THEN
'private'
ELSE
'public'
END

或者,如果您只想根据包含多个值的文本更新为单值,则可以使用正则表达式(通过 REXEXP):

UPDATE YourTable
SET Practice = CASE
WHEN SomeColumn REGEXP 'specialist|gleneagles' THEN
'private'
ELSE
'public'
END

关于mysql - 使用关键字创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22162600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com