首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Django中使用LIKE语句执行mysql查询

在Django中使用LIKE语句执行MySQL查询可以通过使用filter()exclude()方法来实现。

  1. 使用filter()方法执行LIKE查询:
代码语言:txt
复制
from django.db.models import Q

# 假设有一个名为Article的模型类,其中有一个字段为title

# 以"keyword"为关键字模糊查询标题中包含该关键字的文章
articles = Article.objects.filter(title__icontains="keyword")

# 使用Q对象进行复杂的LIKE查询
articles = Article.objects.filter(Q(title__icontains="keyword") | Q(content__icontains="keyword"))

# 如果要查询以关键字开头或结尾的文章,可以使用startswith或endswith方法
articles = Article.objects.filter(title__startswith="keyword")
articles = Article.objects.filter(title__endswith="keyword")

上述代码中,title__icontains表示对title字段进行不区分大小写的模糊查询,Q对象则用于实现复杂的OR和AND关系查询。

  1. 使用exclude()方法执行LIKE查询:
代码语言:txt
复制
# 排除标题中包含特定关键字的文章
articles = Article.objects.exclude(title__icontains="keyword")

上述代码中,exclude()方法用于排除满足条件的结果。

对于MySQL查询中的LIKE语句,Django提供了一些特殊查询方法,如icontains用于不区分大小写的模糊查询,startswith用于查询以指定关键字开头的数据,endswith用于查询以指定关键字结尾的数据。

在Django开发中,推荐使用腾讯云的云数据库MySQL和云服务器CVM进行数据库和服务器资源的管理和部署。腾讯云数据库MySQL是腾讯云提供的一种稳定、可靠的数据库服务,提供了高性能、高可用的特性。腾讯云云服务器CVM是一种可扩展、可靠、安全的云计算服务,可满足各种规模应用的需求。

相关产品介绍链接地址:

  • 腾讯云数据库MySQL:https://cloud.tencent.com/product/cdb
  • 腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm

