关于TP5的SQL语句

连接数据库(基本操作)

常用配置方式是在应用目录或者模块目录下面的 database.php中添加下面的配置参数

return [
    // 数据库类型
    'type'        => 'mysql',
    // 数据库连接DSN配置
    'dsn'         => '',
    // 服务器地址
    'hostname'    => '127.0.0.1',
    // 数据库名
    'database'    => 'thinkphp',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => '',
    // 数据库连接端口
    'hostport'    => '',
    // 数据库连接参数
    'params'      => [],
    // 数据库编码默认采用utf8
    'charset'     => 'utf8',
    // 数据库表前缀
    'prefix'      => 'think_',
    // 数据库调试模式
    'debug'       => false,
    // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
    'deploy'      => 0,
    // 数据库读写是否分离 主从式有效
    'rw_separate' => false,
    // 读写分离后 主服务器数量
    'master_num'  => 1,
    // 指定从服务器序号
    'slave_no'    => '',
    // 是否严格检查字段是否存在
    'fields_strict'  => true,    
];

 

输出语句

简单的输出某个数据表的所有数据


	public function index(){
		// 把text表的数据全部打印出来。
		$text = db('text')->select();
		// 打印出来的是数组类型的数据
		dump($text);
	}

输出某数据表的数据总数


	public function index(){
		// 获取text表的数据条数。
		$count = db('text')->count();
		// 打印出来的是int类型数据
		dump($count);
	}

只输出一条数据。

	
	public function index(){
		// 假如我们需要输出text表status=1的一条数据
		$data = db('text')
			->where('status=1')
			->find();
	}
	

指定输出几条数据

	
	public function index(){
		// 假如我们需要输出text表status=1的10条数据
		$data = db('text')
			->where('status=1')
			//where语句也可以这样写
			->where('status',1)
		    	->limit(10)
		    	->select();


		// limit还支持同时携带2个参数的写法
		$data = db('text')
			->where('status',1)
			->limit(0,10)
		    	->select();
		
	}

 

where条件

关于ThinkPHP运算符 与 SQL运算符 对照表,不懂的小伙伴可点击以下链接了解一下:https://blog.csdn.net/liuxin_0725/article/details/79881325

假如你需要查询text id 等于 1 的数(简单查询)

	
	public function index(){
		
		$data = db('text')
		    ->where('id',1)
		    ->select(); 
	}

假如你需要查询text id 和 status 都等于 1 的数据(多条件查询)

	
	public function index(){
		
		$data = db('text')
		    ->where('id',1)
		    // 如果是一定的条件的话 可以直接在下面加一条where语句
		    ->where('status',1)
		    ->select(); 
	}

假如你要查询的条件比较多可以采用 数组条件 来查询( 普通查询 )

	
	public function index(){
	
		$where['name'] = 'thinkphp';
		$where['id'] = 1;
		
		$data = db('text')
		//  把查询条件传入查询方法
		    ->where($where)
		    ->select(); 
	}
	
		//以上写法最后生成的SQL语句是
		SELECT * FROM text WHERE 'name'='thinkphp' AND id=1
		

你也可以在数组条件中使用查询表达式( 表达式查询 )

	
	public function index(){
	
		$where['id']  = ['>',1];
		$where['name']  = ['like','%zhangsan%'];
		
		$data = db('text')
		//  把查询条件传入查询方法
		    ->where($where)
		    ->select(); 
	}

假如你需要使用字符串条件直接查询和操作,你可以使用 字符串条件

	
	public function index(){
		$data = db('text')
		//  直接把查询条件写进where语句里面
		    ->where("id=1 AND stastus=1")
		    ->select(); 
	}

		//以上写法最后生成的SQL语句是
		SELECT * FROM text WHERE id=1 AND status=1
		

 
 

最后来波骚操作 (佛系注释)

