首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修改表中所有行的属性?

如何修改表中所有行的属性?
EN

Stack Overflow用户
提问于 2010-04-07 00:31:59
回答 3查看 165关注 0票数 1

我很抱歉问了这样一个新手的问题,但是,我需要帮助使用PHP或直接在MySQL中构建一个脚本,该脚本可以执行以下操作:

  1. 取表(文本)中列的值。
  2. 将它们转换为大写单词(从“这是一个标题”改为“这是一个标题”)
  3. 将旧值(未大写)替换为新值(大写)。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-07 00:42:03

  1. MySQL没有像甲骨文的initcap那样的函数--您必须使用自己创建函数: 如果存在$$删除函数,则initcap$$创建函数initcap(x char(30))返回char(30) CHARSET utf8 BEGIN SET @str='';SET @l_str='';而x REGEXP‘DO SELECT SUBSTRING_INDEX(x,’',1)进入@l_str;选择SUBSTRING(x,定位(‘',x)+1)到x中;选择CONCAT(@str,‘',CONCAT(上(SUBSTRING(@l_str,1,1)),LTRIM(SUBSTRING(@l_str,2)到@str;END WHILE;返回LTRIM(CONCAT(@str,’',CONCAT(SUBSTRING(SUBSTRING(x,1,1),更低(SUBSTRING(x,2); 请注意,参数上的文本长度与您最长的文本字段一样长。
  2. 使用更新语句: 更新表集text_column = initcap(text_column)
票数 4
EN

Stack Overflow用户

发布于 2010-04-07 00:41:18

这不是一个原生于MySQL的函数,所以使用ucwords可能会节省我们一些时间。

注意:--这将对表中的每一行运行一个UPDATE查询。

代码语言:javascript
运行
复制
<?php

  $r = mysql_query("SELECT id, name FROM users");
  while($u = mysql_fetch_object($r)){
    $r2 = mysql_query("UPDATE users SET name=".ucwords($u->name)." WHERE id={$u=>id}");
  }

?>
票数 3
EN

Stack Overflow用户

发布于 2010-04-07 00:45:34

使用SQL沿着以下几条线选择行:

SELECT <string> FROM <table> [WHERE <field> = <whatever>]

使用PHP的ucwords()函数更新字符串:

$UpperCaseString = ucwords($lowercase);

更新每项记录:

UPDATE <table> SET <fieldname> = <UpperCaseString> WHERE id=<id>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2589259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档