sdu项目实训1-3 使用Django操作mysql数据库

2021/7/4 19:22:04

本文主要是介绍sdu项目实训1-3 使用Django操作mysql数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Django操作mysql数据库

  • 前言
  • 一、Django配置mysql
    • 1.创建数据库
    • 2.在setting.py里进行数据库的配置
  • 二、使用ORM在数据库中建表
    • 1.添加一个app
    • 2.添加模型类并注册app
    • 3.数据库迁移
  • 总结


前言

首先在pycharm中安装配置好django和mysqlclient

一、Django配置mysql

使用之前先进行相关的配置

1.创建数据库

我使用Navicat工具创建MySQL数据库agriculture
在这里插入图片描述

2.在setting.py里进行数据库的配置

主要是对配置项DATARASES进行修改

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', #将sqlsite3换为mysql
        'NAME': 'agriculture',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':'3306',
    }
}

二、使用ORM在数据库中建表

ORM(Object Relational Maping),对象关系映射

在这里插入图片描述

模型示例:

1.添加一个app

在pycharm终端输入命令
在这里插入图片描述
添加完成
在这里插入图片描述

2.添加模型类并注册app

(1)注册app就是在setting.py中的INSTALLED_APPS配置项中添加应用名

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'agriculture', #注册agriculture的app
]

(2)添加模型类

使用内部Meta类来给模型赋予属性,Meta类下有很多内建的类属性,可对模型类做一些控制

代码示例:

from django.db import models

# Create your models here.

class User(models.Model):

    useraccount = models.CharField('账号',max_length=50)
    password = models.CharField('密码',max_length=50)
    username = models.CharField('用户名',max_length=50)
    phone = models.CharField('电话',max_length=20)
    email = models.EmailField('邮箱')

    class Meta:
        db_table = 'User'  #可改变当前模型类对应的表名


class City_cropinfo(models.Model):

    city = models.CharField('城市',max_length=10)
    year = models.CharField('年份',max_length=10)
    crop_type = models.CharField('种类',max_length=10)
    area = models.CharField('面积')
    weight_all = models.FloatField('产量')
    weight_avg = models.FloatField('单产')

    class Meta:
        db_table = 'City_cropinfo'


class City_climateinfo(models.Model):

    city = models.CharField('城市', max_length=10)
    year = models.CharField('年份', max_length=10)
    month = models.IntegerField('月份')
    temperature = models.FloatField('气温')
    rain = models.FloatField('降水')

    class Meta:
        db_table = 'City_climateinfo'


class Market_info(models.Model):

    market = models.CharField('市场',max_length=50)
    actul_type = models.CharField('名称',max_length=20)
    dim_type = models.CharField('类别',max_length=20)
    price = models.FloatField('价格')
    pyear = models.CharField('年份', max_length=10)
    pmonth = models.IntegerField('月份')
    day = models.IntegerField('日期')

    class Meta:
        db_table = 'Market'

3.数据库迁移

迁移是Django同步对模型所做更改(添加字段、删除模型等)到数据库模式的方式

(1)生成迁移文件

执行命令
python manage.py makemigrations
在这里插入图片描述
在migrations文件夹下生成了迁移文件
在这里插入图片描述

(2)执行迁移脚本程序

执行命令
python manage.py migrate

在这里插入图片描述
可以看到终端中噼里啪啦一顿OK

在Navicat中查看数据库
在这里插入图片描述
建表完成,还多了一些其它的表,Django自带的表

总结

先不总结



这篇关于sdu项目实训1-3 使用Django操作mysql数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程