Django執(zhí)行源生mysql語句實現(xiàn)過程解析
1.使用extra方法
解釋:結(jié)果集修改器,一種提供額外查詢參數(shù)的機制
說明:依賴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') #返回模型實例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. mysql like語句問題2. 解決mybatis一對多關(guān)聯(lián)查詢多條數(shù)據(jù)只顯示一條的問題3. Mysql入門系列:MYSQL創(chuàng)建、刪除和選擇數(shù)據(jù)庫4. MySQL 8.0.19安裝詳細教程(windows 64位)5. Mysql入門系列:MYSQL表達式求值和MYSQL類型轉(zhuǎn)換6. MySQL公司CEO采訪 MySQL如何從開源中獲利7. 恢復(fù)誤刪數(shù)據(jù)(SQL Server 2000)--Log Explorer8. Oracle數(shù)據(jù)庫備份與恢復(fù)精華資料集錦9. Mysql實現(xiàn)主從配置和多主多從配置10. MySQL 常用的拼接語句匯總
