zoukankan      html  css  js  c++  java
  • DjangoORM执行原生sql

    在Django中使用原生Sql主要有以下几种方式:
    一:extra:结果集修改器,一种提供额外查询参数的机制
    二:raw:执行原始sql并返回模型实例
    三:直接执行自定义Sql
     
    这种方式完全不依赖model,前两种还是要依赖于model
    实例:
    使用extra:
    1:Book.objects.filter(publisher__name='广东人员出版社').extra(where=['price>50'])
    Book.objects.filter(publisher__name='广东人员出版社',price__gt=50)
     
    2:Book.objects.extra(select={'count':'select count(*) from hello_Book'})
     
    使用raw:
    Book.objects.raw('select * from hello_Book')
     
    自定义sql:
    Book.objects.raw("insert into hello_author(name) values('测试')")
    rawQuerySet为惰性查询,只有在使用时生会真正执行
     
    执行自定义sql:
    from django.db import connection
    cursor=connection.cursor()
    #插入操作
    cursor.execute("insert into hello_author(name) values('郭敬明')")
    #更新操作
    cursor.execute('update hello_author set name='abc' where name='bcd'')
    #删除操作
    cursor.execute('delete from hello_author where name='abc'')
    #查询操作
    cursor.execute('select * from hello_author')
    raw=cursor.fetchone() #返回结果行游标直读向前,读取一条
    cursor.fetchall() #读取所有
  • 相关阅读:
    一般图最大匹配
    hdu4486 Pen Counts
    hdu4416 Good Article Good sentence (后缀数组)
    hdu2275 Kiki & Little Kiki 1 (多重集合的应用)
    (转)2sat 专题
    DP专题
    开始
    WP7 如何禁用WebBrowser 控件缩放和左右移动
    WP7 Bing Map 显示中文地图
    希望与大家分享新的技术
  • 原文地址:https://www.cnblogs.com/jokerbj/p/8343366.html
Copyright © 2011-2022 走看看