python中使用原始生态sql语句
来源:互联网 发布:数据工程理论与技术 编辑:程序博客网 时间:2024/05/29 21:28
使用原生sql的主要目的是解决一些很复杂的sql不能用ORM的方法写出的问题。
Django中几种写原生sql的方式
1.extra:结果集修改器,是吗一种提供额外查询参数的机制
- >>>> Book.objects.filter(publisher__name = '清华大学出版社').extra(where = ['price > 10']) #查找清华大学
- 出版社中所有大于10元的书籍。
- >>> Book.objects.filter(publisher__name = '清华大学出版社', price__gt = 10) # 意思和上一种相同
- 还有其他的几种方式,不过这个不太常用,所以不多说了。
2.raw:执行原始sql并返回模型实例
- # 查看数据表 blog_book 中的所有的对象。
- >>> b = Book.objects.raw('select * from blog_book') # raw方法返回的是RawQuerySet的对象,可迭代
- >>> for i in b:
- print(i.title)</span>
- raw方法貌似只能用在查询的时候
3.直接执行自定义SQL(这种方法完全不依赖与model,前面两种方式还是要依赖于model)
其实就是用python操作数据库的方法。
如果SQL学的不错的话,强烈建立使用第三种方式来进行
- from django.db import connection
- # 获得一个游标cursor对象
- cursor = connection.cursor()
- # 插入操作
- cursor.execute("insert into blog_author(name) values('韩寒')")
- # 更新操作
- cursor.execute("update blog_author set name = '郭敬明' where name = '韩寒' ")
- # 删除操作
- cursor.execute("delete from blog_author where name = '郭敬明'")
- # 查询操作
- cursor.execute('select * from blog_author')
- # 一条一条的取数据
- raw = cursor.fetchone()
- # 取出所有数据,以元组的形式返
- cursor.fetchall()
注意:在Django中,如果可以用orm解决的话,首选还是orm,不能解决的时候,再考虑使用原生SQL的方式。因为原生SQL就是为了弥补orm不能够很好的执行较为复杂的SQL命令。
阅读全文
0 0
- python中使用原始生态sql语句
- Hibernate使用原生态SQL语句
- Hibernate 执行原始SQL语句
- Hibernate 执行原始SQL语句
- Hibernate 执行原始SQL语句
- ThinkPHP原生态SQL语句查询
- yii2 执行原生态的sql语句
- Grails 执行原始SQL语句配置
- ASP中使用SQL语句
- ASP中使用SQL语句
- ACCESS中使用SQL语句
- Aeecss2007中使用SQL语句
- Sql 语句中case使用
- eclipse中使用sql语句
- EntityFramework中使用sql语句
- python中原始字符串解析
- python sqlite3的使用及sql语句
- [ASP基础][SQL语句]ASP中使用SQL语句教程
- 从零开始学习菜鸟晋级黑客之黑客之“名词介绍”
- 如何使用sklearn进行数据挖掘
- Java并发编程:volatile关键字解析
- 查找整数
- Educational Codeforces Round 34 (Rated for Div. 2) C
- python中使用原始生态sql语句
- 最新版HUSTOJ本地及云端服务器搭建
- 汉诺塔III
- JAVA中long与int的转化
- thrift安装 0.8.0版本
- 15算法课程 292. Nim Game
- 机器学习顶级论文及实现(附地址及简介)
- 注册表键值大全
- 2017年度TOP10课程首度开放试听