tp5中使用原生sql查询总结【转】
注意事项:
1.先在database.php中配置好数据库
2.只要是数据库操作必须引用 use/think/Db;严格区分大小写。
下面是方法:
 public function hello5()
    {
        //所有查询必须  use/think/Db;
        /* 1 配置数据库
         * 2 使用DB 命名空间
         *
         */ 
        /****************tp5中使用原生语句*******************/
        //query 用于查询 其他的用execute
        // 插入记录
//         $result = Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (1, "456",1)');
//         dump($result);
        // 更新记录
//        $result = Db::execute('update sb_ad set ad_name = "framework" where ad_id = 1 ');
//        dump($result);
        // 查询数据
//        $result = Db::query('select * from sb_ad where ad_id = 1');
//        print_r($result);
        // 删除数据
//         $result = Db::execute('delete from sb_ad where ad_id = 2 ');
//         dump($result);
        //其它操作
        // 显示数据库列表
//        $result = Db::query('show tables from tpshop1');
//        print_r($result);
//         清空数据表
//         $result = Db::execute('TRUNCATE table sb_ad');
//         dump($result);
        /**************多个数据库操作************/
        //在application/config.php中加入配置
        //例子:
        /*
         * // 数据库配置1
                'db2'   =>  [
                    // 数据库类型
                    'type'     => 'mysql',
                    // 服务器地址
                    'hostname' => '127.0.0.1',
                    // 数据库名
                    'database' => 'tpshop2',
                    // 数据库用户名
                    'username' => 'root',
                    // 数据库密码
                    'password' => '',
                    // 数据库连接端口
                    'hostport' => '',
                    // 数据库连接参数
                    'params'   => [],
                    // 数据库编码默认采用utf8
                    'charset'  => 'utf8',
                    // 数据库表前缀
                    'prefix'   => 'tp_',
                ],
                依次类推
         */
        //connect为链接数据库
//         $result = Db::connect('db2')->query('select * from sb_ad where ad_id = 1');
//         print_r($result);
//         $result = Db::connect('db3')->query('select * from sb_ad where ad_id = 1');
//         print_r($result);    
//        $db1 = Db::connect('db1');获取数据库对象
//        $db2 = Db::connect('db2');获取数据库对象然后再操作
//        $db1->query('select * from sb_ad where ad_id = 1');
//        $db2->query('select * from sb_ad where ad_id = 1');
        /*****参数绑定******/
//        Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (?, ?, ?)', [3, 'thinkphp', 1]);
//        $result = Db::query('select * from sb_ad where ad_id = ?', [3]);
//        print_r($result);
       /******命名占位符绑定*****/
//        Db::execute('insert into sb_ad (ad_name, ad_content ,status) values (:ad_name, :ad_content, :status)', ['ad_name' => 11, 'ad_content' => 'thinkphp', 'status' => 1]);
//        $result = Db::query('select * from sb_ad where ad_id=:id', ['id' => 10]);
//        print_r($result);
原文链接:https://www.jianshu.com/p/7d8a91095eca
tp5中使用原生sql查询总结【转】的更多相关文章
- Hibernate5.2之原生SQL查询
		
Hibernate5.2之原生SQL查询 一. 介绍 在上一篇博客中笔者通过代码的形式给各位读者介绍了Hibernate中最重要的检索方式--HQL查询.在本博文中笔者将向各位读者介绍Hiberna ...
 - Hibernate原生SQL查询
		
最近在做一个较为复杂的查询,hibernate基本的查询不能满足,只好使用其提供的原生sql查询.参考网上的一些资料,做一些总结. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行 ...
 - Hibernate原生SQL查询多表关联,SQL语句要注意的问题
		
Hibernate原生SQL查询多表关联,SQL语句要注意的问题 @for&ever 2009-9-4 系统环境: MySQL5.1 Hibernate3.3 有如下的假定: 实体类 Ques ...
 - hibernate使用原生SQL查询返回结果集的处理
		
今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQu ...
 - django中使用原生sql
		
在Django中使用原生Sql主要有以下几种方式: 一:extra:结果集修改器,一种提供额外查询参数的机制 二:raw:执行原始sql并返回模型实例 三:直接执行自定义Sql ( 这种方式完全不依赖 ...
 - JavaEE(18) - JPA原生SQL查询和存储过程
		
1. 使用原生SQL执行查询 2. 映射原生SQL查询的结果集 3. 使用原生SQL查询执行实体查询 4. 命名原生SQL查询 5. 在JPQL查询中调用存储过程
 - Hibernate SQLQuery 原生SQL 查询及返回结果集处理-1
		
第一篇:官方文档的处理方法,摘自官方 在迁移原先用JDBC/SQL实现的系统,难免需要采用hibernat native sql支持. 1.使用SQLQuery hibernate对原生SQL查询执行 ...
 - Hibernate 的原生 SQL 查询
		
Hibernate除了支持HQL查询外,还支持原生SQL查询. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取 ...
 - 使用hibernate原生sql查询,结果集全为1的问题解决
		
问题如下: String sqlTest ="select summary,summaryno from F_Summary"; List<Map<Object, Ob ...
 
随机推荐
- hi3559v100 sdk中双系统AMP架构的初步了解
			
hi3559v100是海思推出的camera soc处理器.采用的是双核处理器.一个是a7,运行的linux3.18内核.一个是a17使用的是huaweiliteos操作系统,Hi3559V100 系 ...
 - 博客美化——Silence主题皮肤
			
介绍 一款专注阅读的博客园主题,主要面向于经常混迹 博客园 的朋友.其追求大道至简的终极真理,界面追求简洁.运行追求高效.部署追求简单. 博客皮肤源码地址 预览地址 如何部署.使用皮肤 Silen ...
 - matplotlib画3D图修改X,Y,Z,colorbar的刻度值
			
修改X,Y,Z轴的刻度值 from matplotlib.ticker import MultipleLocator,FuncFormatter from mpl_toolkits.mplot3d i ...
 - excel工资表,转化为word工资单
			
1.新建excel表,.xls格式; .xlsx格式的添加到word中会报错‘无法打开数据源’(office 2007): 2.新建word文档.docx格式: 3.邮件——开始邮件合并——信函,选择 ...
 - python,adb,分别给多个设备安装多个apk文件,os.popen(); os.system; os.path.splitext(); a.split(' \t'); readlines(); append(); os.path.join(); time.sleep();
			
#encoding:utf-8import os,time#=======================查找手机设备序列号=============a='adb devices'b=os.popen ...
 - SCOI 2005 互不侵犯
			
洛谷 P1896 [SCOI2005]互不侵犯 洛谷传送门 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一 ...
 - T-SQL 简介
			
1. 变量说明语句:用来说明变量的命令. 2. 数据定义语言(Data Definition Language,DDL):用来建立数据库和定义列等数据结构,主要是create table,drop d ...
 - angular修改端口号port
			
报错:Port 4200 is already in use. Use '--port' to specify a different port. 因为4200端口已被使用,请使用“--port”修改 ...
 - 【linux】查看GPU使用率
			
nvidia-smi -l 1 每秒刷新一次
 - 用Python完成毫秒级抢单,助你秒杀淘宝大单
			
目录: 引言 环境 需求分析&前期准备 淘宝购物流程回顾 秒杀的实现 代码梳理 总结 0 引言 年中购物618大狂欢开始了,各大电商又开始了大力度的折扣促销,我们的小胖又给大家谋了一波福利,淘 ...