语句
1、排序规则不一样报错
(强制修改一致)
LEFT JOIN tableA a on a.columna COLLATE utf8mb4_general_ci = b.columnb COLLATE utf8mb4_general_ci
2、批量修改表的某个字段
(根据id批量修改原表某字段数据,每个id对应字段的数据不同)
(1)创建一个临时表
CREATE TEMPORARY TABLE temp_updates (
id INT PRIMARY KEY,
new_value VARCHAR(255)
);
(2)插入数据到临时表
INSERT INTO temp_updates (id, new_value) VALUES
(1, 'new_value1'),
(2, 'new_value2'),
(3, 'new_value3'),
-- 插入更多数据...
(N, 'new_valueN');
(3)使用join来更新原表
UPDATE your_table yt
JOIN temp_updates tu ON yt.id = tu.id
SET yt.your_column = tu.new_value;
(4)删除临时表
DROP TEMPORARY TABLE IF EXISTS temp_updates;
3、根据字符截取数据
CHARINDEX('A','ABFDG'):返回‘A’在‘ABFDG’中的位置:1
SELECT SUBSTRING(column, 1, CHARINDEX('@', column) - 1) AS username FROM your_table;
函数
1、CHARINDEX
CHARINDEX('A','ABFDG'):返回‘A’在‘ABFDG’中的位置:1
2、SUBSTRING
SUBSTRING('ANOIYHG',1,3):返回第一个字符开始的3个字符:ANO