zoukankan      html  css  js  c++  java
  • mysql拆分字符串为多行(逗号等分割)

    sql示例:
    SELECT
        substring_index(substring_index('张三,李四,王五,赵六,杨七',',',help_topic_id + 1),',' ,- 1) AS Id
    FROM
        mysql.help_topic
    WHERE
        help_topic_id < (length('张三,李四,王五,赵六,杨七') - length(REPLACE ('张三,李四,王五,赵六,杨七', ',', '')) + 1);
    运行结果

     

    解释
    help_topic表

    此处利用 mysql 库的 help_topic 表的 help_topic_id 来作为变量,因为 help_topic_id 是连续自增的,当然也可以用其他表的连续自增字段辅助。

     

    (如果不用这个表,自己可以建立一个表,id设置成自增的)

    涉及函数

    • 字符串拆分: SUBSTRING_INDEX(str, delim, count)
    参数 解释
    str 需要拆分的字符串
    delim 分隔符,通过某字符进行拆分
    count 当 count 为正数,取第 n 个分隔符之前的所有字符; 当 count 为负数,取倒数第 n 个分隔符之后的所有字符。
    • 替换函数:replace( str, from_str, to_str)
    参数 解释
    str 需要进行替换的字符串
    from_str 需要被替换的字符串
    to_str 需要替换的字符串
    • 获取字符串长度:LENGTH( str )
    参数 解释
    str 需要计算长度的字符串
    遇到的问题

    sql执行报错:SELECT command denied to user '###' for table 'help_topic'
    SELECT命令拒绝用户 '###‘用于表’help_topic’

    原因
    mysql用户没有执行查询help_topic表的权限,需要root用户授权。
    解决
    用mysql的root账户执行 GRANT SELECT ON mysql.help_topic TO 'wp'@'localhost'(给用户授予mysql.help_topic的查询权限)

    扩展

    创建用户
    方式1: CREATE USER 'wp'@'localhost' IDENTIFIED BY '123456';
    方式2: GRANT USAGE ON *.* TO 'wp'@'localhost' IDENTIFIED BY '132456';

    删除用户
    DROP USER 'wp'@'localhost';

    查询用户
    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

    用户授权
    GRANT SELECT ON mysql.help_topic TO 'wp'@'localhost'

    取消用户授权
    REVOKE SELECT ON mysql.help_topic FROM 'wp'@'localhost';

    查询用户授权
    SHOW GRANTS FOR 'wp'@'localhost';

    转: https://blog.csdn.net/HELLOMRP/article/details/105270049

  • 相关阅读:
    docker 部署aps.net MVC到windows容器
    docker 搭建私有仓库 harbor
    解决关于:Oracle数据库 插入数据中文乱码 显示问号???
    ionic cordova build android error: commamd failed with exit code eacces
    cordova build android Command failed with exit code EACCES
    Xcode 10 iOS12 "A valid provisioning profile for this executable was not found
    使用remix发布部署 发币 智能合约
    区块链: 编译发布智能合约
    mac 下常用命令备忘录
    JQuery fullCalendar 时间差 排序获取距当前最近的时间。
  • 原文地址:https://www.cnblogs.com/fps2tao/p/15330316.html
Copyright © 2011-2022 走看看