REPLACE语法

REPLACE(String,from_str,to_str)

即:将String中所有出现的from_str替换为to_str,这里的from_str不支持正则匹配。

操作实例

测试表数据如下:

mysql> select * from `LOL`;+----+----------------+--------------+-------+| id | hero_title   | hero_name  | price |+----+----------------+--------------+-------+| 1 | 刀锋之影    | 泰隆     | 6300 || 2 | 迅捷斥候    | 提莫     | 6300 || 3 | 光辉女郎AA   | 拉克丝    | 1350 || 4 | 发条A魔灵A   | 奥莉安娜   | 6300 || 5 | 至高之拳    | 李青     | 6300 || 6 | 无极剑圣    | 易      |  450 || 7 | 疾风剑豪    | 亚索     | 6300 |+----+----------------+--------------+-------+7 rows in set (0.00 sec)
SELECT REPLACE(hero_title,'之',' - ')as repl_title,hero_name,price from LOL;mysql> SELECT REPLACE(hero_title,'之',' - ') as repl_title,hero_name,price from `LOL`;+----------------+--------------+-------+| repl_title   | hero_name  | price |+----------------+--------------+-------+| 刀锋 - 影   | 泰隆     | 6300 || 迅捷斥候    | 提莫     | 6300 || 光辉女郎AA   | 拉克丝    | 1350 || 发条A魔灵A   | 奥莉安娜   | 6300 || 至高 - 拳   | 李青     | 6300 || 无极剑圣    | 易      |  450 || 疾风剑豪    | 亚索     | 6300 |+----------------+--------------+-------+7 rows in set (0.00 sec)

UPDATE LOL SET hero_title=REPLACE(hero_title,‘A','');

mysql> UPDATE `LOL` SET hero_title=REPLACE(hero_title,'A','');Query OK, 2 rows affected (0.05 sec)Rows matched: 7 Changed: 2 Warnings: 0

需求场景:

这张表存的每个客户最近一次交易订单信息,要求保证单个用户数据不重复录入,且执行效率最高,与数据库交互最少,支撑数据库的高可用。
此时,可以使用"REPLACE INTO"语句,这样就不必先查询,再决定是否先删除再插入。

  • "REPLACE INTO"语句是基于唯一索引或主键来判断唯一(是否存在)的。
  • "REPLACE INTO"语句是基于唯一索引或主键来判断唯一(是否存在)的。
  • "REPLACE INTO"语句是基于唯一索引或主键来判断唯一(是否存在)的。

注意事项:如下SQL所示,需要在username字段上建立唯一索引(Unique),transId设置自增即可。

-- 20点充值REPLACE INTO last_transaction (transId,username,amount,trans_time,remark)   VALUES (null, 'chenhaha', 30, '2020-06-11 20:00:20', '会员充值'); -- 21点买皮肤REPLACE INTO last_transaction (transId,username,amount,trans_time,remark)   VALUES (null, 'chenhaha', 100, '2020-06-11 21:00:00', '购买盲僧至高之拳皮肤');

id不要给具体值,不然会影响SQL执行,业务有特殊需求除外。

更多相关文章

  1. ES6 变量声明,箭头函数,数组方法,解构赋值,JSON,类与继承,模块化练习
  2. 箭头函数的基础使用
  3. Python技巧匿名函数、回调函数和高阶函数
  4. 浅析android通过jni控制service服务程序的简易流程
  5. Android(安卓)bluetooth介绍(四): a2dp connect流程分析
  6. Android架构分析之使用自定义硬件抽象层(HAL)模块
  7. Android中OpenMax的适配层
  8. android 包管理系统分析
  9. Android中获取屏幕相关信息(屏幕大小,状态栏、标题栏高度)

随机推荐

  1. Android多媒体应用——ImageSwitcher
  2. ScrollView滚动条的各种设置
  3. Android(安卓)RecyclerView:设置指定位置
  4. android中获取到当前线程
  5. android 结构分析
  6. ADT在线安装与更新
  7. 打包APK时两个常见问题Android(安卓)plat
  8. Android 源码编译make的错误处理
  9. Arcgis android - Installation error: I
  10. Android 获取手机唯一标识(仅限IMEI)