django配置连接数据库及原生sql语句的使用方法


Posted in Python onMarch 03, 2019

前言

本文主要给大家介绍了关于django配置连接数据库及原生sql语句的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

Django配置连接数据库:

在操作数据库之前,首先先要连接数据库。这里我们以配置MySQL为例来讲解。Django连接数据库,不需要单独的创建一个连接对象。只需要在settings.py文件中做好数据库相关的配置就可以了。

示例代码如下:

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

在Django中操作数据库:

在Django中操作数据库有两种方式。第一种方式就是使用原生sql语句操作,第二种就是使用ORM模型来操作。这节课首先来讲下第一种。

在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)

以上的execute以及fetchall方法都是Python DB API规范中定义好的。任何使用Python来操作MySQL的驱动程序都应该遵循这个规范。所以不管是使用pymysql或者是mysqlclient或者是mysqldb,他们的接口都是一样的。更多规范请参考:https://www.python.org/dev/peps/pep-0249/。

Python DB API下规范下cursor对象常用接口:

1、description:如果cursor执行了查询的sql代码。那么读取cursor.description属性的时候,将返回一个列表,这个列表中装的是元组,元组中装的分别是(name,type_code,display_size,internal_size,precision,scale,null_ok),其中name代表的是查找出来的数据的字段名称,其他参数暂时用处不大。

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

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

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

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

5、fetchone:在执行了查询操作以后,获取第一条数据。

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

7、fetchall:获取所有满足sql语句的数据。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python中的__init__ 、__new__、__call__小结
Apr 25 Python
python基础教程之循环介绍
Aug 29 Python
python获取本机外网ip的方法
Apr 15 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
对python实现二维函数高次拟合的示例详解
Dec 29 Python
python3转换code128条形码的方法
Apr 17 Python
Tensorflow实现酸奶销量预测分析
Jul 19 Python
Python线程条件变量Condition原理解析
Jan 20 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
Apr 22 Python
Python3自动生成MySQL数据字典的markdown文本的实现
May 07 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
更新修改后的Python模块方法
Mar 03 #Python
详解js文件通过python访问数据库方法
Mar 03 #Python
Python中的random.uniform()函数教程与实例解析
Mar 02 #Python
Python中按键来获取指定的值
Mar 02 #Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 #Python
Python实现的序列化和反序列化二叉树算法示例
Mar 02 #Python
Python求一批字符串的最长公共前缀算法示例
Mar 02 #Python
You might like
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
JS 实现Json查询的方法实例
2013/04/12 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
2017/07/18 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
2020/08/09 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
python 默认参数问题的陷阱
2016/02/29 Python
python中subprocess批量执行linux命令
2018/04/27 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
python操作cfg配置文件方式
2019/12/22 Python
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
2012/12/28 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
Omio中国:全欧洲低价大巴、火车和航班搜索和比价
2018/08/09 全球购物
Linux操作面试题
2015/02/11 面试题
2014年两会学习心得体会
2014/03/17 职场文书
材料成型及控制工程专业求职信
2014/06/19 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
领导干部考核评语
2015/01/04 职场文书
售票员岗位职责
2015/02/15 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书