• Django 数据库的创建、链接、操作表、操作表中数据


    需要安装mysqlclient模块,步骤见博客

    一、数据库创建

    1.mysql确定配置好环境变量

    mysql环境变量配置方法

    2.创建数据库

    cmd命令进入数据库:mysql -u root -p,输入密码。
    在这里插入图片描述
    创建数据库命令:create database xxx charset utf8; 。 一定要有分号;才行。djangoLearn
    在这里插入图片描述

    二、链接数据库

    Django的数据库操作手册。

    setting.py文件夹中先注释掉之前的数据库语句,重新写以下语句:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'USER': 'root',  # MySQL用户名
            'PASSWORD': 'XXXXXX',  # MySQL用户密码
            'NAME': 'djangoLearn',  # 数据库名称
            'HOST': '127.0.0.1',  # 哪个服务器安装的MySQL
            'PORT': 3306,  # 端口号
        },
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    三、操作表

    1.增加表

    (1)在models.py文件中创建一个类,即对应数据库中一个表。

    from django.db import models
    
    # Create your models here.
    class UserInfo(models.Model):
        name = models.CharField(max_length=32)
        password = models.CharField(max_length=64)
        age = models.IntegerField()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    (2)执行命令创建该表

    python manage.py makemigrations
    python manage.py migrate
    
    • 1
    • 2

    每次想创建一个新的表的时候,则重复上述步骤,再次执行这两个命令即可。
    在这里插入图片描述

    (3)进入cmd确定是否创建该表,命令:show tables from djangolearn;

    在这里插入图片描述

    2.删除表

    (1)当需要删除这个表的时候,将需要删除的表对应在models.py文件中的类直接注释掉。
    在这里插入图片描述
    (2)再次执行命令,即可:

    python manage.py makemigrations
    python manage.py migrate
    
    • 1
    • 2

    在这里插入图片描述

    查询结果如下,被删除掉了:

    在这里插入图片描述

    3.修改表

    (1)删除表的一列数据

    和删除表一样的操作,都是直接注释再执行上述命令语句。

    (2)增加表的一列数据
    • 设置增加表的一列数据的默认值
    age = models.IntegerField(default=22)
    
    • 1
    • 允许增加表的一列数据的值为空
    number = models.IntegerField(null=True, blank=True)
    
    • 1

    最后执行上述两条命令语句即可。

    在这里插入图片描述

    四、操作表中数据

    view.py文件中引入包:

    from app01.models import Department, UserInfo
    
    • 1

    1.增加

        UserInfo.objects.create(name="小王", password="153")
        UserInfo.objects.create(name="小王", password="163", age=10)
        UserInfo.objects.create(name="张张", password="123", age=30)
        Department.objects.create(departName="技术部")
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    2.删除

    UserInfo.objects.filter(id=5).delete()  # 删除id=5的数据
    Department.objects.all().delete()  # 删除全部数据
    
    • 1
    • 2

    在这里插入图片描述

    3.查询

    注意,数据类型是列表中嵌套对象。

    	# 查询全部数据  列表[对象,对象,对象,...]
        userList = UserInfo.objects.all()
        for u in userList:
            print(u.name, u.age, u.password)
    
        # 查询某个数据  列表[对象]
        userOne = UserInfo.objects.filter(name="张张").first()
        print(userOne.name, userOne.age, userOne.password)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    4.修改

    UserInfo.objects.filter(id=3).update(age=32, name="老王")
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    Chrome修改主题颜色
    如何重置iPhone的网络设置?这里提供详细步骤
    为什么更建议企业选择一些老牌的低代码开发平台
    基于TCP/UDP协议的Socket编程方法
    Python抓取高考网图片
    快速了解GPT-4o和GPT-4区别
    LeetCode-151. 反转字符串中的单词-Java-medium
    [Ynoi2016] 镜中的昆虫——浅谈区间种类数问题
    springboot爱护大自然的设计与实现毕业设计源码231643
    【负载均衡在线OJ项目日记】项目简介
  • 原文地址:https://blog.csdn.net/weixin_43937790/article/details/126818434