牛骨文教育服务平台(让学习变的简单)
博文笔记

TP5增删改查手记

创建时间:2018-02-10 投稿人: 浏览次数:136
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);
    }
}

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。