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); } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。