2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > django执行原生SQL语句

django执行原生SQL语句

时间:2022-04-28 02:12:53

相关推荐

django执行原生SQL语句

1、原生SQL用法概述

django可以执行原生SQL语句,主要分读和写两类,用法如下:

读(查):xxxModel.object.raw()写(增删改):connection.cursor()

2、应用案例

2.1 django执行原生SQL操作

django内置方法中的raw(),可以帮助我们直接执行SQL的原生语句,返回QuerySet 集合对象

# appName: test# tableName in model.py: Book# tableName in DB: test_bookfrom model import Bookbooks_obj_list = Book.objects.raw('select distinct id, book_name from test_book')for book_obj in books_obj_list:print(book_obj.id, book_obj.book_name)

2.2 django执行原生SQL操作

django中使用游标cursor对数据库进行增删改操作,创建cursor类的构造函数创建cursor对象,再使用cursor对象,为保证在出现异常时能释放cursor资源,通常使用with语句进行创建操作

常用语法如下:

from django.db import connectionwith connection.cursor() as cur:cur.execute('SQL语句')

举例:

# 用SQL语句将id 为 9527 的书的出版社改为 "星爷出版社"from django.db import connection# UPDATEwith connection.cursor() as cur: cur.execute('update test_book set publishing_house="星爷出版社" where id=9527;')# DELETEwith connection.cursor() as cur:# 删除 id为10 的一条记录cur.execute('delete from test_book where id=10;')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。