What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
MySQL 8.4 does not document a built-in INITCAP() function. To capitalize the first letter of every word, you need to define what counts as a word boundary and apply that rule in application code or a custom SQL routine. If you only mean the first character of the whole value, a short SQL expression will do it.
Capitalize only the first character of the value
Use UPPER() on the first character, then append the remainder unchanged:
As an Amazon Associate I earn from qualifying purchases.
SELECT CONCAT(UPPER(LEFT(name, 1)), SUBSTRING(name, 2)) AS capitalized_name
FROM people;
For example, mYSQL guide becomes MYSQL guide. This changes only the initial character; it does not capitalize the first letter of each word. MySQL documents UPPER(), LEFT(), SUBSTRING(), and CONCAT() in its MySQL 8.4 string-function reference.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Lowercase the rest only if that is intended
If your desired normalization is an initial capital followed by lowercase characters, use:
#1 Best Overall
SELECT CONCAT(UPPER(LEFT(name, 1)), LOWER(SUBSTRING(name, 2))) AS normalized_name
FROM people;
This turns mYSQL guide into Mysql guide. It also changes acronyms and intentional internal capitals, so do not use it when those must be preserved.
Capitalize the first letter of every word
There is no simple UPPER() expression that finds and capitalizes every word boundary. Decide whether a boundary means a space only or also includes punctuation, hyphens, and apostrophes. Then implement that specific rule in application code or a custom stored routine. For example, these inputs raise different rule questions: mary jane, mary-jane, and o'connor.
For general text, application-side processing is often simpler because the code can make the boundary, Unicode, and lowercasing choices explicit. A stored routine can be appropriate when the transformation must run inside MySQL, but it still needs a defined rule; do not treat it as a universal title-case operation.
Apply a transformation to stored values carefully
For the one-character transformation, preview the result before changing the table:
Rank #3
SELECT name,
CONCAT(UPPER(LEFT(name, 1)), SUBSTRING(name, 2)) AS proposed_name
FROM people;
If the preview is correct and you have protected values that must remain unchanged, the corresponding update is:
UPDATE people
SET name = CONCAT(UPPER(LEFT(name, 1)), SUBSTRING(name, 2));
This update changes the first character of each value only. It is not a per-word capitalization solution. To avoid overwriting values outside the intended scope, add a suitable WHERE condition or process a reviewed set of rows.
Rank #4
Check character sets and binary data
MySQL case conversion uses character-set mappings. The manual notes that LOWER() and UPPER() do not work on binary strings such as BINARY, VARBINARY, and BLOB; convert binary data to a nonbinary string using the correct character set before applying case conversion. For simple string functions, the result character set and collation follow the principal input value. You can inspect an expression with CHARSET() and COLLATION(). See the MySQL 8.4 string-function documentation and the MySQL 8.0 function-result character set and collation notes.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteDo not confuse MySQL with PostgreSQL
PostgreSQL documents initcap(text), but that function is not part of the documented MySQL 8.4 string-function set. PostgreSQL also notes that word splitting and results can vary with locale provider and ICU version. A query copied from PostgreSQL that calls INITCAP(name) should not be assumed to work in MySQL. See the PostgreSQL 19 string-functions documentation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

