0


Python Django 之连接 Mysql 数据库详解

文章目录

1 概述

1.1 Mysql 下载和安装

1.2 菜单目录

  • 主要使用的文件如图

在这里插入图片描述

2 ORM 框架

2.1 连接 Mysql 模块:mysqlclient

> pip install mysqlclient

2.2 创建数据库

# 创建数据库>createdatabase Demo DEFAULTCHARSET utf8 COLLATE utf8_general_ci;>># 展示数据库>showdatabases;

在这里插入图片描述

2.3 连接 Mysql

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

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 固定classUserInfo(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.deform(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 path

from app01 import views

urlpatterns =[# 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

本文转载自: https://blog.csdn.net/qq_34745941/article/details/133418550
版权归原作者 鱼丸丶粗面 所有, 如有侵权,请联系我们删除。

“Python Django 之连接 Mysql 数据库详解”的评论:

还没有评论