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()     
  • 相关阅读:
    第七周进度报告
    解析极限编程阅读笔记02
    解析极限编程阅读笔记01
    第六周进度报告
    合作开发项目-地铁线路查询
    构建之法阅读笔记03
    关于DeferredResult的思考
    java实现任务调度
    java里面如何提升编写速度
    收集整理mysql数据库设计规范与原则
  • 原文地址:https://www.cnblogs.com/sui776265233/p/11345062.html
Copyright © 2011-2022 走看看