MySQL驱动程序安装:

我们使用Django来操作Mysql,实际上底层还是通过Python来操作的,因此我们想要使用Django来操作mysql,首先还是需要安装一个驱动程序,在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。这里我们就是用pymysql来操作。pymysql安排非常简单,只需要通过pip install pymysql即可安装。
常见Mysql驱动程序介绍:
  1. MySQL-python:也就是MySQLdb,是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2.但是只支持Python2,目前还不支持Python3.
  2. mysqlclient:是mysql-python的另一个分支。支持Python3并且修复了一个bug。
  3. pymysql:纯Python实现的一个驱动,因为是纯Python实现的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝连接。
  4. MySQL Connectot/Python:MySQL官方推出的使用纯Python连接MySQL的驱动,因为是纯Python开发的,效率不高。
在Django中操作数据库有两种方式,第一种方式就是使用原生sql语句操作,第二种就是使用ORM模型来操作。
在Django中使用原生sql语句操作其实就是使用python db api 的接口来操作,如果你的mysql驱动程序使用的是pymysql,那么你就是使用pymysql来操作的,只不过Django将数据库连接部分封装好了,我们只要找settings.py中配置好了数据库连接信息后直接使用Django封装好的接口就可以进行操作了,示例代码如下:

以上的execute以及fetchall方法就是Python DB API规范中定义好的,任何使用Python来操作mysql的驱动程序都应该遵循这个规范。所以不管是使用pymysql或者是mysqlclient 或者是mysqldb,他们的接口都是一样的。

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参数,示例代码如下:
  5. fetchone:在执行查询操作之后获取第一条数据。
  6. fetchmany(size):再执行查询操作之后,获取多条数据,具体的个数根据size的大小,如果不传入size参数,那么默认获取第一条数据。
  7. fetchall:获取所有满足sql语句的数据。

42.MySQL数据库安装,及驱动程序选择的更多相关文章

  1. (三)—Linux文件传输与mysql数据库安装

    文件传输工具使用    为了速成,关于linux系统的学习都先放一放,用到哪个知识点就查哪个,这里想在linux下装一些服务练练手,最先想到的就是装个mysql数据库试试. 因为我用的是虚拟机下的li ...

  2. Mysql数据库安装和配置

    http://blog.csdn.net/pipisorry/article/details/46773507 Mysql数据库安装和配置.mysql语法.特殊符号及正则表达式的使用.MySQL备份与 ...

  3. MySql数据库安装

    MySql数据库安装 一丶数据库 什么是数据库 数据库简单连接就是存储数据的容器. 而库则是一组容器合成的东西. 也就是存储数据的.我们编程中常常会用到数据库. 什么是数据管理系统 数据库管理系统就是 ...

  4. MySql 数据库安装、环境变量配置 以及 本地连接

    一.准备 MySql 的安装包,这里我从网上下载的是 mysql-installer-community-5.6.21.1.msi,如下图:     二.,双击 mysql-installer-com ...

  5. 01 MySQL数据库安装(Windows+Mac)

    目录 MySQL数据库安装 Windows 1.主要版本简介 2.软件下载 3.文件目录简介 4.使用 4.1配置环境变量 4.2登录 制作MySQL服务端开机自启动 运行MySQL 4.3 密码修改 ...

  6. mysql数据库安装注意事项:

    mysql数据库安装注意事项: https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html(安装教程) 注意语言设置为gbk可以解决 ...

  7. MySql C++调用库Connector/c++编译 和 接口封装【一】mysql数据库安装

    Connector/c++库的源文件编译,你需要先准备好以下工具:     mysql数据库(编译时要依赖),boost库,cmake(生成sln工程文件),connector/c++的源文件,vis ...

  8. 第二百七十五节,MySQL数据库安装和介绍

    MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种 ...

  9. mysql数据库安装与卸载以及Navicat安装

    关系型数据库Mysql 1.mysql官网网址:www.mysql.org 2.mysql数据库安装 傻瓜式安装下载地址 https://dev.mysql.com/downloads/install ...

随机推荐

  1. python批量删除子文件夹中的空子文件夹

    例如A文件夹下有许多子文件夹,我需要获得的是子文件夹中的图片,但是现在子文件夹中不光有图片,还混入了空的文件夹(在使用OpenImages工具箱的时候,按照检索的方式下载的图片文件中是带有label的 ...

  2. BZOJ 1087 [SCOI2005]互不侵犯King(状压DP)

    题意:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子.n<=9 思路:状压dp,dp[i][ ...

  3. Spring事务中的事务传播行为

    1.支持当前事务: TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务:如果当前没有事务,则创建一个新的事务. Transaction ...

  4. 【转】JAVA BIO与NIO、AIO的区别

    Java中IO的模型分为三种,同步阻塞的BIO.同步非阻塞的NIO.异步非阻塞的AIO. BIO[同步阻塞] 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个Ser ...

  5. 《Head first设计模式》之迭代器模式

    迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 爆炸性新闻:对象村餐厅和对象村煎饼屋合并了! 真是个好消息!现在我们可以在同一个地方,享用煎饼屋美味的煎饼早餐,和好吃 ...

  6. javascript原生ajax请求

    class Ajax{ constructor(url, method, data, callback_suc, callback_err, callback_run){ this.RT = true ...

  7. Samba搭建Linux和Windows文件共享服务

    一.Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享 ...

  8. Webpack中hash、chunkhash和contenthash三者的区别

    在webpack中有三种的方式生成哈希值,分别为hash.chunkhash和contenthash.这三种方式有着不同的用处,或者说在webpack的不同环境中,会使用不同的方式生成哈希值.那为什么 ...

  9. codewars--js--counting duplicates

    题目描述: Count the number of Duplicates Write a function that will return the count of distinct case-in ...

  10. iptables详解(8)iptables自定义链

    自定义链存在的意义:对链进行分类 target可能是一个“动作“也可能是一个”自定义链” 1.新增自定义链. root@ubuntu:~# iptables -t filter -N IN_WEB#结 ...