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大狂欢开始了,各大电商又开始了大力度的折扣促销,我们的小胖又给大家谋了一波福利,淘 ...