数据库回顾
1、数据库是用来永久的存储数据的!
2、为了永久的保存程序执行过程中处理的数据的!
3、安装数据库管理软件、创建数据库、创建表、表中存储数据!
4、用在处理数据的软件中!
开发环境:
- 主要是进行软件开发的PC环境
生产环境:
- 主要是项目部署运行在服务器Server上的环境
数据库操作:
数据库管理系统[DBMS:database management system]
数据库[DB:database]
开发环境:
要求:数据库安装操作方便、数据库没有实际意义主要用来进行测试
操作:安装一个方便操作的数据库即可,对于数据库的稳定性要求没有那么严苛!
生产环境:
要求:数据库安装,操作方便,数据库中的数据有实际操作价值,安全性、稳定性要求很高
操作:在指定的主机上,安装稳定的、成熟的数据库,一般要求开发环境使用的数据库尽量和生产环境使用的数据库版本、操作等一致!
Django操作数据库——数据模型MVT:model数据模型部分
1、 Django连接数据库
只需要配置settings.py文件:
python新版本连接mysql数据库使用的是pymysql模块 , Django底层连接数据库操作,使用的是mysqldb模块
一般情况下,会使用pymysql替代mysqldb
import pymysql
pymysql.install_as_MySQLdb()
=================================================
DATABASES = {
'default': {
# 连接数据库的引擎对象
'ENGINE': 'django.db.backends.mysql',
# 连接数据库的名称
'NAME': 'py1712db',
#数据库登录账号
'USER': 'root',
#数据库登录密码
'PASSWORD': 'root',
#端口
'PORT': '3306',
#主机IP
'HOST': '',
}
}
2、Django将数据自动同步数据库
一般会执行三个步骤,完成数据库表的创建,执行如下命令:
python manage.py makemigrations 生成对应数据库的sql语句
python manage.py sqlmigrate app_name no 查看sql语句
python manage.py migrate 将生成的sql语句,执行到数据库中去
3、Django中的数据模型的定义和同步
-
项目的核心: 项目中的自定义数据类型,处理的数据[类型创建的对象]
-
对于数据的处理:通常情况有四种操作操作方式:增加、删除、修改、查询
-
ORM:(Object Relation Mapping 对象关系映射),是一种编程操作方式,类似MVC也是一种编程思想,将常规的操作方式固定化了处理流程之后,就可以进行封装简化操作,方便快捷的给项目提供一种可行的和数据库之间的交互操作
O:Object | 表示程序中的对象数据 |
---|---|
R:Relation | 数据库中的表,在专业术语中称为关系,就是Relation |
M:Mapping | 映射对应关系,将对象和表进行关联映射的操作就是Mapping操作 |
- Django为了方便的管理创建的类型以及对象,需要自定义类型继承Django内建的一个类型:
django.db.models.Model
实际操作过程:
在models.py数据模型模块中,定义自己的数据模型
------- 自定义数据类型,必须继承django.db.models.Model
------- 数据类型的属性,通过Django内建的函数来创建 就可以进行数据同步操作了!
# 导入需要的模块
from django.db import models
class Author(models.Model):
# 作者编号
id = models.AutoField(primary_key=True)
#姓名
name = models.CharField(max_length=50)
# 性别
gender = models.CharField(max_length=10)
# 年龄
age = models.IntegerField(default=0)
# 邮箱
email = models.CharField(max_length=20)
# 地址
address = models.TextField()
-------- 执行下列命令即可生成sql语句(创建一个数据表)
对应关系:
python | 数据库 |
---|---|
属性 | 字段 |
类 | 表 |
对象 | 一行记录 |
python manage.py makemigrations 生成sql语句
python manage.py migrate 执行sql语句
网友评论