Python教程自学网欢迎您来学习!
当前位置: 首页 > django > Django中使用原生sql语句的方法

Django中使用原生sql语句的方法

   

提到sql语句相信大家都不陌生,在编程中也是广泛运用。不过结合django大家知道该怎样运用吗?这样有一点难度,所以本篇文章从最基础的理论知识讲起,也有助于大家对sql语句的进一步认知。今天就原生sql语句的基础知识给大家带来分享,其中的知识点可以单独记录。

1.使用extra方法

解释:结果集修改器,一种提供额外查询参数的机制

说明:依赖model模型

用法:

1)用在where后:

Book.objects.filter(publisher_id=”1″).extra(where=[“title=’python学习1′”])

2)用在select后

Book.objects.filter(publisher_id=”1″).extra(select={“count”:”select count(*) from hello_book”})

2.使用raw方法

解释:执行原始sql并返回模型

说明:依赖model多用于查询

用法:

1)book = Book.objects.raw(“select * from hello_book”)

2)for item in book:

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

 

以上就是Django中使用原生sql语句的方法,因为讲的都是基础的sql理论,怕忘记的可以用文本复制到桌面,也容易随时翻阅。sql语句内容比较多,所以在理论的学习小伙伴们要加把劲啦。