前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django 操作MySQL数据库

Django 操作MySQL数据库

作者头像
超级小的大杯柠檬水
发布2023-05-06 21:00:17
3370
发布2023-05-06 21:00:17
举报
文章被收录于专栏:CYCY


相关内容

MySQL的安装

https://blog.csdn.net/qq_59636442/article/details/123058454

一、配置数据库(修改settings.py配置信息)

代码语言:javascript
复制
# 数据库配置 
# 注释或删除默认的数据库(sqlite)配置
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',# 数据库引擎
        'NAME':'mydb',#数据库名字
        'USER':'root',#用户名
        'PASSWORD':'123456',#密码
        'HOST':'127.0.0.1',# HOST
        'PORT':'3306',#端口
        'OPTIONS': {'charset':'utf8mb4'}, #打开数据库 编码格式 ——解决4字节表情无法储存问题
    }
}

二、安装pymysql(数据库引擎)

(在终端执行如下命令)

代码语言:javascript
复制
pip3 install pymysql

三、models.py(数据模块,用于数据库设计)

1、创建一个用户表

代码语言:javascript
复制
from django.db import models
# 需要创建应用
# Create your models here.
# 数据表名 应用名_类名

class Users(models.Model):
    uese_name = models.CharField('用户名',max_length=255,null=True)
    phone_number =  models.CharField('手机号',max_length=20)
    password = models.CharField('密码',max_length=255)
    register_date = models.DateTimeField('注册时间',auto_now_add=True)

#CharField和DateTimeField----数据类型
#max_length----最大长度
#auto_now_add----默认时间为创建时间

四、生成数据表(迁移文件)

1、生成迁移文件(在终端执行如下命令)

代码语言:javascript
复制
python3 manage.py makemigrations

2、执行迁移文件(在终端执行如下命令)

代码语言:javascript
复制
python3 manage.py migrate

五、增删改查

1、增加数据

代码语言:javascript
复制
#类名.objects.create(字段=值,字段=值)
Users.objects.create(uese_name="张三",
                phone_number="888",
                password = "123456")

2、删除数据

代码语言:javascript
复制
类名.objects.filter(字段=值).delete()
Users.objects.filter(phone_number="888").delete()

3、修改数据

代码语言:javascript
复制
#类名.objects.get(字段=值)
sql = Users.objects.get(phone_number="888")#在查不到不到会报错
sql.password = "8888888"
sql.save()#提交数据 只有提交后才会被修改

4、查询数据

        获得单条数据

代码语言:javascript
复制
#类名.objects.get(字段=值)
sql = Users.objects.get(phone_number="888")#在查不到不到会报错

password = sql.password                   #获得查询结果的password

        获得多条数据

代码语言:javascript
复制
#类名.objects.filter(字段=值)
sql = Users.objects.filter(uese_name="张三")


#获得每一条查询结果的phone_number
for i in sql:
  print(i.phone_number)

        获得全部数据

代码语言:javascript
复制
#类名.objects.all()
sql = Users.objects.all()

#获得每一条查询结果的phone_number
for i in sql:
  print(i.phone_number)

        增加查询范围

代码语言:javascript
复制
#类名.objects.all()[开头:结束:步长]
#类名.objects.filter(uese_name="张三")[开头:结束:步长]
sql = Users.objects.all()[:10]#获取0-10条数据

#获得每一条查询结果的phone_number
for i in sql:
  print(i.phone_number)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 相关内容
  • 一、配置数据库(修改settings.py配置信息)
  • 二、安装pymysql(数据库引擎)
  • 三、models.py(数据模块,用于数据库设计)
  • 四、生成数据表(迁移文件)
  • 五、增删改查
    • 1、增加数据
      • 2、删除数据
        • 3、修改数据
          • 4、查询数据
            •         获得单条数据
            •         获得多条数据
            •         获得全部数据
            •         增加查询范围
        相关产品与服务
        云数据库 MySQL
        腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档