香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

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


时间:2022-04-02 10:21 作者:admin


前言

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

Django配置连接数据库

在操作数据库之前,首先先要连接数据库。这里我们以配置mysql/' target='_blank'>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/' target='_blank'>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语句的数据。

总结

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

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)