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 pickle类库介绍(对象序列化和反序列化)
Nov 21 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python实现Smtplib发送带有各种附件的邮件实例
Jun 05 Python
对Python 内建函数和保留字详解
Oct 15 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
python树莓派红外反射传感器
Jan 21 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
python MultipartEncoder传输zip文件实例
Apr 07 Python
Numpy实现卷积神经网络(CNN)的示例
Oct 09 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 Python
pytorch 6 batch_train 批训练操作
May 28 Python
使用python求解迷宫问题的三种实现方法
Mar 17 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高手?学会“懒惰”的编程
2006/12/05 PHP
php学习 函数 课件
2008/06/15 PHP
JavaScript 变量基础知识
2009/11/07 Javascript
jQuery对象与DOM对象之间的转换方法
2010/04/15 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
ajax实现动态下拉框示例
2017/01/10 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
浅谈Python中的数据类型
2015/05/05 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
深入解析Python中的urllib2模块
2015/11/13 Python
python实现微信自动回复功能
2018/04/11 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
利用python在大量数据文件下删除某一行的例子
2019/08/21 Python
python实发邮件实例详解
2019/11/11 Python
django实现日志按日期分割
2020/05/21 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
2016/08/15 HTML / CSS
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
学校元旦晚会方案
2014/02/19 职场文书
就业协议书的作用
2014/04/11 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
2014年科技工作总结
2014/11/26 职场文书
2015婚礼主持词开场白
2015/05/28 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书