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的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
Flask框架的学习指南之制作简单blog系统
Nov 20 Python
使用pandas中的DataFrame数据绘制柱状图的方法
Apr 10 Python
Python3.7中安装openCV库的方法
Jul 11 Python
Python之修改图片像素值的方法
Jul 03 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
Python读取实时数据流示例
Dec 02 Python
Python2与Python3的区别点整理
Dec 12 Python
python实现简单飞行棋
Feb 06 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
python re模块和正则表达式
Mar 24 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
3.从实例开始
2006/10/09 PHP
php数据库连接
2006/10/09 PHP
php 定义404页面的实现代码
2012/11/19 PHP
解析php5配置使用pdo
2013/07/03 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
vue中component组件的props使用详解
2017/09/04 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
Python图像读写方法对比
2020/11/16 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
护士自荐信
2013/10/25 职场文书
如何编写优秀的食品项目创业计划书
2014/01/23 职场文书
2014信息公开实施方案
2014/02/22 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL