web 开发(4)- 数据库sql

news/2024/9/20 6:51:31/文章来源:https://www.cnblogs.com/jtailong/p/18403344

sql创建数据库

image

  1. sudo mysql 进入
  2. mysql> create database book_01

安装 mysqlclient

sudo apt-get install libmysqlclient-dev
sudo apt-get update

远程控制SQL

  1. 得到远程密码
    sudo cat /etc/mysql/debian.cnf
  2. 获取IP地址
    ifconfig
    sudo mysql
  3. 问题一,不允许远程控制
    先进入本地
    : mysql -u root -p
    mysql: show databases;
    mysql: use mysql;
    mysql: show tables;
    mysql: select host , user from user;
    这里,host 字段,表示可以登录的主机名字和方式,user字段,代表用户名
    mysql: update user set host='%' where user='root';
    mysql: flush privileges;

命令行增加

image

增删改查

使用shell
python manage.py shell

增加数据

方式一,必须使用save方法才能将数据保存

from book.models import BookInfo
book = BookInfo(
name = 'Django',
pub_data= '2010-7-4',
readcount= 10
)
book.save()
复制代码到shell里面运行

方式二 objects相当于一个代理,实现增删改查

BookInfo.objects.create(
name = 'ceshikaifa',
pub_data = '2033-7-7',
)

修改数据

方式一

%% select * from bookinfo where id=6

book = BookInfo.objects.get(id = 8)
book.name = 'yunweikaifa'
book.save() 保存必须使用这个方法

修改数据方式二

%% filter 过滤器

BookInfo.objects.filter(id=8).update(name='pachongrumen',commentcount = 6)

删除数据

方式一

book = BookInfo.objects.get(id=8)
book.delete()

删除数据方式二

BookInfo.objects.filter(id=5).delete()

查询数据

% get查询单一结果,如果不存在会抛出模型类 .DoesnotExist异常

book = BookInfo.objects.get(id=1)
try:
book = BookInfo.objects.get(id=1)
except BookInof.DoesNotExist:
print('bucunzai')

BookInfo.objects.all() % 获取所有结果

查询结果数据量

BookInfo.objects.all().count()

过滤查询 filter

% filter 过滤多个结果
% exclude 排除多个结果
% get 过滤单一结果

% 模型名称.objects.filter(属性名__运算符=值) 双下划线

book = BookInfo.objects.get(id=1)
book = BookInfo.objects.get(id__exact=1)
book = BookInfo.objects.get(pk=1)
book = BookInfo.objects.filter(pk=1)[0]

BookInfo.objects.filter(name__contains = 'She')
BookInfo.objects.filter(name__endswith = 'She')

BookInfo.objects.filter(id__in=[1,3,5])
%% gt,gte,lt,lte,大于,大于等于,小于,小于等于
BookInfo.objects.exclude(id=3)

多字段比较

两个属性对比使用F对象,django.db.models
from django.db.models import F
% 模型类名.objects.filter(属性名__运算符=F('第二个属性名'))
from django.db.models import F
BookInfo.objects.filter(readcount__gte=F('commentcount'))

并且查询

BookInfo.objects.filter(readcount__gte=30).filter(id__lt=3)
BookInfo.objects.filter(readcount__gte=30,id__lt=3)

% 语法结果. 模型类名.objects.fitler(Q(属性名__运算法=值)&Q(属性名__运算法=值)&Q(属性名__运算法=值))

或者查询

% 语法结果. 模型类名.objects.fitler(Q(属性名__运算法=值)|Q(属性名__运算法=值)|Q(属性名__运算法=值))

from django.db.models import Q
BookInfo.objects.filter(Q(readcount__gt=20)|Q(id__lt=2))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794153.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

隧道视频监控智能分析系统

隧道视频监控智能分析系统是道路交通方式不可缺少的监管手段,隧道视频监控智能分析系统有效进行交通违法和紧急事件的全自动识别和交通出行流量的全自动数据分析,并依据城市路口、城市道路、高速路、道路、公安机关监控、隧道、公路桥梁、地下停车场等各类实际路面生态环境开…

