Django中是默认使用SQLite数据库的,在settings.py文件中的默认配置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
但是,有的时候,我们需要配置数据库为mysql,该怎么办呢?
######(1)检查本机是否安装Mysql
ctrl+r 快捷键打开cmd
输入 services.msc
查看服务列表中有无mysql服务
如果有服务,那就代表已经安装了。如果没安装,请参考安装mysql链接:
https://www.cnblogs.com/zhangkanghui/p/9613844.html
好了,确保有安装mysql之后,我们就来创建数据库:
ctrl+r 快捷键,打开运行窗口,输入cmd,点击确定
命令行里输入:
mysql -uroot -p123456
create database proName
mysql -uroot -p123456 创建一个数据库,用户名为root,密码为123456
proName 为表名
(2)如果想在命令行里执行 mysql命令(非必须,根据自己需要),则需要配置环境变量
我的电脑–》属性—》高级系统设置–》环境变量–》新建环境变量
变量名:MYSQL_HOME
变量值:E:\soft\after\mysql-8.0.18-winx64\ (此为你mysql的安装路径。可从服务的属性里查看)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
# 'NAME': os.path.join(BASE_DIR, 'db.mysql'),
'NAME': 'proName',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
python环境默认模块MySQLdb只适用于python2.x,pip装不上。它在python3版本的替代品是pymysql:import pymysql
即 Python3不支持MySQLdb,可用pymysql代替
因此:
将Django默认使用MySQLdb连接数据库 更改为 使用pymysql连接数据库
习惯在与项目同名的文件夹下的 init.py 文件中添加
import pymysql
pymysql.install_as_MySQLdb()
安装命令仅供参考:
pip install mysqlclient
pip install pymysql (如果使用python3.x版本时,用pymysql替换MySQLdb,或者用mysqlclient替换MySQLdb。)
Python3.x版本:Pip install mysqlclient
Python2.x 版本:pip install mysql-python
配置完成,以下步骤为数据迁移
ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中
体现在django中就是在models.py中,书写类,创建表数据
对应关系如下:
类 —》 表
对象 —》 数据行(记录)
属性 —》 字段
class Author(models.Model):
name = models.CharField(max_length=32) # varchar(32)
pswd = models.CharField(max_length=32) # varchar(32)
参考链接:
https://www.cnblogs.com/maple-shaw/articles/9323320.html
python manage.py makemigrations #为改动创建迁移记录;
python manage.py migrate #将操作同步到数据库。