Django配置 MySQL

400 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情

安装SQLite 管理工具

可视化的SQL工具可以方便我们管理数据库。接下来会介绍两种常用的SQLite管理工具

SQLiteManager

SQLiteManager是一个支持多国语言基于Web的SQLite数据库管理工具,它的特点包括多数据库管理, 创建和连接;表格,数据,索引操作;视图,触发器,和自定义函数管理.数据导入/导出;数据库结构导出。

在Firefox 浏览器插件库中可以搜索到SQLiteManager,所以,这装起来非常方便。打开Firefox浏览器, 菜单栏“工具”-→“添加组件”,搜索“SQLiteManager”安装,并重启动Firefox浏览

image.png

SQLiteStudio

SQLiteStudio是一款SQLite数据库可视化工具,是使用SQLite数据库开发应用的必备软件,软件无需安 装,下载后解压即可使用,很小巧但很了用,绿色中文版本。比起其它SQLite管理工具,我喜欢用这个。很 方便易用,不用安装的单个可执行文件,支持中文。

SQLiteStudio是一个跨平台的SQLite数据库的管理工具,采用Tcl语言开发。 下载地址:

image.png

配置 MySQL

前面用的数据库是Python自带的SQLite3,这种数据库并不适用大型的项目。除SQLite3之外,Django 还支持以下几种数据库:

PostgreSQL(www.postgresql.org/)

MySQL(www.mysql.com/)

Oracle(www.oracle.com/)

本节以MySQL为例,介绍MySQL的安装,以及在Django中的配置。

安装MySQL

下载MySQL : http://dev.mysql.com/downloads/mysql/

image.png

双击运行安装程序,如图3.2,根据提示一步一步进行安装,作者这里就不再详细介绍每一步的安装过程 了,请参考其它MySQL安装手册。

进入 mysql

在Windows 命令提示符下进入MySQL。

image.png

image.png

登录的用户名为root,密码在我们安装MySQL的过程中填写,如果没填写默认为空。

mysql基本操作

查看库与表:

image.png

查看mysql端口号:

image.png

创建数据库:

image.png

创建guest库,用于我们Django的guest项目。

安装PyMySQL

这里遇到小小的分歧,如果读者使用的Python2.x版本,那么连接MySQL数据库可以使用MySQL—python。 但是,MySQL-python只支持Python2.x版本,在2014年1月之后就再更新了。

下载地址 : https://pypi.python.org/pypi/MySQL-python

而且如果读者使用的操作系统是Win64位,还需要单独查找下载64位版本的安装包,

ysql-python-1.2.5.win-amd64-py2.7.e

而我们当前使用的是Python3.x版本,所以需要使用PyMySQL 驱动。

下载地址 : https://pypi.python.org/pypi/PyMySQL

通过pip命令进行安装。

Python2.x:

image.png

Python3.x: cmd.exe

image.png

关于PyMySQL的使用,简单的例子:

image.png

connect()建立数据库连接。

execute()执行SQL语句。

close() 关闭数据连接。

Django配置 MySQL

那么Django 如何链接MySQL数据库,需要在../settings.py文件中修改配置。

image.png

配置信息从上到下依次是驱动(ENGINE),主机地址(HOST),端口号(PORT),数据库(NAME), 登录用户名(USER),登录密码(PASSWORD)。

注意:切换了数据库后,之前数据库里的数据就没有了。

现在我们数据库由 Django默认的Sqlit3切换为了MySQL数据库,需要在重新在MySQL数据库表。

image.png

image.png

出错了!这是因为Django在连接MySQL数据库时使用的是默认的MySQLdb驱动,然而它并不支持 Python3,而我们现在又安装的是PyMySQL驱动,如何让当前的Django 通过PyMySQL来连接MySQL数据 库呢?方法很简单。

在./guest/_init.py

目录下添加:

image.png

再次执行数据库同步。

image.png

image.png

另外,因为更换了数据库,所以,admin后管理员账号也需要重新创建。

image.png

接下来,可以通过Navicat数据库管理工具查看所有生成的表,如图3.10。另外数据库管理工具非常多, 读者可以根据自己的喜好去选择。

image.png