zoukankan      html  css  js  c++  java
  • 执行原生SQL语句的方式

    原生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}]>

     
  • 相关阅读:
    BackupPC备份
    H5日常使用
    无互联网环境安装docker
    docker 部署zabbix
    docker: error pulling image configuration:
    java web开发入门六(spring mvc)基于intellig idea
    java web开发入门七(mybatis)基于intellig idea
    java web开发入门九(Maven使用&idea创建maven项目)基于intellig idea
    Intellij IDEA使用一 创建javaweb项目并配置tomcat
    java web开发入门四(spring)基于intellig idea
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/9906060.html
Copyright © 2011-2022 走看看