当前位置:网站首页 > 技术博客 > 正文

增删改查数据库语句



在上篇文章中我们学习了,这篇文章学习Django教程——数据库操作(增删改查)。

在学习数据库操作之前,我们需要定义好模型类,模型类代码如下:

 
  

定义好模型类后,在终端执行如下命令进行迁移操作,将模型映射到数据库,

 
  

大家可以参考之前的文章——来进行上面的步骤。

在url.py文件中编写URL路由绑定代码,如下图所示:

 
  

我们在views.py文件中编写视图函数实现数据库操作——增删改查,直接访问对应的URL即可。

save方法

 
  

首先创建模型类实例,再给模型类字段赋值,最后调用save方法,将数据保存到数据库中。当然我们也可以将创建模型实例和字段赋值合并在一起,代码如下:

 
  

create方法

使用create方法添加单条数据,其语法格式如下:

 
  

示例代码如下:

 
  

create方法很简单,通过模型类调用objects再调用create()方法即可添加单条数据到数据库中。

get_or_create方法

由于我们模型类字段中的name设置了唯一值属性,所以在使用save方法或create方法添加重复数据时,会报错,这时我们可以使用get_or_create方法,防止添加重复数据导致报错,其语法格式如下:

 
  

示例代码如下:

 
  

添加多条数据与添加单条数据差不多,添加多条数据就是创建多个模型类的实例对象,再将实例对象放在列表中,再使用bulk_create方法添加在数据库中。示例代码如下:

 
  

查询数据主要有如下5种方法:

方法 说明 get() 获取单条数据,没有找到符合条件的对象,会引发模型类DoesNotExist错误;找到多个,会引发模型类MultipleObjectsReturned错误 exists() 判断查询集中是否有数据,如果有数据返回True,没有数据返回False filter() 类似数据库中的where语句,添加查询条件 exclude() 获取查询条件外的数据,相当于not in all() 获取所有数据

其语法格式如下:

 
  

注意:查询数据返回的数据类型为django.db.models.query.QuerySet。

可以在查询语句后面加values()或values_list()方法来获取返回数据的值,其语法格式如下:

 
  

我们也可以使用获取first()、last()分别获取查询返回值的第一行、最后一行数据。

示例代码如下:

 
  

运行结果如下:

 
  

查询数据通常会给出一些查询条件,数值类型查询操作符有:

条件 说明 字段__gt=2 获取字段值大于2的数据 字段__gte=2 获取字段值大于等于2的数据 字段__lt=2 获取字段值小于2的数据 字段__lte=2 获取字段值小于等于2的数据 字段__in=[1,2,3] 获取字段值等于1或2或3的数据 字段__range[1,10] 获取字段值在1到10范围的数据

字符串类型查询操作符有:

类型 说明 字段__contains='a' 获取字段值包含a的数据 字段__icontains='a' 获取字段值包含a的数据,大小写不敏感 字段__regex="^a" 正则匹配 字段__iregex="^a" 正则匹配,忽略大小写 字段__in=['a','b','c'] 获取字段值等于a或b或c的数据 字段__exact=a 获取字段值等于a的数据 字段__iexact=a 获取字段值等于a的数据,忽略大小写 字段__endswith=a 获取字段值最后一个字符为a的数据 字段__iendswith=a 获取字段值最后一个字符为a的数据,忽略大小写 字段__isnull=True 获取字段值为空的数据 字段__startswith=a 获取字段值第一个字符为a的数据 字段__istartswith=a 获取字段值第一个字符为a的数据,忽略大小写

示例代码如下:

 
  

访问http://127.0.0.1:8000/getUser/结果如下:

 
  

我们可以使用order_by()方法对查询结果进行排序,示例代码如下:

 
  

运行结果如下:

 
  

在查询返回的数据集中,我们可以使用aggregate()方法传递函数统计返回的数据集,常用的函数有:

函数 说明 Avg 平均值 count 数量 Max 最大 Min 最小 Sum 求和

示例代码如下:

 
  

运行结果如下:

 
  

删除数据是在查询数据的基础上添加delete()方法,示例代码如下:

 
  

这样即可删除name为王46的数据。

修改数据可以使用save()方法或update()方法

使用save方法修改数据需要通过查询语句获取要修改的数据,再对数据进行修改,最后调用save()方法保存,示例代码如下:

 
  

在调用save方法中,添加update_fields参数可以一定程度上提高修改的效率。

使用update方法修改数据会相对简洁一些,示例代码如下:

 
  

这样就成功修改了数据。

好了,Django框架——数据库操作(增删改查)就学习到这里。

公众号:白巧克力LIN

该公众号发布Python、数据库、Linux、Flask、Django、自动化测试、Git、算法、前端、服务器等相关文章!

- END -

  • 上一篇: cisco模拟器下载
  • 下一篇: okhttp官方文档
  • 版权声明


    相关文章:

  • cisco模拟器下载2025-08-22 10:01:00
  • json字符串处理2025-08-22 10:01:00
  • java测试类代码2025-08-22 10:01:00
  • xdisplay不能全屏2025-08-22 10:01:00
  • visual detection2025-08-22 10:01:00
  • okhttp官方文档2025-08-22 10:01:00
  • mcrtty2025-08-22 10:01:00
  • java单元测试工具有哪些2025-08-22 10:01:00
  • python 安装win32gui2025-08-22 10:01:00
  • 赛博朋克2077黑客技术怎么用2025-08-22 10:01:00