//                       _oo0oo_
//                      o8888888o
//                      88" . "88
//                      (| -_- |)
//                      0\  =  /0
//                    ___/`---'\___
//                  .' \\|     |// '.
//                 / \\|||  :  |||// \
//                / _||||| -:- |||||- \
//               |   | \\\  -  /// |   |
//               | \_|  ''\---/''  |_/ |
//               \  .-\__  '-'  ___/-. /
//             ___'. .'  /--.--\  `. .'___
//          ."" '<  `.___\_<|>_/___.' >' "".
//         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
//         \  \ `_.   \_ __\ /__ _/   .-` /  /
//     =====`-.____`.___ \_____/___.-`___.-'=====
//                       `=---='
//
//               佛祖保佑         永无BUG
//

介绍一下我的宠物看码神犬

/*

		                       ::
		                      :;J7, :,                        ::;7:
		                      ,ivYi, ,                       ;LLLFS:
		                      :iv7Yi                       :7ri;j5PL
		                     ,:ivYLvr                    ,ivrrirrY2X,
		                     :;r@Wwz.7r:                :ivu@kexianli.
		                    :iL7::,:::iiirii:ii;::::,,irvF7rvvLujL7ur
		                   ri::,:,::i:iiiiiii:i:irrv177JX7rYXqZEkvv17
		                ;i:, , ::::iirrririi:i:::iiir2XXvii;L8OGJr71i
		              :,, ,,:   ,::ir@mingyi.irii:i:::j1jri7ZBOS7ivv,
		                 ,::,    ::rv77iiiriii:iii:i::,rvLq@huhao.Li
		             ,,      ,, ,:ir7ir::,:::i;ir:::i:i::rSGGYri712:
		           :::  ,v7r:: ::rrv77:, ,, ,:i7rrii:::::, ir7ri7Lri
		          ,     2OBBOi,iiir;r::        ,irriiii::,, ,iv7Luur:
		        ,,     i78MBBi,:,:::,:,  :7FSL: ,iriii:::i::,,:rLqXv::
		        :      iuMMP: :,:::,:ii;2GY7OBB0viiii:i:iii:i:::iJqL;::
		       ,     ::::i   ,,,,, ::LuBBu BBBBBErii:i:i:i:i:i:i:r77ii
		      ,       :       , ,,:::rruBZ1MBBqi, :,,,:::,::::::iiriri:
		     ,               ,,,,::::i:  @arqiao.       ,:,, ,:::ii;i7:
		    :,       rjujLYLi   ,,:::::,:::::::::,,   ,:i,:,,,,,::i:iii
		    ::      BBBBBBBBB0,    ,,::: , ,:::::: ,      ,,,, ,,:::::::
		    i,  ,  ,8BMMBBBBBBi     ,,:,,     ,,, , ,   , , , :,::ii::i::
		    :      iZMOMOMBBM2::::::::::,,,,     ,,,,,,:,,,::::i:irr:i:::,
		    i   ,,:;u0MBMOG1L:::i::::::  ,,,::,   ,,, ::::::i:i:iirii:i:i:
		    :    ,iuUuuXUkFu7i:iii:i:::, :,:,: ::::::::i:i:::::iirr7iiri::
		    :     :rk@Yizero.i:::::, ,:ii:::::::i:::::i::,::::iirrriiiri::,
		     :      5BMBBBBBBSr:,::rv2kuii:::iii::,:i:,, , ,,:,:i@petermu.,
		          , :r50EZ8MBBBBGOBBBZP7::::i::,:::::,: :,:,::i;rrririiii::
		              :jujYY7LS0ujJL7r::,::i::,::::::::::::::iirirrrrrrr:ii:
		           ,:  :@kevensun.:,:,,,::::i:i:::::,,::::::iir;ii;7v77;ii;i,
		           ,,,     ,,:,::::::i:iiiii:i::::,, ::::iiiir@xingjief.r;7:i,
		        , , ,,,:,,::::::::iiiiiiiiii:,:,:::::::::iiir;ri7vL77rrirri::
		         :,, , ::::::::i:::i:::i:i::,,,,,:,::i:i:::iir;@Secbone.ii:::
		         

*/

 
注释参与链接:https://www.cnblogs.com/wangjunwei/p/6995467.html

 
 
 
后续继续更新。。。。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值