原生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. 实惠VPS推荐

    1. Topmain 2. Virmach 3. BanwagonHost  [备用地址1] [备用地址2] 4. HiFormance  (跑路) 5. my.hosteons.com 6. . 以 ...

  2. 三十七、Linux 线程——线程清理和控制函数、进程和线程启动方式比较、线程的状态转换

    37.1 线程清理和控制函数 #include <pthread.h> void pthread_cleanup_push(void (* rtn)(void *), void *arg) ...

  3. 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)

    [转]作者:xwdreamer   出处:http://www.cnblogs.com/xwdreamer 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &am ...

  4. Python使用的技巧

    1. 给你一个字符串 a, 请你输出逆序之后的a. 例如:a=‘xydz’ 则输出:zdyx a=a[::-1] print(a) 扩展:Python切片操作. 2. 给你两个正整数a和b, 输出它们 ...

  5. C#Windows 服务的安装说明

    安装/卸载的步骤: 1 . .点击 开始,运行中输入cmd,获取命令提示符win7需要已管理员的身份启动,否则无法安装 2. 输入 : cd C:\Windows\Microsoft.NET\Fram ...

  6. 实现多线程爬取数据并保存到mongodb

    多线程爬取二手房网页并将数据保存到mongodb的代码: import pymongo import threading import time from lxml import etree impo ...

  7. 浅谈linux线程切换问题

    http://www.jb51.net/article/102059.htm 处理器总处于以下状态中的一种: 1.内核态,运行于进程上下文,内核代表进程运行于内核空间 2.内核态,运行于中断上下文,内 ...

  8. 4-24日 collections模块 random模块 time模块 sys模块 os模块

    1, collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdi ...

  9. LOJ #2542「PKUWC2018」随机游走

    $ Min$-$Max$容斥真好用 $ PKUWC$滚粗后这题一直在$ todolist$里 今天才补掉..还要更加努力啊.. LOJ #2542 题意:给一棵不超过$ 18$个节点的树,$ 5000 ...

  10. 【mmall】IDEA插件jrebel

    破解方法 http://www.jianshu.com/p/87b11bad3d7f