以上是在Django中使用LIKE语句执行MySQL查询的方法及推荐的腾讯云相关产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 使用Mysql的concat函数或正则匹配来快速批量生成用于执行的sql语句

    目标:快速生成update语句将book_borrow表的student_name和class_id更新为正确的数据。...; 把update需要用的变量全部使用select查询出来。即,根据book_borrow表的student_id,去student表查出name和class_id。 select a.id,b....`name`,b.class_id from book_borrow a inner join student b on a.student_id = b.id;  两种解决方案  方案一:使用Mysql...的concat函数 对于concat函数,如果有不清楚的话建议阅读这篇文章 https://www.w3resource.com/mysql/string-functions/mysql-concat-function.php...b.class_id," where id = ",a.id,";") from book_borrow a inner join student b on a.student_id = b.id; 将上面查询到的结果放到文本编辑器

    98210

    Django 2.1.7 模型 - 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询

    上一篇Django 2.1.7 模型 - MVT模型增删功能讲述了关于MVT模型列表的增加数据以及删除数据的功能,在数据返回的过程,也有部分关于模型之间关联查询的数据。...参考文献 https://docs.djangoproject.com/zh-hans/2.1/topics/db/queries/ 打开mysql数据的日志功能 为了方便后续使用模型查看执行的sql...to /bin/systemctl restart mysqld.service # 在另一个窗口执行查询sql,然后查看日志执行语句 [root@server01 mysql]# tail -f...`server_hostname` LIKE BINARY '测试%' LIMIT 21 可以看到,当使用startswith执行查询,那么测试%则是在后面模糊查询。...`server_hostname` LIKE BINARY '%测试' LIMIT 21 可以看到,当使用endswith执行查询,那么 %测试则是在前面模糊查询

    4.1K10

    Django 2.1.7 模型 - 条件查询、模糊查询、空查询、比较查询、范围查询、日期查询

    上一篇Django 2.1.7 模型 - MVT模型增删功能讲述了关于MVT模型列表的增加数据以及删除数据的功能,在数据返回的过程,也有部分关于模型之间关联查询的数据。...参考文献 https://docs.djangoproject.com/zh-hans/2.1/topics/db/queries/ 打开mysql数据的日志功能 为了方便后续使用模型查看执行的sql...mysql执行sql语句。...`server_hostname` LIKE BINARY '测试%' LIMIT 21 可以看到,当使用startswith执行查询,那么测试%则是在后面模糊查询。...`server_hostname` LIKE BINARY '%测试' LIMIT 21 可以看到,当使用endswith执行查询,那么 %测试则是在前面模糊查询

    10.7K20

    MySQL 8.0:如何找到长事务(译文)

    内容摘要:让我们看看如何在MySQL 8.0轻松找到那些可能成为DBA噩梦的正在运行的长事务。.../ 作者:Frédéric Descamps(https://lefred.be/) 最近,有人问我如何在MySQL中找到长时间运行的事务。...如果使用下面的命令激活了计量,还可以查询出该事务执行语句(默认限制为10条,performance_schema_events_statements_history_size ): UPDATE performance_schema.setup_consumers...events_transactions_history_long'; 现在激活了计量,我们可以使用以下语句查看所有新事务的历史记录: SELECT DATE_SUB(now(), INTERVAL (...COLUMN>) ORDER BY event_id; 让我们试一下: 您所见,我们可以查询在这个长事务已经执行的SQL语句

    1.4K20

    技术分享 | Slow Query Log 使用详解

    一、 简介 慢查询日志,开启它我们可以通过参数来控制其记录执行查询时间长的 SQL、全表扫描的 SQL、没有使用索引的 SQL。...:设置慢查询记录到哪里,参数 FILE|TABLE log_queries_not_using_indexes:控制查询过程使用索引或全表扫描的 SQL 是否记录到日志 log_throttle_queries_not_using_indexes...语句执行的时间都叫做 query_time,而在 Oracle 则仅指 select) lock_time: #锁的时间 rows_sent: #返回了多少行,如果做了聚合就不准确了...三、如何在线安全清空 slow.log 文件 在开启 log_queries_not_using_indexes 后,slow log 文件不仅仅会记录慢查询日志,还会把查询过程使用索引或全表扫描的...SQL 记录到日志,久而久之日志的空间便会变得越来越大,那么如何在线且安全的清空这些 slow log 日志,为磁盘释放空间呢?

    1.5K11

    Django 模型查询2.3

    简介 查询集表示从数据库获取的对象集合 查询集可以含有零个、一个或多个过滤器 过滤器基于所给的参数限制查询的结果 从Sql的角度,查询集和select语句等价,过滤器像where和limit子句 接下来主要讨论如下知识点...limit和offset子句 注意:不支持负数索引 使用下标后返回一个新的查询集,不会立即执行查询 如果获取一个对象,直接使用[0],等同于[0:1].get(),但是如果没有数据,[0]引发IndexError...:当只对查询集的部分进行求值时会检查缓存,但是如果这部分不在缓存,那么接下来查询返回的记录将不会被缓存,这意味着使用索引来限制查询集将不会填充缓存,如果这部分数据已经被缓存,则直接使用缓存的数据 字段查询...转义:like语句使用了%与,匹配数据的%与,在过滤器中直接写,例如:filter(title__contains="%")=>where title like '%\%%',表示查找标题中包含%...参见“省市区mysql.txt”) 在booktest/views.py定义视图area from models import AreaInfo def area(request): area

    2.4K20

    Django model select的各种用法详解

    MySQL查询语句,理解起来更轻松。...,正常values_list给出的结果是个列表,里边里边的每条数据对应一个元组,当只查询一列时,可以使用flat标签去掉元组,将每条数据的结果以字符串的形式存储在列表,从而避免解析元组的麻烦 User.objects.values_list...例如下边的语句 from django.db.models import Q User.objects.filter( Q(role__startswith='sre_'), Q(name...='公众号') | Q(name='运维咖啡吧') ) 转换成SQL语句如下: select * from User where role like 'sre_%' and (name='公众号' or...SQL Django能用ORM的就用它ORM吧,不建议执行原生SQL,可能会有一些安全问题,如果实在是SQL太复杂ORM实现不了,那就看看下边执行原生SQL的方法,跟直接使用pymysql基本一致了

    1.1K30

    Django学习笔记之Queryset详解

    可以使用双下划线对OneToOne、OneToMany、ManyToMany进行关联查询和反向关联查询,而且方法都是一样的,: >>> Entry.objects.filter(blog__name=...可以使用双下划线对OneToOne、OneToMany、ManyToMany进行关联查询和反向关联查询,方法与filter()使用方法相同。...的实现 在SQL,很多关键词在删、改、查时都是可以用的,order by、 like、in、join、union、and、or、not等等,我们以查询为例,说一下django如何映射SQL的这些关键字的...看下面两段代码,这两段代码在1.1提到过。在代码1,在遍历a前,先执行a对应的SQL,拿到数据后,然后再遍历a,而遍历过程,每次都还要查询数据库获取关联表。...Entry.objects.all()[5:8],对于不同的数据库,SQL语句不同,Sqlite 的SQL语句为select * from tablename limit 3 offset 5; MySQL

    2.7K30

    MySQL 索引及查询优化总结

    文章《MySQL查询分析》讲述了使用MySQL查询和explain命令来定位mysql性能瓶颈的方法,定位出性能瓶颈的sql语句后,则需要对低效的sql语句进行优化。...可以在创建表的时候指定,也可以修改表结构,: ALTER TABLE table_name ADD FULLTEXT (column) 2、索引结构及原理 mysql普遍使用B+Tree做索引,但在实现上又根据聚簇索引和非聚簇索引而不同...mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配。 一般,在创建多列索引时,where子句中使用最频繁的一列放在最左边。...3、order by 语句优化 任何在Order by语句的非索引项或者有计算表达式都将降低查询速度。...9、在Join表的时候使用相当类型的例,并将其索引 如果应用程序有很多JOIN 查询,你应该确认两个表Join的字段是被建过索引的。这样,MySQL内部会启动为你优化Join的SQL语句的机制。

    28.5K95

    DjangoDjango ORM 学习笔记

    对象和关系之间并不是完美映射 一般来说 ORM 足以满足我们的需求,如果对性能要求特别高或者查询十分复杂,可以考虑使用原生 SQL 和 ORM 共用的方式 Django ORM 在 Django 框架中集成了...ORM 模块,我们来看下具体的使用,部分内容会给出基于 MySQL 的 SQL 语句。...`id` = 1 迭代:在首次迭代查询集时会执行数据库查询 切片(限制查询集):对查询执行切片操作时,指定 step 参数 序列化/缓存 repr:对查询集调用 repr 函数 len:对查询集调用...len 函数 list: 对查询集调用 list() 方法强制求值 bool:测试一个查询集的布尔值,例如使用bool(), or, and 或者 if 语句都将导致查询集的求值 缓存 每个 QuerySet...、ManyToManyField,例如下图中的 orm_author 就与多个 orm_blog 实例关联 因此 Django ORM 的关联查询也分两 select_related(单关联实例)

    2.2K20
    领券