关于php:常规数据库 – MySql

Regular database - MySql

mysql数据;

1
2
3
4
5
6
7
   ID       Fname         Lname    
+------+-------------+-----------+
+  1   +    emre     +  surname  +
+  2   +    naMe2    +  suRnaMe2 +
+  3   +    namE3    +  SurnamE3 +
+ 1980 +    nAmE3    +  suRNamE3 +
+------+-------------+-----------+

我想:

1
2
3
4
5
6
7
   ID       Fname         Lname    
+------+-------------+-----------+
+  1   +    Emre     +  Surname  +
+  2   +    Name2    +  Surname2 +
+  3   +    Name3    +  Surname3 +
+ 1980 +    Name4    +  Surname4 +
+------+-------------+-----------+

如何进行编辑过程?-是否可以使用SQL查询?

谢谢您!


试着模拟一下,

1
2
3
SELECT CONCAT(UPPER(SUBSTRING(Fname, 1, 1)), LOWER(SUBSTRING(Fname FROM 2))) AS properFirstName,
       CONCAT(UPPER(SUBSTRING(Lname, 1, 1)), LOWER(SUBSTRING(Lname FROM 2))) AS properLastName
FROM table1

sqlfiddle演示

1
2
3
UPDATE tableName
SET Fname = CONCAT(UPPER(SUBSTRING(Fname, 1, 1)), LOWER(SUBSTRING(Fname FROM 2))),
    LName = CONCAT(UPPER(SUBSTRING(Fname, 1, 1)), LOWER(SUBSTRING(Fname FROM 2)))


您可以使用类似的方法:

1
2
3
UPDATE table
SET Fname = CONCAT(UCASE(LEFT(Fname, 1)), LCASE(SUBSTRING(Fname, 2))),
    Fname = CONCAT(UCASE(LEFT(Lname, 1)), LCASE(SUBSTRING(Lname, 2)));

这应该更新您的所有值:

  • 世界将变成世界
  • 帮助将保持帮助
  • 晚见1晚见1
  • 我建议您先在备份表上尝试一下,然后再在主表上使用它。


    检查是否正常。

    字符串的首字母到大写

    更新tableset field=concat(上(左(field1)),子串(field2))

    如果你想让所有其他的字符都低一些:

    更新tableset field=concat(上(左(field1)),下(子串(field2)))