更新SQL表中的所有字段

时间:2012-03-27 07:25:51

标签: php mysql sql

我很少使用SQL并且有一个我需要解决的独特问题。我有一个名为“j17_users”的表,其中包含各种列,其中两列是“name”和“username”。有数百行数据。

我需要将“name”的内容更改为“username”

例如,之前:

name: Jon Smith
username: sql_nub

后:

name: Sql_nub
username: sql_nub

好的,所以有些人可能已经注意到上面例子中第一个字母已经改为大写。如果我能在脚本中发生这种情况,那么奖励积分。如果它不可能那样......

7 个答案:

答案 0 :(得分:2)

将第一个资本化:

UPDATE j17_users SET name = CONCAT(UCASE(MID(username,1,1)),MID(username,2))

答案 1 :(得分:1)

尝试使用此

Update j17_users set name = username

答案 2 :(得分:0)

update YOURTABLENAME set name=username

我不是mysql专家,但是我会调查一个能抓住最左边字符的函数(在MS SQL Server中它是“LEFT”函数,提供参数长度为1),大写它(在MSSQLServer中函数是调用UPPER),然后将其附加到用户名字段的其余部分。如果没有人给你答案(我怀疑),请在MySQL中查找相应的函数并更新上面的查询。

因此,MS SQL Server查询大致如下所示:

UPDATE YOURTABLENAME set name = UPPER(LEFT(username, 1)) + RIGHT(username, LEN(username)-1)

答案 3 :(得分:0)

尝试将字段设置为其他字段值

Update j17users set name = username

答案 4 :(得分:0)

这是我要使用的SQL。这很明确

UPDATE j17_users SET name = 'sql_nub' WHERE name='John Smith' 

或者不那么明确

UPDATE j17_users SET name = username WHERE name='John Smith' 

答案 5 :(得分:0)

尝试:

UPDATE j17_users set name = CONCAT(UPPER(LEFT(username, 1)), LOWER(SUBSTRING(username, 2))) where name not like username;

答案 6 :(得分:0)

Update j17_users set name = 
CONCAT(UCASE(Left(username,1)),Right(username,Length(username)-1))