TP5增删改查手记
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 appindexcontroller;
use thinkController;
use thinkDb;
class Index{
public function index(){
// dump(config("database"));
//$res=Db::connect();
//dump($res);
}
}
<?php
namespace appindexcontroller;
use thinkController;
use thinkDb;
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);
}
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
