django-数据库的增删改查操作


1.添加用户记录

def login(request):
增加用户记录 使用save()方法来增加记录
username = UserInfo(username='tom', password='123')
username.save()

2.使用遍历方法创建用户信息

user = {'username': 'wangwang', 'password': '1234'}
UserInfo.objects.create(**user)

3.增加用户方法2

UserInfo.objects.create(username='wangwei', password='111')
批量插入 嵌套create方法在shell中执行
UserInfo.objects.create(UserInfo.objects.create(username='wangjian', password='222'),
UserInfo.objects.create(username='wanghui', password='222'),
UserInfo.objects.create(username='wanglong', password='222'))

4.批量插入方法2

UserInfo.objects.bulk_create([UserInfo(username='huihui', password='222'),
UserInfo(username='dongmao', password='222'),
UserInfo(username='zhouzhou', password='222'),
UserInfo(username='dongmao1', password='222'),
UserInfo(username='zhouzhou1', password='222')
])

6. 修改用户记录 先查看是否有该字段,然后调用字段直接进行修改

 user = UserInfo.objects.get(userid=1)
print(user)
user.password = '3333'
user.save()

7. 删除用户记录 使用delete方法删除指定行

 user = UserInfo.objects.get(userid=2)
print(user, type(user))
if user:
user.delete()

8.批量删除多条记录

 users = UserInfo.objects.filter(userid__gte=2)
print(users)
users.delete()

9.数据查询

 firstname = ["张", "李", "郑", "吴", "赵", "周", "王"]
lastname = ["建军", "建辉", "建业", "建党", "建国"]
users = []
for name in range(100):
username = firstname[randint(0, 6)] + lastname[randint(0, 4)]+str(randint(0, 10000))
users.append(UserInfo(username=username, password=str(randint(11111, 999999))))
UserInfo.objects.bulk_create(users) return HttpResponse("批量查询")

10.使用过滤器查询数据

def query(request):
# all过滤器查询所有数据
users = UserInfo.objects.all()
print(users)
return render(request, 'index.html', locals()) # filter 过滤器 条件查询
users = UserInfo.objects.filter(userid__gt=100).filter(userid__lt=200)
print(users)
return render(request, 'index.html', locals())

11.def curd(request):

 # 数据查询
user = UserInfo()
user.username = '王辉'
user.password = '2222222'
user.save()
return HttpResponse("CURD")

12.数据排序 使用order_by()方法进行排序

 [:number]切片取第前number条记录
def order(request):
data = UserInfo.objects.order_by('username')
for user in data:
print(user.username)
return HttpResponse("排序")

13.查询指定字段

 def curd(request):
data = UserInfo.objects.all().values('username')
for user in data:
print(user)

14.去除查询中重复字段

 def distinctview(request):
data = UserInfo.objects.all().values("password").distinct()[:10]
print(data)

15.反序 使用reverse方法

 def fx(request):
data = UserInfo.objects.order_by('userid').reverse()
print(data)
return HttpResponse("curd")

16.非过滤器查询方法

 def process_query(request):
get方法只能返回一条记录
user = UserInfo.objects.get(userid=100)
print("111")
print(user)

17.使用first方法返回一个对象

 user = UserInfo.objects.first()
print(user)

18.返回最后一个对象 使用last()方法

 user = UserInfo.objects.last()
print(user)

19.查询结果集中的记录数目

 num = UserInfo.objects.filter(userid__gte=17).count()
print(num)

20.判断结果集是否为空

flag = UserInfo.objects.filter(userid__lt=17).all().exists()
print(flag)
return HttpResponse("非过滤器查询方法") """
关系运算符的表达式的使用
>= 字段__get=num
> 字段__gt=num
< 字段__lt=num
<= 字段__lte=num
== 字段=num
!= 字段__ne=num
"""

21.多个条件查询的逻辑与连接,查询出大于等于100小于200的用户

 user = UserInfo.objects.filter(userid__lt=200, userid__gte=100)
print(user)

22.集合查询

 data = UserInfo.objects.filter(userid__in=[17, 18, 19])
print(data)

23.查询字段是否为空

 data = UserInfo.objects.filter(username__isnull=True)
print(data)

24.字符串操作查询

# __startwith以什么字符串开头的所有字段
data = UserInfo.objects.filter(username__startswith='张')
for user in data:
print(user)

25.使用正则表达式匹配查询 使用————reges方法

 data = UserInfo.objects.filter(username__regex=r'3$')
print(data)

26.日期查询操作

 data = UserInfo.objects.filter(regtime__year=2021)
print(data)
return HttpResponse("多条件的逻辑与查询")

27.统计查询

