在操作数据库之前,首先先要连接数据库。这里我们以配置 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,他们的接口都是一样的。

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

description:如果 cursor执行了查询的 sql代码。

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

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

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

execute(sql[,parameters]):执行某个 sql语句。

如果在执行 sql语句的时候还需要传递参数,那么可以传给 parameters参数。

示例代码如下:

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

左外连接的sql语句_Django数据库连接和使用原生sql语句相关推荐

  1. sql语句的内连接、左外连接、右外连接的理解

    sql语句 内连接.左外连接.右外连接的理解 大家在初学数据库时,对DQL中的连接查询是否有些疑惑,不知道什么时候什么场景下该用那种连接查询? 不要着急,接下来由我来给大家介绍一下,本人对内连接.左外 ...

  2. mysql外连接插座_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  3. SQL 左外连接,右外连接,全连接,内连

    SQL 左外连接,右外连接,全连接,内连接       连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条 ...

  4. 左外连接Left-Outer-Join的基于SQL,MapReduce,sparkRDD,sparkDataFrame以及spark SQL的实现案例及对比

    提示:阅读本文需要部分java,scala,spark,sql的基础. 文章目录 前言 一.什么是join操作? 二.有那些常见的join的类型? 三.使用SQL实现左外连接: 1.数据准备 2.实现 ...

  5. mysql 左外连接原理_深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接...

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...

  6. SQL 左外连接,右外连接,全连接,内连接带图详细介绍

    SELECT id, name,description,img_url,sort,is_display ​ from bbs_brand ORDER BY id DESC ​ limit startR ...

  7. 详解SQL的四种连接-左外连接、右外连接、内连接、全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stud ...

  8. Hive sql中的 各种join(内连接、左外连接、右外连接、满外连接)

    join语句 1 等值 join Hive支持通常的SQL JOIN语句,但是只支持等值连接,==不支持非等值连接==. 案例实操 select * from stu left join score ...

  9. 数据库之SQL(基本连接,内连接,左外连接,右外连接,全外连接,交叉连接,自连接)

    之前的博客内容我们分享了数据表的查询与管理,但那只是针对数据库中的一个表格进行的查询管理,现在如果我们想要同时看到两个数据表中的数据的话,那要怎么办呢?采用多连接查询的方式. SQL中有哪几种多连接的 ...

最新文章

  1. 深入理解风格迁移三部曲(三)--FUNIT
  2. rust狗阳玩的什么游戏_微博搜索
  3. 基于小波变换的图像解压缩
  4. Springboot源码——应用程序上下文分析
  5. CCF NOI1061 Wifi密码
  6. html5两个静态页面传值,如何使用HTML5Viewer 进行参数传递
  7. 【渝粤教育】国家开放大学2019年春季 45烹饪原料学(1) 参考试题
  8. sns分享 jia.js的使用 jiathis插件
  9. fork函数原型与用法
  10. k3 服务器名称修改,k3修改服务器地址
  11. 非递归获取二叉树中叶子结点的个数
  12. OpenCV图像灰度化的六种方法
  13. Word参考文献自动编号
  14. 大核注意力Large Kernel Attention(LKA)
  15. ILLEGAL_ISR非法中断问题
  16. openstreetmap下载数据
  17. 这才叫装机必备,这3款高质量电脑软件,内存满了也绝不卸载
  18. java输出hello java_eclipse输出Hello World的实现方法
  19. bp是什么意思贷款利率,bp在利率是什么意思
  20. Python内存驻留机制

热门文章

  1. php-箭头r含义,php中-箭头的用法和意义
  2. java字母反过来_java之字母反转~~ - Plight - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  3. Cpp 对象模型探索 / 虚继承带虚函数的基类的子类的内存布局
  4. go grpc测试_Grpc — 整体性能测试
  5. asp按钮跳转页面代码_重磅更新!全新Web编辑页面、编辑规则快速跳转、状态栏变色、富文本再次升级!...
  6. Linux中的ftp命令怎么写,linux下使用ftp命令
  7. IOS -- UICollectionView里面的cell点击,点击一个cell改变其他cell的状态
  8. winform窗体 小项目【安装程序】
  9. Html table 实现Excel多格粘贴
  10. 【转】Java程序员常用工具类库 - 目录