Django執(zhí)行源生mysql語句實(shí)現(xiàn)過程解析
1.使用extra方法
解釋:結(jié)果集修改器,一種提供額外查詢參數(shù)的機(jī)制
說明:依賴model模型
使用方式:
用在where后:
Book.objects.filter(publisher_id='1').extra(where=['title=’python學(xué)習(xí)1’'])
用在select后
Book.objects.filter(publisher_id='1').extra(select={'count':'select count(*) from hello_book'})
2.使用raw方法
解釋:執(zhí)行原始sql并返回模型
說明:依賴model多用于查詢
使用方式:
book = Book.objects.raw('select * from hello_book') #返回模型實(shí)例for item in book:print(item.title)
3.執(zhí)行自定義SQL
解釋:利用游標(biāo)執(zhí)行
導(dǎo)入: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()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 什么是Access數(shù)據(jù)庫2. DB2 V9.5工作負(fù)載管理之閾值(THRESHOLD)3. Oracle數(shù)據(jù)庫的兩種授權(quán)收費(fèi)方式詳解4. Microsoft Office Access刪除表記錄的方法5. SQLSERVER調(diào)用C#的代碼實(shí)現(xiàn)6. MariaDB中1045權(quán)限錯誤導(dǎo)致拒絕用戶訪問的錯誤解決方法7. MySQL DDL 引發(fā)的同步延遲該如何解決8. Sql Server 壓縮數(shù)據(jù)庫日志文件的方法9. MySQL非常重要的日志bin log詳解10. MySQL中建表時可空(NULL)和非空(NOT NULL)的用法詳解

網(wǎng)公網(wǎng)安備