美文网首页
mysql常见实战例子

mysql常见实战例子

作者: Geroge1226 | 来源:发表于2021-08-16 13:18 被阅读0次

1、前言

myql在实战使用过程中会遇到不同的场景,针对不同场景,使用方式需要整理记录,给以后遇到类似问题做参考使用。

2、根据当前查询的结果更新查询的某列值。

  • 【场景描述】
    “有一张用户表,表中存储用户信息包括手机号,现增加一列保存手机号对应的加密数据。由于增加加密字段时,数据库表已经存储大量用户数据,则需要初始化该字段的加密数据值,需要初始化的实现过程”。
  • 【实现方式】
    一是应用程序,查询出所有数据,在批量更新处理数据。二是数据库sql直接完成。
  • 【实现语句】
    这里借助dual虚拟表实现
-- 初始化
update sys_user_info a SET a.encrypt_password=(select to_base64(AES_ENCRYPT(password, "ABA")) from DUAL);
-- 查询
SELECT (SELECT AES_DECRYPT(from_base64(encrypt_password), "MySQL-MOBILE-KEY") from DUAL) AS info, a.* FROM sys_user_info a

这里主要是对dual虚拟表的一种认识。实际上可以直接函数方式:

update sys_user_info  SET encrypt_mobile=to_base64(AES_ENCRYPT(mobile, "MySQL-MOBILE-KEY"));

SELECT  AES_DECRYPT(from_base64(encrypt_password), "MySQL-MOBILE-KEY")  AS info, a.* FROM sys_user_info a

3、数据脱敏

【场景描述】
类似手机号,需要中间4位 ‘*’ 处理。如:“187****4567”,姓名3个字的中间1位 ‘*’ 处理,2个字的后面1位 ‘*’处理。如: “李 * , 张*研
【实现方式】
(1)insert(mobile, 4,4,'****') :函数
(2) concat(left(mobile,3), '****', right(mobile,4)) :联接函数
(3)REPLACE(mobile, SUBSTR(mobile,4,4), '****') :替换函数

【实现语句】

-- 更新手机号
update sys_user_info set mobile = insert(mobile,4,4,'****');
--  更新用户名
update sys_user_info set real_name = replace(real_name,substr(real_name,2,1),'*');

相关文章

  • mysql常见实战例子

    1、前言 myql在实战使用过程中会遇到不同的场景,针对不同场景,使用方式需要整理记录,给以后遇到类似问题做参考使...

  • MySQL实战 目录

    MySQL实战 MySQL实战1 数据库概念介绍MySQL实战2 语法、筛选条件和函数MySQL实战3 分组查询和...

  • MySQL实战45讲阅读笔记-MVCC

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-索引

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-日志

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-锁

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-MySQL入门

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • php mysql 读写分离

    Mysql主从同步的原理 Mysql主从同步实战 PHP+MYSQL 读写分离简单实战

  • Docker Compose实战

    Docker Compose 实战 Tomcat Docker Compose 实战 MySQL MySQL5 M...

  • 专栏 - 实战 MySQL

    专栏 - 实战 MySQL 本专栏用于实战 mysql 的整个学习过程。包括: 搭建 MySQL 测试环境安装 M...

网友评论

      本文标题:mysql常见实战例子

      本文链接:https://www.haomeiwen.com/subject/dudmbltx.html