煤矿皮带急停报警监测系统 煤矿皮带运行监控系统

煤矿皮带急停报警监测系统运用煤矿地底现场已有摄像头的视频监控画面图像,赋能现场传统摄像机具备Ai识别分析报警、监管和鉴别工作人员、机器设备、自然环境等使用标准、皮带锚索、煤矸石砖、堆煤、非法运输等异常现象、工作人员没戴安全头盔、擅自离岗、路面浓烟、水、影片等…

个人项目-论文查重

这个作业属于哪个课程 班级链接这个作业要求在哪里 个人项目 - 作业 - 计科22级12班 - 班级博客 - 博客园 (cnblogs.com)这个作业的目标 准备、创建、开发、管理、测试个人项目GitHub项目链接 https://github.com/chocohQL/3122004348-01 可运行 jar 已发布在最新 releases 项目…

加油站视频监控智能识别分析

加油站视频监控智能识别分析根据AI视频识别的加油站智能监控解决方案:依据加油站现场已经存在的高清摄像头搜集加油站视频在此基础上加油站视频监控智能识别加油站监控画面中的人的行为或者车的视频图象。智能识别工作人员行为状态,是否存在违规操作,系统自动识别员工,不戴…

Windows NoiLinux

在 Windows 下使用 NoiLinux ubuntu-noi-v2.0.iso下载 ubuntu-noi-v2.0.iso打开 VMWare,创建新的虚拟机 -> 自定义(高级)-> 下一步 -> 下一步 -> 安装程序光盘映像文件(iso),选择下载的 ubuntu-noi-v2.0.iso后面直接跳过就行了,可能需要你留意的是分配处理器内…

通用加工软件 PowerNC

可以取代维宏的NCStudio软件 除了支持标准NC文件外,还可以集成一个CAM软件;

视野修炼-技术周刊第100期 | CSS observer

① style-observer - 监听 CSS 变化 ② Jimp - JS 图片处理库 ③ yocto-spinner - 终端旋转 loading ④ revideo - Code 生成视频 ⑤ button-stealer - 按钮收藏 ⑥ 免费头像合集 ⑦ 应该使用的HTML TOP5 特性 ⑧ 3.78MB 大小的 JS 服务 Docker 镜像欢迎来到第 100 期的【视野修…

CTF逆向:将数组作为函数代码执行

例题 攻防世界 BABYREflag判定条件为这个 if ( v5 == 14 && (*judge)(s) )注意judge本质上是一个数组,(*judge)(s)则说明judge数组中的内容被当做代码执行 但前面又有for ( i = 0; i <= 181; ++i )judge[i] ^= 0xCu;judge数组中的内容进行加密 所以需要进行patchsta…

11-HashSet

HashSet 特点放入Integer类型数据//创建一个HashSet集合:HashSet<Integer> hs = new HashSet<>();hs.add(19);hs.add(5);hs.add(20);hs.add(19);//存重复数据hs.add(41);hs.add(0);System.out.println(hs.size());//6个数据,只存了5个System.out.println(hs);//[…

VoceChat - 发现私有云社交的魅力

VoceChat使用反馈:发现私有云社交的魅力 在这个信息浩如烟海的时代,如何保持有效的沟通与信息共享,成为了我们每一个人都需要面对的挑战。很高兴在这段时间里,体验了VoceChat这款支持独立部署的个人云社交媒体聊天服务。作为一个高度灵活且保护用户数据隐私的通讯工具,Vo…

ChatGPT windows桌面版

下载 以下是综合版本,包括多个AI产品。https://github.com/lencx/Noi在download中找到适合自己的版本。 截图设置呼出快捷键左上角标志 noi 设置 快捷键 全局快捷键 输入一个快捷键(如:shift+ctrl+C) √可参考下图:版权木有,侵权不究,欢迎转载

南沙信C++陈老师解一本通题:1310:【例2.2】车厢重组

​ 【题目描述】在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小…