def group(request):
#查询最大userid
userid = UserInfo.objects.aggregate(Max('userid'))
print(userid) # 查询最小值userid
userid = UserInfo.objects.aggregate(Min('userid'))
print(userid) # 统计分组查询
data = UserInfo.objects.values('username').annotate(Count('userid')).filter(userid=30)
print(data)
return HttpResponse("统计查询")

django-数据库的增删改查操作的更多相关文章

  1. PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码

    PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...

  2. python web.py操作mysql数据库,实现对数据库的增删改查操作

    使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...

  3. TP5.1:数据库的增删改查操作(基于面向对象操作)

    我们现实中对数据库的增删改查操作,都是使用模型类进行操作的(表名::),也就是面向对象操作,只有底层的代码用的是数据库操作(Db::table('表名')) 下面我将贴出模型类进行的增删改查操作,通过 ...

  4. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  5. TP5.1:数据库的增删改查操作(基于数据库操作)

    1.在app/index/controller文件夹下创建一个文件,名为:Operation 注意:起名一定要避开关键字,例如:mysql,curd等等,如果使用关键字起名,会造成报错! 在Opera ...

  6. Django中ORM对数据库的增删改查操作

         前言 什么是ORM?  ORM(对象关系映射)指用面向对象的方法处理数据库中的创建表以及数据的增删改查等操作. 简而言之,就是将数据库的一张表当作一个类,数据库中的每一条记录当作一个对象.在 ...

  7. greendao对SQLite数据库的增删改查操作

    利用greendao操作数据库时,都是以对象或者对象的list来进行增删改查的操作,操作的结果都是用一个list来接收的!!! 1.增加一条记录 Stu stu01=new Stu();stu01.s ...

  8. nodejs对mongodb数据库的增删改查操作(转载)

    首先要确保mongodb的正确安装,安装参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-l ...

  9. 69.nodejs对mongodb数据库的增删改查操作

    转自:https://www.cnblogs.com/sexintercourse/p/6485381.html 首先要确保mongodb的正确安装,安装参照:http://docs.mongodb. ...

  10. django数据库的增删改查

    正常启动服务安装数据库cmd命令:python manage.py makemigrations 创建用户 在pxm里面会有一个py文件..这就是生成了表结构cmd命令:python manage.p ...

随机推荐

  1. SHON WEBB:太怀念过去的人,往往走不远

    太怀念过去的人,最后都怎么样?近日,星盟审批官SHON WEBB先生给出了答案,他认为,如果一个人太怀念过去,怀念过去自己所有的荣耀,而轻视现在的任何工作,那他往往走不远. SHON WEBB先生讲到 ...

  2. NGK与AOFEX交易所达成战略合作,BGV即将上线A网!

    据NGK官方消息,NGK官方已经与英国伦敦知名交易所AOFEX交易所达成战略合作,将于12月2日全球首发BGV,现已开启充值服务.同时,在12月3日15:00,用户可以参与BGV交易:在12月4日15 ...

  3. mui调用本地相册调用相机上传照片

    调用mui的常用库和jquery html部分: <header class="mui-bar mui-bar-nav"> <a class="mui- ...

  4. Vue学习笔记-Vue.js-2.X 学习(四)===>脚手架Vue-CLI(基本工作和创建)

    (五) 脚手架Vue-CLI 一 Vue-CLI前提(nodejs和webpack) 二  Vue学习-nodejs按装配置,Node.js 就是运行在服务端的 JavaScript. 1. 去nod ...

  5. Spring IoC总结

    Spring 复习 1.Spring IoC 1.1 基本概念 1.1.1 DIP(Dependency Inversion Principle) 字面意思依赖反转原则,即调用某个类的构造器创建对象时 ...

  6. s2010 安装mvc3

    下载链接如下:MVC 3安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=d2928bc1-f48c-4e95-a0 ...

  7. go mod包管理 加代理下载

    原始go.mod文件 module xxx go 1.14 报错 i/o timeout go mod init workorder go mod init: go.mod already exist ...

  8. windows本地连接虚拟机上的ubuntu的redis,以及无法连接解决方法(redisDesktopManager Jedis详细步骤)

    一.环境 1.ubuntu20.04 . redis 5.0.7 在ubuntu上下载redis,执行命令 sudo apt install redis 2.redisDesktopManager下载 ...

  9. MySQL之九---分布式架构(Mycat/DBLE)

    MyCAT基础架构图 双主双从结构 MyCAT基础架构准备 准备环境  环境准备: 两台虚拟机 db01 db02 每台创建四个mysql实例:3307 3308 3309 3310 删除历史环境 p ...

  10. 【图像处理】使用OpenCV+Python进行图像处理入门教程(三)色彩空间

    这篇随笔介绍使用OpenCV进行图像处理的第三章 色彩空间. 3  色彩空间 之前的介绍,大多是基于BGR色彩空间进行的,但针对不同的实际情况,研究人员提出了许多色彩空间,它们都有各自擅长处理的领域. ...