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 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);
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值