当我们使用Django框架进行Web应用开发时,通常会用到数据库。其中,MySQL是一种常用的关系型数据库,Django也提供了很好的MySQL集成支持。本文将详细讲解如何连接MySQL中已有数据库的方法。
确认MySQL已安装
在连接MySQL数据库之前,确保已安装MySQL数据库,并确定数据库服务器地址、端口、数据库名称、用户名和密码。
安装并配置Django中的MySQL支持
Django使用PyMySQL或MySQLdb2作为MySQL支持,并且在使用PyMySQL之前需要安装依赖库PyMySQL:
pip install pymysql
接下来,在Django的settings.py文件中添加以下内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_db_name', # 数据库名称
'USER': 'your_db_username', # 数据库用户名
'PASSWORD': 'your_db_password', # 数据库密码
'HOST': 'your_db_host', # 数据库服务器地址
'PORT': 'your_db_port', # 数据库服务器端口号
}
}
以上设置中,'your_db_name'、'your_db_username'、'your_db_password'、'your_db_host'、'your_db_port'是你自己的数据库连接信息,需要替换成真实的连接信息。
创建Django模型
有了数据库连接信息之后,就可以在Django中操作MySQL数据库了。首先,需要创建Django的模型,模型就是Python类,它映射了具有相应结构的数据库表。
在models.py中添加以下定义:
from django.db import models
class Student(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
grade = models.IntegerField()
以上代码定义了一个Student类,其对应的数据库表的结构包括三个字段:name、age、grade。可以根据需要添加、删除和修改字段。
同步数据库
在使用Django时,模型定义仅是Python语法。为将其映射到实际数据库中,需要同步数据库以创建表格。
python manage.py migrate
执行migrate命令后,Django将创建相应的表。此后,就可以向表中插入数据、查询数据并进行其他数据库处理。
示例一:插入数据
下面的示例演示了如何向MySQL数据库中插入数据。为展示效果,我们使用了命令行shell:
python manage.py shell
接下来,输入以下Python代码:
from app.models import Student
student = Student(name="Tom", age=20, grade=90)
student.save()
以上代码就向Student表中插入了一条数据。之后可以在MySQL客户端中执行查看。
示例二:查询数据
下面的示例演示了如何从MySQL数据库中查询数据。同样,还是使用命令行shell:
python manage.py shell
接下来,输入以下Python代码:
from app.models import Student
students = Student.objects.all()
for student in students:
print(student.name, student.age, student.grade)
以上代码将查询Student表中的所有信息,并打印出来。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:django连接Mysql中已有数据库的方法详解 - Python技术站