Django和Mysql数据库
Django学习笔记
Django和Mysql数据库
Django开发操作数据库更简单,内部提供了ORM框架。
1)安装mysqlclient
pip3 install mysqlclient
2)ORM
ORM可以帮助我们做两件事:
1.创建、修改、修改数据库中的表(不用写sql语句)[不能创建数据库]
2.操作表中的数据(不用写sql语句)
3)创建数据库
create database database_name;
4)配置Django连接数据库
修改settings.py文件
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', #数据库类型'NAME': 'helloWorld', #数据库名称'USER': 'root', #数据库用户名'PASSWORD': 'xxxx', #数据库密码'HOST': 'xxx.xxx.xxx.xxx', #数据库主机地址'PORT': '33060', #数据库端口号}
}
5)在modeles.py中创建一个用于生成表的类
from django.db import models# Create your models here.
class userInfo(models.Model): #这个类用于生成表name = models.CharField(max_length=32) #定义name字段password = models.CharField(max_length=16) #定义password字段age = models.IntegerField() #定义age字段"""
Django执行上面这个类的时候,相当于执行了建表操作(新建的表名为“app名_类名”),相当于以下代码:
create table app1_userinfo(id bigint auto_increment primary key, name varchar(32),password varchar(16),age int)
"""
6)创建表,将数据自带表迁移到数据库中
python manage.py makemigrations #生成迁移文件
python manage.py migrate #进行迁移
迁移完后,在数据库中应该可以看到一些django的表
注意:
如果不执行迁移,那么在使用的时候,有些数据需要存到自带的表中,那么就会报错。
这样就可以看到数据库中已创建好了一张表

如果要删除表,只需要把models.py中的类删除,重新执行表迁移就可以。
如果要修改表,只需要修改models.py中的类,重新执行表迁移就可以。
注意:
在新建 的表中会自动增加一个ID字段,并且为auto_increment 和primary key
如果在表中增加了新字段,进行迁移的时候会有两个选项:
选项1 :手动指定一个默认值;
选项2:退出,可以在类中将将新增字段添加一个默认值;
如:
six=models.CharField(max_length=4,defalut=l)
或者设置新增字段允许为空
six=models.CharField(max_length=4,null=True,blank=True)
1.13操作数据
1)新增记录
from app1 import models #引入models模块
models.<class_name>.objects.create(<field1>=<value>,<field2>=<value>.....)#相当于以下sql语句
#insert into <table_name> (<field1>,<field2>...) values(<value1>,<value2>.....)
2)删除记录
models.<class_name>.objects.filter(条件).delete() #删除满足条件的数据
models.<class_name>.objects.all.delete() #删除表中所有的数据
3)查询数据
data_list1 = models.<class_name>.objects.all() #获取表中的所有数据QuerySet类型
for row in data_list1: #遍历所有数据print(row.<field>) #获取指定字段的数据
data_list2 = models.<class_name>.objects.filter(条件) #获取满足指定条件的数据
4)修改数据
#修改所有记录的指定字段值
models.<class_name>.objects.all().update(<field>=<new value>)
#修改符合条件的记录的指定字段值
models.<class_name>.objects.filter(条件).update(<field>=<new value>)
相关文章:
Django和Mysql数据库
Django学习笔记 Django和Mysql数据库 Django开发操作数据库更简单,内部提供了ORM框架。 1)安装mysqlclient pip3 install mysqlclient2)ORM ORM可以帮助我们做两件事: 1.创建、修改、修改数据库中的表(不用写sql语句)[不能创…...
[蓝桥杯]-最大的通过数-CPP-二分查找、前缀和
目录 一、题目描述: 二、整体思路: 三、代码: 一、题目描述: 二、整体思路: 首先要知道不是他们同时选择序号一样的关卡通关,而是两人同时进行两个入口闯关。就是说两条通道存在相同关卡编号的的关卡被通…...
安卓UI面试题 26-30
26. Window和DecorView是什么?DecorView又是如何和Window建立联系的?Window是 WindowManager 最顶层的视图,它负责背景(窗口背景)、Title之类的标准的UI元素, Window是一个抽 象类,整个Android系统中, PhoneWindow是 Window的唯一实现类。 至于 DecorView,它是一个顶级 …...
CPU、GPU、IPU、NPU、TPU、LPU、MCU、MPU、SOC、DSP、FPGA、ASIC、GPP、ECU、
CPU: 中央处理器(Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。 它的功能主要是解释计算机指令以及处理计算机软件…...
鸿蒙车载原生开发,拓展新版图
一天内连发“五弹”、HiCar 4.0首次上车 华为鸿蒙狂扩“汽车朋友圈”-上游新闻 汇聚向上的力量 3月15日,在“华为云&华为终端云服务创新峰会2024”上,华为首批汽车行业伙伴广汽传祺、岚图汽车、零跑汽车、凯翼汽车加入鸿蒙生态合作,华为…...
15届蓝桥杯第二期模拟赛题单详细解析
文章目录 🧡🧡t1_求余🧡🧡思路代码 🧡🧡t2_灌水🧡🧡思路代码 🧡🧡t3_字符显示🧡🧡思路代码 🧡🧡t4_区间最大和…...
mysql统计数据库大小
ps:亲测可行,时间2024-03-15 15:18 mysql统计数据库大小 要统计MySQL数据库的大小,你可以使用以下SQL查询: SELECT table_schema AS "Database",ROUND(SUM(data_length index_length) / 1024 / 1024, 2) AS "Size (MB)"FROM info…...
centos防火墙firewall-cmd限定特定的ip访问
文章目录 firewall-cmd是什么?启动firewalld服务查看默认区域关闭端口访问添加富规则firewall-cmd的区域概念firewall-cmd的常用选项通用选项:状态选项:永久选项:区域选项: firewall-cmd是什么? firewall-…...
创维汽车与创维光伏储能亮相2024上海AWE,感受制造业的升级变迁
2024年3月14日,中国家电及电子消费博览会在上海正式召开。相比往届展会,2024上海AWE进驻更多行业头部力量,出展更多尖端科技,蕴含更深行业思考。创维光伏储能及乘载更先进智驾科技的创维汽车亮相此次展会。 消费电子的革新不断影响…...
Kafka配置SASL_PLAINTEXT权限。常用操作命令,创建用户,topic授权
查看已经创建的topic ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --list 创建topic 创建分区和副本数为1的topic ./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --topic acltest --partitions 1 --replication-factor 1 创建kafka用户 …...
[Java、Android面试]_05_内存泄漏和内存溢出
本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。 整理成了面试系列,由于时间有限,每天整理一点,后续会陆续分享出来,感兴趣的朋友可关注收…...
MySQL-HMA 高可用故障切换
本章内容: 了解MySQL MHA搭建MySQL MHAMySQL MHA故障切换 1.案例分析 1.1.1案例概述 目前 MySQL 已经成为市场上主流数据库之一,考虑到业务的重要性,MySQL 数据库 单点问题已成为企业网站架构中最大的隐患。随着技术的发展,MHA…...
深度学习 精选笔记(11)深度学习计算相关:GPU、参数、读写、块
学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…...
深度学习 Day27——J7对于ResNeXt-50算法的思考
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 文章目录 前言问题分析 前言 关键问题:ResNeXt-50中conv_shortcutFalse时…...
华为配置敏捷分布式SFN漫游实验
配置敏捷分布式SFN漫游示例 组网图形 图1 配置敏捷分布式SFN漫游示例组网图 组网需求数据规划配置思路配置注意事项操作步骤配置文件 组网需求 某医院通过部署敏捷分布式网络给医护人员提供WLAN接入服务,以满足医护人员办公的最基本需求。管理员希望终端在覆盖区域内…...
续上篇 qiankun 微前端配置
上篇文章地址:微前端框架 qiankun 配置使用【基于 vue/react脚手架创建项目 】-CSDN博客 主应用: src/main.js 配置: import Vue from vue import App from ./App.vue import router from ./router import { registerMicroApps, start } …...
AI日报:欧盟人工智能法案通过后行业面临合规障碍
文章目录 人工智能新规对web爬网的影响对英国的影响。 人工智能新规 立法者已经通过了欧盟人工智能法案。企业现在必须确保其人工智能应用程序符合规则。 全面的新规定对可能影响公民权利的人工智能系统实施制裁,并有可能彻底禁止某些系统。 违反规定的公司可能面…...
音视频如何快速转二维码?在线生成音视频活码的教程
音频文件的二维码制作步骤是什么样的呢?扫描二维码来展现内容是很流行的一种方式,基本上日常生活中经常会用的图片、音频、视频等都可以使用生成二维码的方式。现在很多的幼儿园或者学校会录制孩子的音频或者视频内容用来展示,那么二维码制作…...
开源堡垒机Jumpserver安装教程
前言:堡垒机的应用场景 公司内有若干台服务器,既有windows的也有linux的, 提供有ERP,OA,Web,报表等等各种服务,往往需要远程登录到服务器上去做运维,但如果给root或者administrator权限,很容易出现不知道谁操作了的问题.如果不同人设置不同账号,又账号过多,权限不足等等其他问题…...
CentOS 7 socat命令端口转发 —— 筑梦之路
命令简介 socat是一个功能强大的命令行工具,也可以看作是netcat的加强版,它可以在两个端口之间建立虚拟通道,实现数据的传输。适用于网络调试、端口转发、安全测试等多种场景,是一个适合网络管理员和开发者的工具 yum在线安装 yu…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
深度解析云存储:概念、架构与应用实践
在数据爆炸式增长的时代,传统本地存储因容量限制、管理复杂等问题,已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性,成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理,云存储正重塑数据存储与…...
