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


前言

首先在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自带的表

总结

先不总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值