学习笔记,仅供参考


原生的数据库操作方法

使用raw进行查询操作

在django中,可以使用模型管理器的raw方法来执行select语句进行数据查询

  • 用法
Entry.objects.raw('sql语句')
  • 返回值

QuerySet 集合对象

  • 举个例子

在Django shell中敲入如下代码:

books = models.Book.objects.raw('select * from bookstore_book;')
for book in books:print(book)

输出:

书名:Djangoweb开发实战, 出版社:清华大学出版社
书名:python, 出版社:机械工业出版社
书名:R, 出版社:人民邮电出版社
书名:数据处理, 出版社:清华大学出版社
书名:算法, 出版社:人民邮电出版社
书名:小黄, 出版社:黑山羊出版社

使用游标cursor进行增删改操作

在DJaogo中使用非查询语句(UPDATE、DELETE等)进行操作时,必须使用游标

  • 使用步骤

    • 导入cursor所在的包
    • 创建cursor对象,为保证在出现异常时能释放cursor资源,通常使用with语句进行创建操作
  • 举个例子

在Django shell中敲入如下代码:

from django.db import connection
#将黑山羊出版社的记录的书目改为大黄
with connection.cursor() as cur: cur.execute('update bookstore_book set title="大黄" where pub="黑山羊出版社";')
#删除id=4的一条记录
with connection.cursor() as cur:cur.execute('delete from bookstore_book where id=4;')

查看数据库:

mysql> select * from bookstore_book;
+----+-------------------+----------------+------------+-------+
| id | title             | pub            | exfacPrice | price |
+----+-------------------+----------------+------------+-------+
|  1 | Djangoweb开发实战 | 清华大学出版社 |      35.00 | 40.00 |
|  2 | python            | 机械工业出版社 |      35.00 | 40.00 |
|  3 | R                 | 人民邮电出版社 |      35.00 | 40.00 |
|  5 | 算法              | 人民邮电出版社 |      45.00 | 30.00 |
|  6 | 大黄              | 黑山羊出版社   |      45.00 | 30.00 |
+----+-------------------+----------------+------------+-------+
5 rows in set (0.00 sec)

Django(part30)--原生的数据库操作方法相关推荐

  1. django使用mysql原始语句,Django中使用mysql数据库并使用原生sql语句操作

    Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库. 准备的软件 mysql数据库,版本5. ...

  2. echarts导入mysql数据库_Echarts最新:Django中从mysql数据库中获取数据传到echarts方式_爱安网 LoveAn.com...

    关于"Echarts"的最新内容 聚合阅读 这篇文章主要介绍了基于vue+echarts 数据可视化大屏展示的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随 ...

  3. django执行原生SQL语句

    1.原生SQL用法概述 django可以执行原生SQL语句,主要分读和写两类,用法如下: 读(查):xxxModel.object.raw() 写(增删改):connection.cursor() 2 ...

  4. Django框架连接MySQL数据库

    pymysql安装 pymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysql pip install pymysql 在主项目的文件中设置连接 在项目 ...

  5. 阿里云开源PolarDB数据库,与社区共建云原生分布式数据库生态

    简介:5月29日,阿里云开发者大会上,阿里巴巴宣布开源云原生数据库能力,对外开放关系型数据库PolarDB for PostgreSQL 源代码,服务百万开发者,与社区开发者一起共建云原生分布式数据库 ...

  6. 阿里云原生多模数据库Lindorm联合东软云科技,赋能车联网数字化运营运维创新升级

    简介:阿里云原生多模数据库Lindorm与东软云科技推出联合解决方案,共建面向未来的车联网数字化运营运维云平台.目前,该联合解决方案已在东软睿驰.江铃汽车.长城汽车等客户中得到广泛应用和实践落地. 作 ...

  7. 李飞飞:云原生分布式数据库面临哪些机遇与挑战?

    简介:12月3日,由阿里云CIO学院主办的[2020中国企业数字创新峰会]在杭州举行.400位企业CEO.CTO.CIO齐聚一堂,共同探讨企业数字化转型经验.阿里巴巴集团副总裁.达摩院数据库首席科学家 ...

  8. 每秒8.8亿次请求!让数据存得起,看得见 - 云原生多模数据库Lindorm 2020双十一总结

    简介:2020双十一顺利落下帷幕,这也是云原生多模数据库Lindorm参与的第九个双十一,其作为阿里经济体的核心数据库产品之一,全面支撑了淘宝.天猫.蚂蚁.菜鸟.阿里妈妈.高德.优酷.钉钉.大文娱等经 ...

  9. Django开发基础----操作数据库

    Django中对数据库的操作是由Models来完成的 Models是什么? 通常,一个Model对应数据库的一张数据表 Django中Models以类的形式出现 它包含了一些基本字段以及数据的一些行为 ...

最新文章

  1. 捕获Camera并保存图片到本地(照相功能) -samhy
  2. python中怎么打开文件_python如何打开文件
  3. pthread_create函数编译时报错:undefined reference to 'pthread_create'
  4. java字符串转字符串列表_Java中的字符串列表示例
  5. 【开源】Transformer 在CV领域全面开花:新出跟踪、分割、配准等总结
  6. python链表值讲解_python数据结构之链表的实例讲解
  7. 【面向对象设计基础】UML统一建模语言初学
  8. java 基础 1 final关键字
  9. Python多环境扩展管理-Virtualenv
  10. 手机沙盒隔离软件_Windows 这 5 个自带功能就很好用,你可以少装几个第三方软件了...
  11. IsPostBack结论
  12. 好券零购4.0开发笔记
  13. 诞生11年,入华9年,今年的智慧城市会更好吗?
  14. 使用bash解析xml
  15. python怎么批量读取文件_python如何批量读取txt文件
  16. 事后诸葛亮(葫芦娃队)
  17. 基尔霍夫电流定律KCL,基尔霍夫电压定律KVL
  18. stm32l476时钟设置
  19. Android进阶之光 读书笔记
  20. 计算机支持教学管理任务各种应用,2014暑期-多媒体制作与教学资源应用培训讲义-肖玉玉.ppt...

热门文章

  1. None用法+连接字符串优先使用join +用format而不是%+区别可变对象和不可变对象(list的深拷贝和浅拷贝)
  2. 浮点运算和代码优化, 音频常识, 并行计算
  3. oracle 数据导入 数据和备注(comment)乱码问题解决办法
  4. java内存模型---学习笔记
  5. 一个nuxt(vue)+mongoose全栈项目聊聊我粗浅的项目架构
  6. Java基础知识回顾之七 ----- 总结篇
  7. 找回root密码--Mysql5.6.36
  8. python模块之email: 电子邮件编码解码 (一、解码邮件)
  9. 基于HTML5 WebGL实现 json工控风机叶轮旋转
  10. 【更新】ReSharper v2016.3发布,Visual Studio 2017 RC初步支持