TP6中db操作数据库的方式(方法)和ORM模型操作数据库的方式(方法)

db库认知基础
注:orm独立出来了,与tp5不同
配置数据库:

通过env文件来具体配置,目的是不同的环境下,如线上服务器的配置只需要使用本环境的env文件就可以直接更改配置了

使用db:

① tp5中使用DB方法直接use think/Db即可,tp6中必须使用门面才能使用

use think\facade\Db;

public function hello()
{
$result = Db::table(“user”)->where(“id”,10)->find();

dump($result);

}

② 通过容器app()来获取,tp6有,tp5没有

public function hello()
{
app(‘db’)->table(“user”)->where(“id”, 10)->find();
}
db查询方式讲解
请参考手册:https://www.kancloud.cn/manual/thinkphp6_0/1037532

CURD操作以及链式操作,在这里不做过多介绍
非常实用的SQL问题排查方案
第一种:链式查询中嵌入:fetchsql()

第二种:echo Db::getLastSql();
模型初始
关于模型操作参考手册:

https://www.kancloud.cn/manual/thinkphp6_0/1037579

此处不做过多介绍
模型查询其他使用
模型查询返回的是对象,可以toArray()方法转换为数组

同时要注意

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Django ,可以使用第三方库来定义 MySQL 数据库连接池。其比较常用的是 `mysql-connector-python` 库。 首先需要在 Django 的 `settings.py` 文件配置数据库连接信息,例如: ```python DATABASES = { 'default': { 'ENGINE': 'mysql.connector.django', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', 'OPTIONS': { 'pool_name': 'my_connection_pool', 'pool_size': 10, 'autocommit': True, 'connection_timeout': 30, } } } ``` 在上述配置,`OPTIONS` 的参数用于配置连接池,其: - `pool_name`:连接池的名称; - `pool_size`:连接池的大小; - `autocommit`:是否自动提交事务; - `connection_timeout`:连接超时时间。 接下来可以定义 ORM 模型类来操作数据库,例如: ```python from django.db import models class MyModel(models.Model): name = models.CharField(max_length=50) age = models.IntegerField() class Meta: db_table = 'mytable' ``` 可以通过 ORM 模型类来进行数据库操作,例如: ```python # 查询 objs = MyModel.objects.all() # 新增 obj = MyModel(name='Alice', age=20) obj.save() # 更新 obj.age = 30 obj.save() # 删除 obj.delete() ``` 需要注意的是,在使用连接池时,需要手动释放数据库连接,否则可能会导致连接池耗尽。可以使用 Django 的 `with` 语句来自动管理连接的获取和释放,例如: ```python from django.db import connections with connections['default'].cursor() as cursor: cursor.execute('SELECT * FROM mytable') rows = cursor.fetchall() ``` 这样可以确保连接在使用完毕后会被自动释放。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值