Django数据库配置(一)

通常于生产部署之时用到mysql, 此为数据库, 当然它也是予以支持的, 等等类型的数据库。常被使用的用于链接mysql数据的包存在着和。

这是一个扩展模块, 其用途在于连接MySQL数据库服务器, 它具备有数据库连接以及操作方面的功能, 能够允许程序同MySQL数据库展开互动交流, 它属于某分支, 该分支兼容2以及3, 而且是MySQL数据库在某环境里的一种常见连接途径。

它是一个用于连接MySQL数据库服务器的第三方库, 该库是纯特定语言编写的MySQL客户端库, 其实现了MySQL协议, 能让特定程序与MySQL数据库进行交互。它是一个替代特定选项(或另一特定选项)的选择, 特别是在需要避免编译C扩展的情形下, 鉴于它是纯特定语言实现的, 故而安装起来一般更简便。

关于那两个包的效率究竟怎样, 现今来看, 差异并非十分显著明显, 不存在什么突出特别的不同啦。

项目所选择的数据类型是数据库配置, 各不同的数据库得设置不一样的数据库引擎, 常用的数据库引擎如下, 下周会进行单独讲解, 并且需要安装第三方包:

复制代码
'django.db.backends.sqlite3',
'django.db.backends.oracle',
'django.db.backends.mysql',
'django.db.backends.postgresql_psycopg2',

项目进行创建这个行为的时候, 默认的状况之下创建出了数据库, 小型的那种项目里面所常用的数据库, 被应用在嵌入式系统方面, 其所占用的资源非常少, 关于这个数据库的一系列配置事项是下面这样子的:

复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',  
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

要是选用mysql当做数据库的话, 就得安装用于连接mysql的第三方包, 这是最初常用的那种包, 然而鉴于不再提供支持了, 所以自.0之后, 就不再把它用作连接模块使用了, 转而选取别的作为默认的连接模块(能够进行更换)。

在对mysql做配置之前, 要先将其安装好, 在实施安装的过程当中, 会遭遇一些问题, 不过这些问题很轻易就地就被解决掉了, 在此处不予陈列怎样去安装它。在互联网上存在着诸多的讲解。

复制代码
DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE':'django.db.backends.mysql',
        'NAME':'django_db',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':3306, 
    }
}

注意配置PORT一定是数字,不能是字符串。

链接mysql

除了使用以外,还可以使用模块链接mysql数据库。

安装成功后(pip ),只需要在项目的的.py文件

加入以下代码即可,.py文件中的数据库配置信息无需修改:

复制代码
import pymysql
pymysql.install_as_MySQLdb()

要是想要去验证一下是不是已经成功更换成了默认的mysql链接库, 那么可以先进行卸载, 以此来排除干扰。

需留意, 在运用.0以上版本时, 存在可能报错的情况, 缘由是数据库的用户名加密方式发生了变化, 关于如何解决, 网上有诸多教程, 故而不在此进行介绍, , , 的.py配置, 除了驱动有所不同外, 其他几个配置均相同, 后续会专门撰写一篇有关链接和数据的。

相关推荐
Decay__19 分钟前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Thanks_ks33 分钟前
SQL 的 GROUP BY 与聚合函数:从会写 SELECT 到会做统计
数据库·sql·mysql·group by·数据统计·聚合函数·having
Decay__9 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
苏宸啊13 小时前
MySQL(一)
数据库·mysql
2603_9696948514 小时前
JDBC 基础学习笔记:API 核心原理解析与 CRUD 代码实操
数据库·笔记·mysql·学习方法·database·sql注入
这个DBA有点耶14 小时前
库内语义构建 vs 外挂向量库:业务语义缺失,才是RAG“胡说八道”的根源
数据库·mysql·aigc
kobe_OKOK_15 小时前
mysql 开启 binlog 日志
数据库·mysql
这个DBA有点耶16 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范
aiks_yuan21 小时前
MySQL 深分页 LIMIT 越翻越慢怎么办:300 万行实测 OFFSET、延迟关联和 keyset 的耗时差距(MySQL 8.2)
mysql
Decay__21 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构