Django执行源生mysql语句实现过程解析


Posted in Python onNovember 12, 2020

1.使用extra方法

解释:结果集修改器,一种提供额外查询参数的机制

说明:依赖model模型

使用方式:

用在where后:

Book.objects.filter(publisher_id="1").extra(where=["title='python学习1'"])

用在select后

Book.objects.filter(publisher_id="1").extra(select={"count":"select count(*) from hello_book"})

2.使用raw方法

解释:执行原始sql并返回模型

说明:依赖model多用于查询

使用方式:

book = Book.objects.raw("select * from hello_book") #返回模型实例

for item in book:



print(item.title)

3.执行自定义SQL

解释:利用游标执行

导入:from django.db import connection

说明:不依赖model

使用方式:

from django.db import connection

cursor = connection.cursor()
# 插入
cursor.execute("insert into hello_author(name) values('xiaol')")
# 更新
cursor.execute("update hello_author set name='xiaol' where id=1")
# 删除
cursor.execute("delete from hello_author where name='xiaol'")
# 查询
cursor.execute("select * from hello_author")
# 返回一行
raw = cursor.fetchone()
print(raw)
# 返回所有
# cursor.fetchall() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的web框架中编写创建日志的程序的教程
Apr 30 Python
Python Socket实现简单TCP Server/client功能示例
Aug 05 Python
Python单例模式的两种实现方法
Aug 14 Python
pyqt5自定义信号实例解析
Jan 31 Python
Python实现判断给定列表是否有重复元素的方法
Apr 11 Python
如何通过Python实现标签云算法
Jul 02 Python
简单了解Python3里的一些新特性
Jul 13 Python
在Django下测试与调试REST API的方法详解
Aug 29 Python
Python导入模块包原理及相关注意事项
Mar 25 Python
Tensorflow加载Vgg预训练模型操作
May 26 Python
python实现梯度下降算法的实例详解
Aug 17 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
Django Model层F,Q对象和聚合函数原理解析
Nov 12 #Python
在Python中字典按值排序的实现方法
Nov 12 #Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 #Python
通过代码简单了解django model序列化作用
Nov 12 #Python
Django contrib auth authenticate函数源码解析
Nov 12 #Python
python 获取字典键值对的实现
Nov 12 #Python
Sentry错误日志监控使用方法解析
Nov 12 #Python
You might like
PHP与SQL注入攻击[三]
2007/04/17 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
php-msf源码详解
2017/12/25 PHP
popdiv
2006/07/14 Javascript
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
2009/12/14 Javascript
JavaScript 数组循环引起的思考
2010/01/01 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
python下10个简单实例代码
2017/11/15 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
Python导入模块包原理及相关注意事项
2020/03/25 Python
巴基斯坦购物网站:Goto
2019/03/11 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
安全月宣传标语
2014/10/07 职场文书