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

【Django】Django ORM 学习笔记

同时 ORM 避免了规范、冗余、风格统一 SQL 语句,可以避免很多人为 bug,方便编码风格统一和后期维护。...- a LIKE BINARY '%b%' icontains : 包含,区分大小写 - a LIKE '%b%' iexact : 大小写不敏感精确匹配 - a LIKE 'b' startswith...: 匹配开头,区分大小写 - a LIKE BINARY 'b%' istartswith : 匹配开头,区分大小写 - a LIKE 'b%' endswith : 匹配结尾,区分大小写 - a...LIKE BINARY '%b' iendswith : 匹配结尾,区分大小写 - a LIKE '%b' 我们还可以进行关联查询,下面的例子是查询所有 author name 为 zjk blog...如果只对 QuerySet 部分实例(query_set[5], query_set[0:10])进行求值,首先会到 QuerySet 缓冲查找是否已经缓存了这些实例,如果有就使用缓存值,如果没有就查询数据库

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

SQL排序(二)

WHERE子句比较:大多数WHERE子句谓词条件比较使用字段/属性排序规则类型。因为字符串字段默认为SQLUPPER,所以这些比较通常区分大小写。...可以使用%EXACT排序规则功能使它们区分大小写:下面的示例返回Home_City字符串匹配项,无论字母大小写如何:SELECT Home_City FROM Sample.Person WHERE Home_City...= 'albany'以下示例返回区分大小写Home_City字符串匹配:SELECT Home_City FROM Sample.Person WHERE %EXACT(Home_City) = '...%PATTERN谓词提供区分大小写通配符和区分大小写通配符('A')。ORDER BY子句:ORDER BY子句使用名称空间默认排序规则对字符串进行排序。...因此,ORDER BY不会基于字母大小写进行排序。可以使用%EXACT排序规则根据字母大小写字符串进行排序。 DISTINCT和GROUP BY排序规则默认情况下,这些操作使用当前名称空间排序。

1.6K30

SQL命令 HAVING(一)

