🐻作者: 芝士小熊饼干
📖 系列专栏: 数据结构-蓝桥杯-算法⭐
💪坚持天数:17天🤖
修改mysql引擎 ⭐
# sqlite主要是一个嵌入式的关系型数据库
# 主要是在 移动端使用
# 小型关系型数据库
# 中型数据库 mysql(甲骨文)
# 大型数据库 :oracle,DB2
DATABASES = {
'default': {
# engine引擎
'ENGINE': 'django.db.backends.mysql',
'HOST':'127.0.0.1',#主机
'PORT':'3306',#端口号
'USER':'root',
'PASSWORD':'123456',
# 指定数据库
'NAME':'book_01',
}
}
增-删-改-查 ⭐
当前目录终端输入:python manage.py shell
from django.shortcuts import render
from book.models import BookInfo
from django.http import HttpResponse
# Create your views here.
def index(request):
# 到数据库中查询数据
books=BookInfo.objects.all()
# 组织数据
context={
'books':books
}
# 传递给模板
# return render(request,'',context)
return HttpResponse('index')
# 类似于 ipython
# python manage.py shell
##################################新增数据#############################################
# 方式一
book=BookInfo(name='python',pub_datle='2000-01-01')
# 调用save方法
book.save()
# 方式二objecrs模型的管理类 增删改查
BookInfo.objects.create(
name='java',pub_datle='2010-01-01'
)
##################################更新数据#############################################
book=BookInfo.objects.get(id=1)
# 更新
# 直接修改属性
book.readcount=20
book.save()
# 方式二
BookInfo.objects.filter(id=1).update(readcount=100,commentcount=200)#filter过滤
##################################删除数据########################################
# 1查询出数据
book=BookInfo.objects.get(id=5)
# 调用删除
book.delete()
# 方式二
BookInfo.objects.filter(id=6).delete()
# ///
# 基本查询
# get 得到 某一个数据
# all 获取所有
# count个数
book=BookInfo.objects.get(id=1)
# 查询id 不存在的数据会抛出异常
try:
book=BookInfo.objects.get(id=2)
# except Exception:
# pass
except BookInfo.DoesNotExist:
pass
# get 单一对象 all所有结果列表
BookInfo.objects.all()
# count
BookInfo.objects.all().count()
BookInfo.objects.count()
# /
# filter 筛选/过滤/返回n个结果
# get 返回一个结果
# exclude 排除掉符合条件剩下的结果 相当于not
# 相当于where查询
'''
语法形式:
以filter(字段名__运算符=值) 为例
'''
BookInfo.objects.get(id__exact=1)#exact 等于 准确的
BookInfo.objects.get(id=1)
BookInfo.objects.filter(id=1)
BookInfo.objects.filter(name__contains='湖')#包含
BookInfo.objects.filter(name__endswith='部')#以某个字段结尾
BookInfo.objects.filter(name__isnull=True)#查询为空
BookInfo.objects.filter(id__in=[1,3,5])# or
BookInfo.objects.filter(id__gt=3)# 大于 gte>=
'''
lt小于
lte 小于等于
equal 等于
'''
BookInfo.objects.exclude(id=3)
BookInfo.objects.filter(pub__date__year='1980')