Python Django切换MySQL数据库实例详解


Posted in Python onJuly 16, 2019

准备

软件 版本
Django 2.1.3
Python 3.7.1

默认使用的是sqlite3

DATABASES = {
   'default': {
     'ENGINE': 'django.db.backends.sqlite3',
     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
   }
}

切换为MySql:

# settings.py
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'book',
    'USER': 'root',
    'PASSWORD': '123456',
    'HOST': '127.0.0.1',
    'POST': '3306',
  }
}

实现步骤

我们使用Django 来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。

常见的Mysql驱动介绍:

  • MySQL-python:也就是MySQLdb。是对C语言操作MySQL数据库的一个简单封装。遵循了Python DB API v2。但是只支持Python2,目前还不支持Python3。
  • mysqlclient:是MySQL-python的另外一个分支。支持Python3并且修复了一些bug。
  • pymysql:纯Python实现的一个驱动。因为是纯Python编写的,因此执行效率不如MySQL-python。并且也因为是纯Python编写的,因此可以和Python代码无缝衔接。
  • MySQL Connector/Python:MySQL官方推出的使用纯Python连接MySQL的驱动。因为是纯Python开发的。效率不高。

mysqlclient安装

基于目前的环境以及版本来说,直接运行 pip install mysqlclient 是会报错的,具体错误,自己执行以下就知道了。

解决办法:

去 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下载指定文件,我用的是python3.7,win环境是64位,所以下载了mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl。

然后执行:

pip3 install mysqlclient-1.3.13-cp37-cp37m-win_amd64.whl

如果出现以下说明安装成功:

Installing collected packages: mysqlclient
Successfully installed mysqlclient-1.3.13

迁移数据库

Django中通过以下命令来迁移数据库,在每次创建Model时,执行该命令,在数据库中生成对应的表:

python manage.py makemigrations
python manage.py migrate

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
python多线程socket编程之多客户端接入
Sep 12 Python
python实现日常记账本小程序
Mar 10 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
django框架auth模块用法实例详解
Dec 10 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
Pytorch反向传播中的细节-计算梯度时的默认累加操作
Jun 05 Python
python运行脚本文件的三种方法实例
Jun 25 Python
Python二维码生成识别实例详解
Jul 16 #Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 #Python
Python Web版语音合成实例详解
Jul 16 #Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 #Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 #Python
Python的matplotlib绘图如何修改背景颜色的实现
Jul 16 #Python
python调用其他文件函数或类的示例
Jul 16 #Python
You might like
php 友好URL的实现(吐血推荐)
2008/10/04 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
php商品对比功能代码分享
2015/09/24 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JS面试题大坑之隐式类型转换实例代码
2018/10/14 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Django框架安装方法图文详解
2019/11/04 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
MYSQL支持事务吗
2013/08/09 面试题
员工晚婚的请假条
2014/02/08 职场文书
个人求职自荐信范文
2014/06/20 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle