TP5学习笔记二 数据库
1.在入口方面
define('APP_PATH', __DIR__ . '/../app/'); //定义应用的目录
//定义配置文件目录
define('CONF_PATH',__DIR__ . '/../conf/'); //定义该目录的conf配置文件夹
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php'; //启动文件
2.在建立conf文件里建立database.php文件
加入如下的配置文件:
return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.8',
// 数据库名
'database' => 'lemtree',
// 用户名
'username' => 'root',
// 密码
'password' => 'root',
// 端口
'hostport' => '3306',
// 连接dsn
// 'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 数据库调试模式
'debug' => true,
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 数据集返回类型
'resultset_type' => 'array',
// 自动写入时间戳字段
'auto_timestamp' => false,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 是否需要进行SQL性能分析
'sql_explain' => false,
];
在index.php打印一下,看看是否加载成功
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index{
public function index(){
// dump(config('database'));
//$res=Db::connect();
//dump($res);
}
}
<?php
namespace app\index\controller;
use think\Controller;
use think\Db;
class Index
{
public function index()
{
##########################################
## ThinkPHP5数据库的基本操作 ##
##########################################
#使用sql语句的方式查询数据库
//$res=Db::query("select * from user_reg where id=?",[99]);
$db=Db::name('user_reg');
#使用sql语句进行插入
// $res=Db::execute("insert into user_reg set username=?,password=?",[
// 'haozhenyu','6225220'
// ]);
#select返回所有的记录,返回的结果是一个二维数组
#如果结果不存在返回空
//$res=Db::table('user_reg')->where(['id'=>'94'])->select();
#find是返回一条记录,是一个一维数组
#如果结果不存在,返回null
// $res=Db::table('user_reg')->where(['id'=>'110'])->find();
#value 返回一条记录并且是字条记录某个字段的值
#如果不存在则返回null
// $res=Db::table('user_reg')->where(['id'=>'115'])->value('password');
#column返回一个一维数组,数组中的value就是我们获取的列的值
#如果存在第二个参数,就返回这个数组并且用第二个参数的值作为数组的key
#如果结果不存在,返回空数组
// $res=Db::table('user_reg')->column('username','password');
#TP5的查询方式
// $res=db('user_reg')->select();
// $res=db('user_reg')->find();
#使用sql语句的方式插入数据
#返回值是受影响的行数,插入行数
#可以根据插入的行数来判断插入是否正常
// $res=$db->insert([
// 'username'=>'libai',
// 'password'=>'123123'
// ]);
#在两表关联插入时是不会获取到自增的ID
#可以是使用insertGetid
#返回值是:string(3) "122"
// $res=$db->insertGetId([
// 'username'=>'libai',
// 'password'=>'123123'
// ]);
#备注
#insert返回值是影响记录的行数,插入数
#insertGetId返回插入数据的自增id
#insertAll返回数据插入的成功行数
#数据的更新操作 update
#返回的是受影响行数
// $res=$db->where([
// 'id'=>1
// ])->update([
// 'username'=>'dupu',
// 'ip'=>'110.110.110.110'
// ]);
#setField 返回受影响行数,更新失败返回0
#和update的区别是每次只更新一个字段
// $res=$db->where([
// 'id'=>130
// ])->setField('username','杜普');
#setInc
#setInc设置表段自增1
#setInc('sum',5);两个参数,第一个参数是表名,第二个参数是每一次累加多少,默认是减少1
// $res=$db->where([
// 'id'=>1
// ])->setInc('sum',5);
// dump($res);
#setDec设置表段自减少1
#setDec('sum',5);两个参数,第一个参数是表名,第二个参数是每次累积减少多少,默认是减少1
// $res=$db->where([
// 'id'=>1
// ])->setDec('sum',1);
#数据库的删除
#根据条件删除
// $res=$db->where([
// 'id'=>130
// ])->delete();
#deltet(id);如果填写上数值,会自动将id为x的删除
//$res=$db->delete(131);
#如果想全部删除
#因为默认是禁止删除的
#$res=$db->where("1=1")->delete();
##########################################
## ThinkPHP5数据条件构造器 ##
##########################################
#buildSql()打印sql执行语句
#$res=$db->where("id","<>",1)->buildSql();
#打印:SELECT * FROM `user_reg` WHERE `id` <> 1
# <>符号是不等于的意思
# EQ,= 等于 =
# NEQ,<> 不等于 <>
# GT,> 大于>
# EGT,>= 大于等于>=
# LT,< 小于<
# ELT,<= 小于等于<=
# LIKE 模糊查询
# [NOT]BETWEEN (不在)区间查询
# [NOT]IN (不在)IN查询
# [NOT]EXISTS EXISTS查询
# EXP 表达式查询,支持sql语法
# >time 时间比较
# <time 时间比较
# between time 时间比较
# notbetween time 时间比较
$res=$db->select()->where(['username'=>'dw'])->buildSql();
dump($res);
}
}
TP5增删改查手记
最新推荐文章于 2024-01-04 08:39:18 发布