需求:保留字段前N位字符,後綴固定字符串。例如將A字段前3位保留,後綴'bbb'。
UPDATE tab SET A = CONCAT(SUBSTRING(A, 1, 3), 'bbb');
執行邏輯:SUBSTRING(A, 1, 3)從第1個字符開始截取3個字符,CONCAT拼接'bbb'。若原值'123aaa',更新後變為'123bbb'。
需求:將字段中所有'1'替換為'2'。例如a='2211'變為'2222'。
UPDATE table_name SET a = REPLACE(a, '1', '2');
核心函數:REPLACE(str, from_str, to_str)會將str中所有from_str替換為to_str,不支持正則表達式,但性能極佳。
WHERE子句限定範圍,避免全表掃描LIMIT 1000,減少鎖持有時間CREATE TABLE backup AS SELECT * FROM target_table這兩個函數組合可解決90%以上的字符串清洗與轉換需求,是MySQL開發必備技能。