我需要MySQL查询的帮助

我需要MySQL查询的帮助,mysql,Mysql,好的,我的mysql查询浏览器中有一个表,如下所示: NAME: Jobs: Kate Contractor John Janitor Bob Writer Don Waitress 比方说,我想把凯特的工作换成艺术家。作为一个MySQL查询,我将如何做到这一点。我知道它涉及到INSERT-INTO东西,但我不是很确定。看看mysql。要进行替换,需要唯一标识要替换的数据库行。通常会有一个ID列来执行

好的,我的mysql查询浏览器中有一个表,如下所示:

NAME:         Jobs:

Kate          Contractor
John          Janitor
Bob           Writer
Don           Waitress

比方说,我想把凯特的工作换成艺术家。作为一个MySQL查询,我将如何做到这一点。我知道它涉及到INSERT-INTO东西,但我不是很确定。

看看mysql。

要进行替换,需要唯一标识要替换的数据库行。通常会有一个ID列来执行此操作。你的桌子有吗

您可以使用UPDATE thingy而不是INSERT INTO thingy来更改现有数据

如果数据库中只有一个Kate,则可以执行以下操作:

更新我的表格\u name SET Jobs='Artist'其中name='Kate'

如果您有一个ID列,其中999需要替换为凯特的实际ID,则您希望将NAME='Kate'替换为ID=999,否则每个名为凯特的人都将变成艺术家

编辑:

如果允许用户直接以自由形式输入,Ricebowl有一个很好的观点。它们可以输入对SQL有特殊意义的字符,并对您的数据库造成非常恶劣的影响。首先了解基本知识,然后花一些时间阅读如何防范SQL注入攻击

我最喜欢的一本漫画对这整件事进行了说明:

有关更多讨论,请参阅

UPDATE table_name SET Jobs="job_type" WHERE name="Kate";
请记住,在web应用程序中使用时,这并没有正确的参数化,如果它暴露在web上,也不会以任何方式防止恶意使用

“Kate”也不是唯一的标识符,因此应该有一个主键,它可以是用于从表中标识特定“Kate”的任何类型,此时查询被修改为:

UPDATE table_name SET Jobs="job_type" WHERE primary_key_name="unique_identifier_for_user";

更新'工作稳定'集合'乔布斯艺术家何处'名称'=凯特

另一方面,不要担心这个功能

`REPLACE INTO jobs_table  (`Jobs`, `name`) ('Artist', 'Kate')`
如果您不知道主键“Kate”是否存在,则无需编写

$a = mysql_query("select * where jobs = 'Kate'")
if($a)
    update
else
    insert

它变得更快更简单

请不要大声喊叫。所有的大写和感叹号在网上都等同于叫喊。@Eric J。;同意,就这样编辑了。@Kevin;不用担心,我们都生活和学习=]为什么,谢谢你,先生=]还有,直接链接到xkcd strip的来源:
$a = mysql_query("select * where jobs = 'Kate'")
if($a)
    update
else
    insert