zoukankan      html  css  js  c++  java
  • django执行源生的mysql语句

    执行源生sql在python中我们可以借助pymysql模块来进行执行源生sql关于pymysql执行源生sql可以看我的另外一篇博文:pymysql应用

    本篇博客只介绍django中执行的源生sql

    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()     
  • 相关阅读:
    Java快速教程
    让我们来了解一下:操作系统和平台相关性
    初窥Linux 之 我最常用的20条命令
    ES6学习笔记一
    Data时间管理大全
    generator多返回值写法
    箭头函数=>
    闭包
    高阶函数:map/reduce
    函数方法that与apply
  • 原文地址:https://www.cnblogs.com/sui776265233/p/11345062.html
Copyright © 2011-2022 走看看