最新在写django的项目开发,所以把用到的对数据库进行增删改查操作
的一些语句,在这里总结一下。
首先,在自己的.py
文件中引入model
from DBModel.models import UserInfo,StudentInfo
1.查询
get() 方法:有且仅有一组数据;
filter() 方法:没有数据或有多条数据;
作用 | 语句 | 备注 |
---|---|---|
无条件查询全部 | userInfo = UserInfo.objects.all() | |
有且仅有一组数据 | userInfo = UserInfo.objects.get(user_id = 1) | 获取数据: userName = userInfo.name; |
没有数据或有多条数据 | userInfo = UserInfo.objects.filter(user_id = 1 ).values('name', 'sex') | 获取数据: userName = userInfo[‘name’]; userSex = userInfo[‘sex’]; |
符合情况数量 | userCount = UserInfo.objects.filter(name = "张三").count() | .count() 查询名字为“张三”的用户的数量 |
指定范围内的数据 | userInfo = UserInfo.objects.filter(user_id__in = [1, 2, 3] ).values('name', 'sex') | user_id__in = [1, 2, 3] user_id是[1, 2, 3]之中的数 |
指定范围外的数据 | userInfo = UserInfo.objects.filter().values('name', 'sex' ).exclude(user_id__in = [1, 2, 3]) | .exclude(user_id__in = [1, 2, 3]) user_id是[1, 2, 3]以外的数 |
排序–升序 | userInfo = UserInfo.objects.filter().values('name', 'sex' ).order_by('user_id') | .order_by(‘user_id’) |
排序–降序 | userInfo = UserInfo.objects.filter().values('name', 'sex' ).order_by('-user_id') | .order_by(’-user_id’) |
查询所获得的数据的第一组数据 | userInfo = UserInfo.objects.filter().values('name', 'sex' ).order_by('-user_id').first() | .first() |
查询空值数据 | userInfo = UserInfo.objects.filter(name__isnull= True ).values('user_id') | name__isnull= True 查询name为空的数据 |
查询非空数据 | userInfo = UserInfo.objects.filter(name__isnull= False ).values('user_id') | name__isnull= False 查询name不为空的数据 |
模糊查询 | userInfo = UserInfo.objects.filter(name__contains = "张") | __contains 查询名字里含有“张”字的所有用户 |
2.添加
当前时间:
# .py中引入
import datetime
# 2020-07-13 20:38:38.053667+09
datetime.datetime.now()
作用 | 语句 | 备注 |
---|---|---|
插入数据 | UserInfo.objects.create(user_id = 22, name = "name", sex = "boy") | .create() |
查询自增id | user_id = UserInfo.objects.create(name = "name", sex = "boy").user_id | 插入数据库数据的同时,查询 刚插入数据的自增id |
批量插入 | userInfoCreateArray = [] for name in userNameList: userInfoCreateArray.append(UserInfo(name = name)) UserInfo.objects.bulk_create(userInfoCreateArray ) | .bulk_create() 批量插入 |
3.更新
作用 | 语句 | 备注 |
---|---|---|
更新数据 | UserInfo.objects.filter(user_id = 1).update(name = "安玖", sex = "girl") | .update() |
4.删除
作用 | 语句 | 备注 |
---|---|---|
删除数据 | UserInfo.objects.filter(user_id = 1).delete() | .delete() |