zoukankan      html  css  js  c++  java
  • Django 使用原生sql语句操作数据库

    Django配置连接数据库:

    只需要在 settings.py 文件中做好数据库相关的配置就可以了

    DATABASES = {
    	'default': {
       		'ENGINE': 'django.db.backends.mysql',   #数据库引擎
        	'NAME': 'book_manager1',                #数据库的名字
        	'USER': 'root',                         #连接mysql数据库的用户名
        	'PASSWORD': '123456',                   #连接mysql数据库的密码
        	'HOST': '127.0.0.1',                    #mysql数据库的主机地址
        	'PORT': '3306',                         #mysql数据库的端口号
    	}
    }	
    

    Django使用原生sql语句操作数据库

    在 Django中使用原生sql语句操作其实就是使用python db api的接口来操作。如果你的mysql驱动使用的是pymysql,那么你就是使用pymysql来操作的,只不过Django将数据库连接的这一部分封装好了,我们只要在settings.py中配置好了数据库连接信息后直接使用 Django 封装好的接口就可以操作了。

    • 使用django封装好的connection对象,会自动读取settings.py中数据库的配置信息

        from django.db import connection
      
    • 获取游标对象

        cursor = connection.cursor()
      
    • 拿到游标对象后执行sql语句

        cursor.execute("select * from book")
      
    • 获取所有的数据

        rows = cursor.fetchall()
      
    • 遍历查询到的数据

        for row in rows:
        	print(row)
      

    常用接口

    1.rowcount

    代表的是在执行了 sql 语句后受影响的行数。

    2.close

    关闭游标。关闭游标以后就再也不能使用了,否则会抛出异常。

    3.execute(sql[,parameters])

    执行某个sql语句。如果在执行sql语句的时候还需要传递参数,那么可以传给parameters参数。示例代码如下:

    cursor.execute("select * from article where id=%s",(1,))
    

    3.fetchaone

    在执行了查询操作以后,获取第一条数据

    4.fetchmany(size)

    在执行查询操作以后,获取多条数据。具体是多少条要看传的size参数。如果不传 size 参数,那么默认是获取第一条数据。

    5.fetchall

    获取所有满足sql语句的数据

  • 相关阅读:
    2021NUAA暑假集训 Day3 题解
    2021NUAA暑假集训 Day2 题解
    2021NUAA暑期模拟赛部分题解
    CodeForces 1038D Slime
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 10689 Yet another Number Sequence
    HDU 4549 M斐波那契数列
    HDU 4990 Reading comprehension
    CodeForces 450B Jzzhu and Sequences
  • 原文地址:https://www.cnblogs.com/jiajiaba/p/10588795.html
Copyright © 2011-2022 走看看