> 65 ORDER BY Age 将它与WHERE子句进行比较WHERE子句选择返回哪些行,以及在select-item列表聚合函数包含哪些行值: SELECT Name,Age,AVG(Age...此谓词只能在WHERE子句中使用。 谓词区分大小写 谓词使用为字段定义排序规则类型。默认情况下,字符串数据类型字段使用SQLUPPER排序规则定义,该排序规则不区分大小写。...%INLIST、CONTAINS运算符([)、%Matches和%%PATTERN谓词不使用字段默认排序规则。它们总是使用精确排序,这是区分大小写。 两个文字字符串谓词比较始终区分大小写。...因此,两个字符串字段值比较字符串字段值与字符串文字比较(默认情况下)区分大小写。...但是请注意,两个文字字符串比较区分大小写:其中'ma'='MA'始终为false。 BETWEEN谓语 这等效于大于或等于且小于或等于配对。下面的示例使用BETWEEN谓词。

1.4K40

SQL命令 HAVING(二)

列表元素可以是常量或表达式。排序规则适用于IN比较,因为它适用于相等性测试。默认情况下,IN比较使用字段定义排序规则类型;默认情况下,字符串字段定义为SQLUPPER,区分大小写。...因此,默认情况下,%INLIST字符串比较区分大小写。...'S' ORDER BY Name 与其他字符串字段比较一样,%STARTSWITH比较区分大小写。...它允许将子字符串(字符串或数字)匹配到字段值任何部分。 比较总是区分大小写。...它使用EXACT排序法进行文字比较,这总是区分大小写。 要与字符串第一个字符进行比较,请使用%STARTSWITH谓词。 示例 下面的示例为每个至少有一个21岁以下的人州返回一行。

83430

SQL命令 WHERE(一)

ORDER BY Age 整型和字符串 如果将定义为整数数据类型字段与数值进行比较,则在执行比较之前将数值转换为规范形式。...例如,WHERE Age=007.00解析为WHERE Age=7。 这种转换发生在所有模式。 如果将定义为整数数据类型字段与Display模式下字符串进行比较,则将该字符串解析为数值。...SQL只在Display模式下执行解析; 在逻辑或ODBC模式下,将整数与字符串进行比较将返回null`。 要比较字符串字段和包含单引号字符串,请使用双引号。...它们总是使用区分大小写EXACT排序法。 两个字面值字符串谓词比较总是区分大小写。...动态SQL查询WHERE子句会自动针对空离群值进行优化。 例如,WHERE FavoriteColors IS NULL这样子句

2.9K20

SQL谓词概述(一)

当希望返回包含已知子字符串文字字符或包含已知序列多个已知子字符串数据值时,请使用LIKE。LIKE使用其目标的排序规则进行字母大小写比较。...%Matches使用精确排序规则进行字母大小写比较。 %PATTERN - 使用字符类型模式匹配条件。...默认情况下,字符串数据类型字段是用SQLUPPER排序规则定义,它不区分大小写。 如果在查询中指定排序规则类型,则必须在比较两边指定它。...这些谓词总是使用EXACT排序法,因此总是区分大小写。 因为有些排序规则会在字符串附加一个空格,所以如果这些谓词遵循字段默认排序规则,它们就不能执行它们功能。...但是,LIKE谓词可以使用通配符来匹配嵌入在字符串字符串。 LIKE使用字段默认排序规则,默认情况下不区分大小写

1.2K20

30个MySQL数据库常用小技巧,吐血整理。

在向数据库插入这些特殊字符时,一定要进行转义处理。 3、MySQL如何执行区分大小写字符串比较? 在Windows平台下,MySQL是区分大小,因此字符串比较函数也区分大小写。...如果 想执行区分大小写比较可以字符串前面添加BINARY关键字。...3、应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0...,确保表num列没有null值,然后这样查询: select id from t where num=0 4、尽量避免在where子句中使用or来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如...这是因为引擎在处理查询和连接时会逐个比较字符串每一个字符,而对于数字型而言只需要比较一次就够了。

97750

SQL谓词 LIKE

默认情况下,字符串数据类型字段是用SQLUPPER排序规则定义,它不区分大小写。 如果LIKE应用于具有SQLUPPER默认排序类型字段,则LIKE子句返回忽略字母大小写匹配项。...可以使用SQLSTRING排序规则类型执行区分大小写LIKE字符串比较。 下面的示例返回包含子字符串“Ro”所有名称。...WHERE Name LIKE '%Ro%' 将其与Contains操作符([)进行比较,后者使用EXACT(区分大小写)排序: SELECT Name FROM Sample.Person WHERE...Name [ 'Ro' 通过使用%SQLSTRING排序类型,可以使用LIKE只返回那些包含区分大小写字符串“Ro”名称。...默认情况下,LIKE字符串比较区分大小写: SELECT %ID,Name FROM Sample.Person WHERE Name LIKE '%son%' 下面的嵌入式SQL示例返回与前一个示例相同结果集

2.3K30

SqlAlchemy 2.0 中文文档(三十八)

当保持默认值None时,根据列标识符是否区分大小写(至少有一个大写字符标识符被视为区分大小写),或者是否是保留字来引用列标识符。...注意 将此标志设置为False将不会为表反射提供区分大小写行为;表反射将始终以区分大小写方式搜索混合大小写名称。...当保持默认值None时,列标识符将根据名称是否区分大小写(至少有一个大写字符标识符被视为区分大小写),或者是否为保留字来引用。...当保持其默认值None时,根据名称是否区分大小写(至少有一个大写字符标识符被视为区分大小写),或者它是否是保留字来引用列标识符。...注意 将此标志设置为 False 将不会为表反射提供区分大小写行为;表反射将始终以区分大小写方式搜索混合大小写名称。

10910

SQL函数 %SQLSTRING

这意味着 ORDER BY 和比较操作仅评估截断索引字符串。这种截断对于对超过下标的最大字符长度字符串进行索引特别有用。使用 maxlen 参数,如果需要对长字段进行索引,可以使用截断长度参数。...",6) The q注意:要将系统范围默认排序规则从 %SQLUPPER(区分大小写)更改为 %SQLSTRING(区分大小写),请使用以下命令: WRITE $$SetEnvironment^%...示例以下查询在 WHERE 子句中使用 %SQLSTRING 来执行区分大小写选择:SELECT Name FROM Sample.PersonWHERE %SQLSTRING Name %STARTSWITH...%SQLSTRING 'Al'ORDER BY Name默认情况下,%STARTSWITH 字符串比较区分大小写。...此示例使用 %SQLSTRING 格式使此比较区分大小写。它返回所有以“Al”开头名称(例如 Allen、Alton 等)。

1.1K20

MySQL LIKE 子句

WHERE 子句可以使用等号 = 来设定获取数据条件,如 “table_name = ‘表格清单’”。...LIKE 子句是在 MySQL 中用于在 WHERE 子句进行模糊匹配关键字。它通常与通配符一起使用,用于搜索符合某种模式字符串。...更多说明 你可以WHERE 子句中指定任何条件。 你可以WHERE 子句中使用LIKE子句。 你可以使用LIKE子句代替等号 =。 LIKE 通常与 % 一同使用,类似于一个元字符搜索。...WHERE student_code LIKE 'nan%' COLLATE utf8mb4_general_ci; -- 解释:区分大小写匹配(查询学生编码以“nan”开头所有数据,区分大小写...已知学生编码字段中含有“nan”数据如下(区分大小写) 查询结果 LIKE 子句提供了强大模糊搜索能力,可以根据不同模式和需求进行定制。

11410

Golang 语言 Web 框架 beego v2 之读操作

Read 方法默认把主键作为查询条件,也可以指定字段作为查询条件,如果指定字段作为查询条件,需要在 Read 方法第二个参数传入指定字段名称。...One 方法默认返回记录所有字段,如果需要指定返回字段,可以在 One 方法传入需要返回字段名称,多个字段名称以英文逗号分隔,未指定返回字段,返回该字段类型零值。...)iexact 等于(区分大小写)contains Like(区分大小写)icontains Like( 区分大小写)startswith (前置模糊查询,区分大小写)istartswith(前置模糊查询...,区分大小写)endswith(后置模糊查询,区分大小写)iendswith(后置模糊查询,区分大小写) QuerySeter 方法 Filter 包含 Filter 方法用来过滤查询结果,起到...第二个参数可以设置 offset,需要特别注意是,这里 limit / offset 和原生 sql limit / offset 是反过来

1K20

重学 SQL(一)

查询 SELECT 语句 在执行查询前,我们需要先确定我们将要查询数据库,使用 USE 关键字: USE [database_name]; 注意: SQL 是区分大小写语言,但是关键字我们最好使用大写形式...我们把每个子句分别写在一行在复杂查询是十分有用。 SELECT 子句 我们可以使用 * 返回全部列,或者单独指定希望返回列名列表。 我们还可以对列进行算数运算,使用 AS 对某列指定别名。...子句 WHERE 子句用于过滤我们结果集,我们在 WHERE 子句可以使用比较运算符,不等于使用符号表示为 !...LIKE/ NOT LIKE 在检索字符串相关行时,我们可以使用 LIKE 运算符检索特定模式: -- 以 b 开头,区分大小写 SELECT * FROM customers WHERE last_name...需要特别注意,在 MySQL ,我们可以使用未选择列进行排序,而其他关系型数据库则会报错。

1.1K20

MySql基础-笔记5 -WHERE 、UPDATE、DELETE、LIKE、UNION使用

可以WHERE 子句中指定任何条件。你可以使用 AND 或者 OR 指定一个或多个条件。WHERE 子句可以运用于 SQL DELETE 或者 UPDATE 命令。...WHERE 子句类似于程序语言中 if 条件,根据 MySQL 表字段值来读取指定数据。...2、再在数据表study_tb1插入三条数据,study_username均为张三,然后再将其进行查找出来图片1.4、BINARY 使用WHERE 子句字符串比较区分大小写可以使用 BINARY...关键字来设定 WHERE 子句字符串比较区分大小写插入study_username为ZHANGSAN和zhangsan两个表,然后使用WHERE和BINARY进行查询图片2、UPDATE 更新2.1...你可以WHERE 子句中指定任何条件。你可以在一个单独表同时更新数据。

1.3K30

SQL学习收获与心得

大家好,又见面了,我是你们朋友全栈君。 SQL或结构化查询语言是一种语言,旨在允许技术和非技术用户查询,操作和转换关系数据库数据。...所有这些都支持通用SQL语言标准,这是该网站将要教授内容,但每个实现可以在它支持附加功能和存储类型方面有所不同。...为了过滤返回某些结果,要利用 WHERE 在查询增加一个子句。通过检查特定列值来确定是否应将其包含在结果,从而将该子句应用于每行数据。可以通过连接多个AND或OR逻辑关键字来构造更复杂子句。...SQL并不要求用户将关键字全部写为大写,但作为约定,它可以帮助人们区分SQL关键字与列和表名,并使查询更易于阅读。...在WHERE使用包含文本数据列编写子句时,SQL支持许多有用运算符来执行区分大小写字符串比较和通配符模式匹配等操作。

41820
领券