Python与django连接数据库

本文介绍如何在PyCharm中设置数据库连接,并详细讲解了如何更改Django项目的数据库配置为MySQL,以及如何利用Django ORM操作现有数据库表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.pycharm 链接数据库

点击Database

image-20210315190245623

点击+号添加

image-20210315190443079

下载驱动

image-20210315191147294

测试失败示例

image-20210315191447124

测试成功示例

image-20210315191401962

查看链接后的数据库

image-20210315191620697

二.django 链接数据库

django 默认使用的数据库是自带的 SQLkite3, 功能比较少, 兼容性不够, 我们需要使用 mysql 将其替换

1.对setting.py 文件中的 DATABASES 参数进行修改

# 默认的数据库配置 : 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

# 注释默认配置并将其改成 mysql
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 选择mysql存储引擎
        'NAME': 'db1111',  # 必须是已经存在的库
        'HOST': '127.0.0.1',
        'POST': 3306,
        'USER': 'root',
        'PASSWORD': '123456',
        'CHARSET': 'utf8'
    }
}

2.在项目文件夹或者应用文件夹的__init__.py文件中书写固定代码

# 这两行代码就是在告诉django不要使用默认的数据库(兼容性不好),使用我们指定的
import pymysql
pymysql.install_as_MySQLdb()

三.数据库同步命令

当数据库中已经存在一些表, 我们如何通过 django orm 操作这些表?

1.手动创建

  • 按照数据库中表字段在 models.py 文件中书写并进行二次同步

2.django 提供反向同步

  • 先执行数据库迁移命令来完成连接
python3 manage.py makemigrations
  • 在执行下面命令查看代码
python3 manage.py inspectdb

# 代码示例
class Userinfo(models.Model):
    id = models.IntegerField(blank=True, null=True)
    name = models.CharField(max_length=32, blank=True, null=True)
    pwd = models.IntegerField(blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'userinfo'

如上面代码所示, 它会将数据库中表转换成代码的形式, 只需要复制到 models.py 文件中去就行了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

给你骨质唱疏松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值