Django(part30)--原生的数据库操作方法(django怎么实现从数据库获取)

网友投稿 311 2022-08-31


Django(part30)--原生的数据库操作方法(django怎么实现从数据库获取)

学习笔记,仅供参考

原生的数据库操作方法

使用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)


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django(part16)--URL反向解析(django 反向解析)
下一篇:使用Spring初始化加载InitializingBean()方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~