前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django框架004:orm对mysql的增删改查

Django框架004:orm对mysql的增删改查

作者头像
淼学派对
发布2023-10-14 11:12:08
2241
发布2023-10-14 11:12:08
举报
文章被收录于专栏:云开发小程序1云开发小程序1

数据库准备

首先创建一个数据库。

注意:数据库的编码格式为utf-8格式。

SQL语句:

代码语言:javascript
复制
创建数据库编码为utf8:create database <数据库名> default charset utf8 collate utf8_general_ci;

连接自己创建的数据库

在setting.py里面的配置

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'dbpython',  # 数据库名字
        'USER': '数据库账号',
        'PASSWORD': '数据库密码',
        'HOST': '127.0.0.1',  # 安装MySQL数据库的机器
        'PORT': 3306  # 端口
    }
}

并用上一篇博客里面所说的orm对数据表的创建方法,创建一个数据表:

lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识

https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343

这里我们就拿Department这个数据表为例。

models.py文件中类的配置

代码语言:javascript
复制
from django.db import models

class Department(models.Model):
    title = models.CharField(max_length=16)
    name = models.CharField(max_length=32)
    age = models.IntegerField(null=True, blank=True)

views.py文件中orm对数据的操作

首先需要在里面先导入我们在models.py文件中写好的class类

代码语言:javascript
复制
from app01 import models

创建函数来操作数据 ,这里以orm函数为例(注意表中数据操作时,一定要对应好我们在类中声明好的的键值,如果我们没有在类中生命键值,但是我们在下面增删改查的函数里面去对数据做操作,则会报错!)

orm添加数据

代码语言:javascript
复制
def orm(request):
    #新建
    models.Department.objects.create(title="销售部", name="lqj", age=20)
    models.Department.objects.create(title="IT部", name="lqj1", age=20)
    models.Department.objects.create(title="运营部", name="lqj2", age=20)
    return HttpResponse('成功')

orm删除数据

1.条件删除

表示删除app01_department(orm创建的表明格式:app文件名+想创建的表名)

id=1的数据。

代码语言:javascript
复制
def orm(request):
    #删除
    models.Department.objects.filter(id=1).delete()
    return HttpResponse('成功')
2.全部删除

表示删除app01_department表中所有的数据。

代码语言:javascript
复制
def orm(request):
    #删除
    models.Department.objects.all().delete()
    return HttpResponse('成功')

注意orm删除数据只是删除了数据表中的可以操作的数据,而id的索引值时删除不了的。

如下所示:

删除数据后重现添加数据(就会从id=22开始)

orm获取数据

1.条件获取

这里以获取数据表中id=27的这条数据为例。

代码语言:javascript
复制
def orm(request):
    #查询
    data_list = models.Department.objects.filter(id=27).first()
    print(data_list.id,data_list.name,data_list.age)
    return HttpResponse('成功')
2.全部获取
代码语言:javascript
复制
def orm(request):
    #查询
    data_list = models.Department.objects.all()
    for obj in data_list:
        print(obj.id,obj.name,obj.age)
    return HttpResponse('成功')

orm更新数据

更新一个表中存在数据结构的数据键。

1.条件修改

说明:修改数据表中的age从19改成20(id=27)

2.全部修改

说明:修改数据表中的age从19改成22(全部)

代码语言:javascript
复制
def orm(request):
    #更新
    models.Department.objects.all().update(age=22)
    return HttpResponse('成功')

修改前

修改后

 数据更新时,对于数据表中未创建的数据结构,我们就需要用到上一篇orm操作数据表的语法:

Django框架003:orm与MySQL数据库的连接及踩坑记录_lqj_本人的博客-CSDN博客

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据库准备
    • 连接自己创建的数据库
    • models.py文件中类的配置
    • views.py文件中orm对数据的操作
      • orm添加数据
        • orm删除数据
          • 1.条件删除
          • 2.全部删除
        • orm获取数据
          • 1.条件获取
          • 2.全部获取
        • orm更新数据
          • 1.条件修改
          • 2.全部修改
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档