您的位置:首页技术文章
文章详情页

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

【字号: 日期:2023-10-09 11:46:45浏览:42作者:猪猪

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() 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。

标签: MySQL 数据库
相关文章: