原生的数据库操作方法
-
1、使用MyModel.objects.raw()进行 数据库查询操作查询
- 在django中,可以使用模型管理器的raw方法来执行select语句进行数据查询
- 语法:
MyModel.objects.raw(sql语句)
- 用法
MyModel.objects.raw('sql语句')
- 返回值:
- RawQuerySet 集合对象 【只支持基础操作,比如循环】
-
示例
books = models.Book.objects.raw('select * from bookstore_book') for book in books: print(book)
-
2、使用django中的游标cursor对数据库进行 增删改操作
-
在Django中可以使用 如UPDATE,DELETE等SQL语句对数据库进行操作。
-
在Django中使用上述非查询语句必须使用游标进行操作
-
使用步骤:
-
导入cursor所在的包
- Django中的游标cursor定义在 django.db.connection包中,使用前需要先导入
- 如:
from django.db import connection
-
用创建cursor类的构造函数创建cursor对象,再使用cursor对象,为保证在出现异常时能释放cursor资源,通常使用with语句进行创建操作
-
如:
from django.db import connection with connection.cursor() as cur: cur.execute('执行SQL语句')
-
-
示例
# 用SQL语句将id 为 10的 书的出版社改为 "XXX出版社" from django.db import connection with connection.cursor() as cur: cur.execute('update bookstore_book set pub_house="XXX出版社" where id=10;') with connection.cursor() as cur: # 删除 id为1的一条记录 cur.execute('delete from bookstore_book where id=10;')
-
-
本文介绍了在Django中如何使用原生SQL语句进行数据库查询和增删改操作,包括使用MyModel.objects.raw()方法执行select语句及利用游标cursor执行UPDATE、DELETE等SQL语句的具体步骤。

878

被折叠的 条评论
为什么被折叠?



