TP5.0数据库操作

时间:2022-10-17 00:20:03

本文仅以代码方式展示,望见谅!

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/7/21/021
* Time: 13:39
*/

namespace app\index\controller;


use think\Db;

class Demo
{
/**
* Effect : 原生
* Careful : 读操作使用 query 写操作使用execute
*/
public function native()
{
/*
//插入数据 return int 受影响的行数
$insert = Db::execute("insert into users(uname) values('I'),('good')");
dump($insert);

//修改数据 rerurn int 受影响的行数
$save = Db::execute('update users set uname = "am" where u_id = 10');
echo '<hr/>';
dump($save);

//查询数据 return array
$data = Db::query('select * from users');
echo '<hr/>';
dump($data);

//删除数据 return int 受影响的行数
$del = Db::execute('delete from users where uname = "I"');
echo '<hr/>';
dump($del);

//展示数据库内的所有表 return array
$tables = Db::query('show tables from tp5');
echo '<hr/>';
dump($tables);

//清空指定数据表 成功 return int 0
$del_all = Db::execute('truncate users');
echo '<hr/>';
dump($del_all);
*/


//参数绑定
Db::execute('insert into users ( uname ) values (?)', ['tp5']);

$result = Db::query('select * from users where u_id = ?', [1]);
dump($result);

//命名占位符绑定
Db::execute('insert into users (uname) values (:uname)',['uname' => 'tp5.0']);

$result = Db::query('select * from users where u_id=:uid', ['uid' => 1]);
dump($result);

}

/**
* Effect : 助手函数操作
* Careful : DB助手函数每次都会重连数据库,所以尽量避免频繁调用
*/
public function helper()
{
$db = db('users');
//查询
$db -> select();
//添加
$db -> insert();
//删除
$db -> delete();
//修改
$db -> update();
}

/**
* Effect : 查询构造器
* Careful : 查询构造器使用PDO参数绑定,所以无需对数据进行转译
*/
public function chain()
{
//新增
Db::table('users') -> insert(['uname' => 'wangwu']);

//修改
Db::table('users') -> where('u_id',1) -> update(['uname' => 'lisi']);

//查询多条
Db::table('users') -> where('uname','tp5') -> select();
//查询单条
Db::table('users') -> where('uname','tp5') -> find();

//删除
Db::table('users') -> where('u_id',1) -> delete();

//在设定了表前缀的情况下建议使用name 替换table 避免表前缀改动时修改CURD代码 如下:
Db::name('users') -> where('u_id',1) -> find();

}


}

模型类操作数据库改天再写,深表歉意