• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python中的mysql数据库LIKE操作符详解

    LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

    语法:

    SELECT column_name(s)
    FROM table_name
    WHERE column_name LIKE pattern

    pattern这里就是放指定模板的地方,而这里就要用到“ % ”,也叫做通配符

    %如果是放在条件前面,那就是查以...结尾的数据;例如:%李

    %如果是放在条件后面,那就是查以...开头的数据;例如:李%

    %如果是在条件前后都存在,那就是查包含的数据;例如:%李%

    小知识点:

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%z' at line 1

    1064的错误就是LIKE查询时(语法错误),通配符处没加引号,所以才会报错...

    正确展示例如:"%李%"

    示例1:终端运行sql且WHERE子句中使用LIKE

    查询地址以Hang开头的人员信息

    root@7c6316b19d80:/# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 140
    Server version: 5.6.51 MySQL Community Server (GPL)
     
    mysql> mysql> select * from test_user where address like 'Hang%';
    +----+--------+-------------+----------+
    | id | name   | mobile      | address  |
    +----+--------+-------------+----------+
    |  3 | python | 18856565858 | Hangzhou |
    |  4 | java   | 17756565858 | Hangzhou |
    |  5 | php    | 15556565858 | Hangzhou |
    |  6 | c#     | 17748484142 | Hangzhou |
    +----+--------+-------------+----------+
    4 rows in set (0.00 sec)
    mysql>

    查询地址以u结尾的人员信息

    mysql> select * from test_user where address like '%u';
    +----+--------+-------------+----------+
    | id | name   | mobile      | address  |
    +----+--------+-------------+----------+
    |  3 | python | 18856565858 | Hangzhou |
    |  4 | java   | 17756565858 | Hangzhou |
    |  5 | php    | 15556565858 | Hangzhou |
    |  6 | c#     | 17748484142 | Hangzhou |
    +----+--------+-------------+----------+
    4 rows in set (0.00 sec)
    mysql>

    示例2:使用python脚本执行含LIKE的sql语句

    查询地址包含z字符的人员信息

    import pymysql
     
    # 连接数据库
    connection = pymysql.connect(host="localhost", user="root", password="123456",
                                 database="testing", port=3306, charset='utf8',
                                 cursorclass=pymysql.cursors.DictCursor)
     
    try:
        with connection:
            with connection.cursor() as cursor:
                sql = """
                    SELECT
                        *
                    FROM
                        test_user
                    WHERE
                        address LIKE '%z%';
                """
                cursor.execute(sql)
                result = cursor.fetchall()
                for i in result:
                    print(i)
     
    except pymysql.err.MySQLError as _error:
        raise _error
    {'id': 3, 'name': 'python', 'mobile': '18856565858', 'address': 'Hangzhou'}
    {'id': 4, 'name': 'java', 'mobile': '17756565858', 'address': 'Hangzhou'}
    {'id': 5, 'name': 'php', 'mobile': '15556565858', 'address': 'Hangzhou'}
    {'id': 6, 'name': 'c#', 'mobile': '17748484142', 'address': 'Hangzhou'}
     
    Process finished with exit code 0

    查询地址不包含z字符的人员信息

    try:
        with connection:
            with connection.cursor() as cursor:
                sql = """
                    SELECT
                        *
                    FROM
                        test_user
                    WHERE
                        address NOT LIKE '%z%';
                """
                cursor.execute(sql)
                result = cursor.fetchall()
                for i in result:
                    print(i)
     
    except pymysql.err.MySQLError as _error:
        raise _error
    {'id': 1, 'name': '张三三', 'mobile': '17748484141', 'address': '浙江杭州'}
    {'id': 9, 'name': '111', 'mobile': '18847474549', 'address': '浙江杭州'}
     
    Process finished with exit code 0

    至此,使用LIKE操作符查询完毕...

    知识点扩展:python中的mysql数据库like模糊查询

    %在python中是个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符。

    大家知道,mysql的模糊查询也需要用到%。

    所以,可以先把需要查的字符串抽出来,再以参数方式传入。

    args = '%'+subtitle+'%'
    sqlQueryTitle="select count(*) from tbl_peng_article where title like '%s'"%args

    到此这篇关于python中的mysql数据库LIKE操作符详解的文章就介绍到这了,更多相关python mysql like操作符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • python数据库如何连接SQLite详解
    • python实现sqlalchemy的使用概述
    • Python流行ORM框架sqlalchemy的简单使用
    • Python3 MySQL 数据库连接的使用示例
    • python配置mssql连接的方法
    • python 操作sqlite数据库的方法
    • 适合Python项目的五大SQL连接器
    上一篇:解决Mysql的left join无效及使用的注意事项说明
    下一篇:MySQL连表查询分组去重的实现示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python中的mysql数据库LIKE操作符详解 python,中的,mysql,数据库,