Django支持mysqlclient 模块,通过它来连接mysql数据库大大节省了,我们使用pymysql模块库的一些繁琐的操作。
pip install mysqlclient
ORM可以帮助我们做两件事:
1.创建、修改、删除数据库中的表(不用写sql语句)但是【无法创建数据库,数据库必须我们手动在mysql中创建】
2.操作表中的数据(不用写sql语句)
所以:
方式1:进入mysql中输入以下命令:
net start 你的mysql名字
方式2:进入“任务管理器”>右键启动
create database 数据库名字;
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名字',
'USER': 'mysql用户名',
'PASSWORD': 'mysql密码器',
'HOST': '127.0.0.1', # 安装MySQL数据库的机器
'PORT': 3306 # 端口
}
}
在setting.py中查看到(app01已经注册)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config'
]
from django.db import models
class UserInfo(models.Model):
name = models.CharField(max_length=32)
password = models.CharField(max_length=64)
age = models.IntegerField()
写入之后紧接着在pycharm中的命令窗口,在Django文件的根目录下输入命令:
python manage.py makemigrations
此时观察migrations文件夹下是否自动添加了py文件(如下图所示:)
然后,在输入命令:
python manage.py migrate
django.db.utils.NotSupportedError: MySQL 5.7 or later is required
这是安装的Django与mysql的版本不兼容导致。
1.降低我们Django模块库的版本
2.创新安装一个8版本级以上的mysql数据库
解决兼容问题后,重新运行命令:python manage.py migrate
在models.py文件中想要删除表的类(如:userinfo类)/数据结构(如:name字段)注释或删除,并重新执行下面命令
python manage.py makemigrations
python manage.py migrate
在表中新增列时,由于已存在列表中可能已有数据,所以新增列必须要制定新增列对应的数据:
1,手动输入一个值
设置默认值
age = models.IntegerField(default=2)
允许为空
age = models.IntegerField(null=True,blank=True)
以后在开发中如果想要对表结构进行调整:
在models.py文件中操作即可。
python manage.py makemigrations
python manage.py migrate