原生sql语句

cursor方法:
from api.models import *
from django.db import connection,connections
cursor=connection.cursor()##cursor=connection['default'].cursor()配置了sql数据库的情况
##不传参数的情况
# cursor.execute("""select * from api_userinfo """) 为原生sql语句设置参数的情况
# cursor.execute("""select * from api_userinfo where id=%s""",[2,])
# cursor.execute("""select * from api_userinfo where id=%s"""%1)
cursor.execute("select * from api_userinfo where id=%s",params=[1,])
# row=cursor.fetchone()
# row=cursor.fetchmany()
row=cursor.fetchall()##拿到全部的数据
# print(row) '''
[(1, 'yunxin', '123')]
''' row方法:(掺杂着原生sql和orm来执行的操作)
res=UserInfo.objects.raw('select id as nid  from  api_userinfo  where  id>%s',params=[1,])
print(res.columns)
print(type(res))


在select里面查询到的数据orm里面的要一一对应
UserInfo.objects.raw('select id as nid from '其他表')
后面的select的不一定是UserInfo表,有可能是是其他表,只要字段名字一样就可以

如果select的是其他表的时候,必须将名字设置为当前UserInfo的主键列名

translations:
UserInfo.objects.raw('select id as nid from '其他表' where nid>%s',params=[1,])
后面可以加参数进来
name={}
translations=name
将或取到的列名转化为指定的列名,才可以查询


# UserInfo.objects.all().using('default')
val=UserInfo.objects.using('default').all().values('id')
#选择连接那个数据库,但是queryset的时候,才有using方法
print(val)
#选择连接那个数据库,但是queryset的时候,才有using方法
结果:
<QuerySet [{'id': 1}, {'id': 2}, {'id': 3}]> exclude方法:(将什么排除)
val=UserInfo.objects.using('default').all().values('id').exclude(id=1)##exclude将id=1的排除在外
#选择连接那个数据库,但是queryset的时候,才有using方法
print(val)
结果:

<QuerySet [{'id': 2}, {'id': 3}]>

 

执行原生SQL语句的方式的更多相关文章

  1. orm分组,聚合查询,执行原生sql语句

    from django.db.models import Avg from app01 import models annotate:(聚合查询) ret=models.Article.objects ...

  2. django系列5.4--ORM中执行原生SQL语句, Python脚本中调用django环境

    ORM执行原生sql语句 在模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询. Django 提供两种方法使用原始SQL进行查询:一种是使用raw()方法,进行原始SQL查询并返回 ...

  3. 2016/05/13 thinkphp 3.2.2 ① 数据删除及执行原生sql语句 ②表单验证

    [数据删除及执行原生sql语句] delete()  返回受影响的记录条数 $goods -> delete(30);   删除主键值等于30的记录信息 $goods -> delete( ...

  4. java:Hibernate框架3(使用Myeclipse逆向工程生成实体和配置信息,hql语句各种查询(使用hibernate执行原生SQL语句,占位符和命名参数,封装Vo查询多个属性,聚合函数,链接查询,命名查询),Criteria)

    1.使用Myeclipse逆向工程生成实体和配置信息: 步骤1:配置MyEclipse Database Explorer: 步骤2:为项目添加hibernate的依赖: 此处打开后,点击next进入 ...

  5. Django中执行原生SQL语句【新编辑】

    参考我的个人博客 这部分迁移到了个人博客中:Django中执行原生SQL语句 这里需要补充一下,还有一个extra方法: ret = models.Student.objects.all().extr ...

  6. thinkPHP框架中执行原生SQL语句的方法

    这篇文章主要介绍了thinkPHP框架中执行原生SQL语句的方法,结合实例形式分析了thinkPHP中执行原生SQL语句的相关操作技巧,并简单分析了query与execute方法的使用区别,需要的朋友 ...

  7. Django之ORM执行原生sql语句

    django中的ORM提供的操作功能有限,在模型提供的查询API不能满足实际工作需要时,可以在ORM中直接执行原生sql语句. Django 提供两种方法使用原生SQL进行查询:一种是使用raw()方 ...

  8. laravel 跨库执行原生 sql 语句

    执行原生 sql 返回结果集

  9. 关于No Dialect mapping for JDBC type :-9 hibernate执行原生sql语句问题

    转自博客http://blog.csdn.net/xd195666916/article/details/5419316,同时感谢博主 今天做了个用hibernate直接执行原生sql的查询,报错No ...

随机推荐

  1. js 图片压缩上传(纯js的质量压缩,非长宽压缩)

    下面是大神整理的demo,很实用,这里存一下备用,感谢大神! 此demo为大于1M对图片进行压缩上传 若小于1M则原图上传,可以根据自己实际需求更改. demo源码如下 <!DOCTYPE ht ...

  2. JS中var、let、const区别? 用3句话概括

    使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象: 使用let声明的变量,其作用域为该语句所在的代码块内,不存在变量提升: 使用const声明的是常量,在后面出现的代码中不能再修 ...

  3. ASP.NET Web API 2 使用 DelegatingHandler(委托处理程序)实现签名认证

    Ø  前言 在前一篇ASP.NET Web API 2 使用 AuthorizationFilter(授权过滤器)实现 Basic 认证文章中实现了采用 Basic 认证的方式,但是这种方式存在安全隐 ...

  4. UDP客户/服务器程序所用的套接字函数

  5. AD软件使用心得

    1.在更新原理图之前一定要标记所有器件,否则无法生成PCB器件. 2.学会用sch list网表来批量修改器件名称 3.布线的面

  6. 【noip 2016】提高组

    D1T1.玩具谜题 题目链接 直接模拟就好了……water. #include<cstdio> int n,m,a,s,ans; ];]; int main() { scanf(" ...

  7. 关于PHP面向对象中—类的定义与对象的实例化操作以及构造、析构函数的特殊用法

    类的定义与对象的实例化操作 <?php //类里面的成员是属于对象的class Hero{    public $name;//成员变量    //成员属性(存在于强类型语言中)    prot ...

  8. [C++]Linux之读取计算机网络数据[/proc/net/dev]

    #include<stdlib.h> #include<stdio.h> #define BUFFER_SIZE 256 int main(){ FILE *stream; c ...

  9. 添加,删除List<Map<String, Object>>元素

    这里讲对List<Map<String, Object>>的数据结构的添加和删除实例 添加 //初始化 List<Map<String, Object>> ...

  10. DeepLearning.ai-Week1-Convolution+model+-+Application

    1.0 - TensorFlow model 导入相关依赖包. import numpy as np import h5py import matplotlib.pyplot as plt impor ...