1、常见的数据库操作
//插入记录
// $insert=Db::execute("insert into tp_user (username,password) values ('dome','pass2')");
////用?号代表参数占位符 []里的就是参数
// $insert=Db::execute("insert into tp_user (username,password) values (?,?)",['domeUser','domepass']);
//:username,:password占位符,后面[]号内的表是参数key、val和数据库字段一一对应
//$insert=Db::execute("insert into tp_user (username,password) values (:username,:password)",['username'=>'admin','password'=>'sjdn2345']);
 //插入构造器
// $insert =Db::table('tp_user')->insert(['username'=>'admin3','password'=>'pass3']);
 ////插入构造器,此方法不用加前缀tp_
// $insert =Db::name('user')->insert(['username'=>'admin4','password'=>'pass4']);
---------
//更新记录
//$updata=Db::execute("update tp_user set username='admin2' where id=1");
 //更新构造器
// $updata=Db::table('tp_user')->where('id',2)->update(['username'=>'222','password'=>'333']);
---------

 //查询记录
//$select=Db::query("select * from tp_user order by id desc limit 10");
// $select=Db::query("select * from tp_user where id=?",[1]);
//查询构造器
//$select=Db::table('tp_user')->where('id',2)->select();
//$data=Db::name('user')->field('username,password')->where('id',1)->order('id','desc')->limit(10)->select();
//查询单条记录
// $select=Db::name('user')->where("id",3)->find();
//查询条件查询 可以用 '>= ',4 '<= ',4 '<>',4 'in',[4,5,6,7] 'between',[5,10] 'not in',[1,5,8] 'exp'," in(1,2,3,4)" 'exp'," like '%1%'" 'exp',"=3"
//$select=Db::name('user')->where("id",'in',[3,4,5])->select();
//查询满足条件id=3 and username like '%admin3%'
//$select=Db::name('user')->where("id",'exp'," like '%3%' or username='admin4'" )->select();
//查询满足条件id=4 and username like '%admin4%'
//$select=Db::name('user')->where(['id'=>['=',4],'username'=>['like','%admin4%'],])->select();
//快捷查询id>0 or username>0
//$select=Db::name('user')->where('id|username','>',0)->select();
//视图的创建方法
//create view user as select a.name,a.age,b.sex from usera as a, userb as b where a.name=b.name;
//另一种query对象查询方法
/*
$query=new \think\db\Query;
$query->name('user')->where('id',3);
$result=Db::select($query);
*/
 //查询单条语句的某个值
//$name=Db::name('user')->where('id',3)->value('username');
//查询某列字段返回是数组,的username为value值 id为下标key
//$name=Db::name('user')->where('status',1)->column('username','id');
//查询数据集,ID为字段对应的所有数据集
// $name=Db::name('user')->where('status',1)->column('*','id');
//聚合查询 count() max('id') min('id') avg() sum()
//$count=Db::name('user')->where("status",1)->count();
//简单查询
// $select=Db::name('user')->where("id > 3 and id<5")->select();
//简单查询用占位符防止注入 建议这么写法
// $select=Db::name('user')->where("id > :id and username like :username",['id'=>3,'username'=>'dome'])->select();
//查询时间2016-01-01自动转换成时间戳
// $result=Db::name('user')->whereTime('addTime','>','2016-01-01')->select();
// $result=Db::name('user')->whereTime('addTime','between',['2016-01-01','2017-01-01'])->select();
//查询今天数据 今天today 昨天yesterday 本周week 上周last week
// $result=Db::name('user')->whereTime('addTime','today')->select();
//分块查询
/*
Db::name('user')->where('id>0')->chunk(2,function($list){
foreach ($list as $data)
{
print_r($data);
}
});
*/
-----------
//清空表数据
//$clear= Db::execute("TRUNCATE table tp_user");
//删除构造器
//$delete=Db::table('tp_user')->where('id',2)->delete();
----------
//自动事务处理
/*
Db::transaction(function(){
Db::name('user')->where("id",1)->delete();//删除
Db::name('user_group')->insert(['uid'=>121,'groupName'=>'删除']);//插入
});
*/
//手动事务处理
/*
Db::startTrans();
try{
Db::name('user')->where("id",1)->delete();//删除
Db::name('user_group')->insert(['uid'=>131,'groupName'=>'删除']);//插入
Db::commit();
}catch (\Exception $e){
Db::rollback();
}
*/
----------

 //跨数据库查询 tp2是第二个数据库  注意此方法需要在Config.php配置数据库连接参数与database.php一样
// $db2=Db::connect('tp2')->query("insert into tp_bank (uid,bankName,number) values (3,'dome','pass2')");
//$db2=Db::connect('tp2')->query("select * from tp_bank ");
config.php配置内容如下:
//连接数据库
'tp2'=>[
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'tp2',
// 用户名
'username' => 'root',
// 密码
'password' => 'root',
// 端口
'hostport' => '',
// 连接dsn
'dsn' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'tp_',
// 数据库调试模式
'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,
] 2、

tp数据库操作的更多相关文章

  1. laravel基础课程---13、数据库基本操作2(lavarel数据库操作和tp对比)

    laravel基础课程---13.数据库基本操作2(lavarel数据库操作和tp对比) 一.总结 一句话总结: 非常非常接近:也是分为两大类,原生SQL 和 数据库链式操作 学习方法:使用时 多看手 ...

  2. TP框架数据库操作(增删改)

    首先选择一张表,对其进行操作: 对数据库操作之前首先要创建模型: $n = M("account"); 数据库添加数据: 1.使用数组: 1.使用数组 $arr = array(& ...

  3. php框架内的数据库操作(微擎,tp,yii2)

    微擎数据库操作 关键字 查询 pdo_get pdo_getcolumn pdo_getall pdo_getslice pdo_fetchcolumn pdo_fetchall 示例: array ...

  4. ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

    //TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: publ ...

  5. ThinkPhp框架的数据库操作(查询)

    TP框架有一套自己的数据库操作的代码,包括数据库的增.删.改.查.本文主要讲解TP框架的数据库查询操作. 找到入口文件的控制器: 我这里的入口文件是Show文件夹下的控制器. 打开Login控制器. ...

  6. thinkPHP数据库操作

    thinkPHP如果要对数据库操作,一般来说首先要做的是在配置文件中链接数据库,然后用M方法实例化一张表,然后就是对表的操作了 可以开启调试功能查看程序执行的sql语句: 1.开启调试功能(默认是已经 ...

  7. TP5对数据库操作的事物作用

    假如: 你写好了一段完整的代码,模型对数据库的操作,增删改查什么的,都没有问题,当然运行速度也是最快的,完全不用担心会出错, 前提肯定是已经写好的一整段代码, 但是,万一服务器中断了呢,执行一半,后面 ...

  8. ThinkPHP 数据库操作之数据表模型和基础模型 ( Model )

    一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function te ...

  9. ThinkPHP5.0框架开发--第7章 TP5.0数据库操作

    ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...

随机推荐

  1. TPS61040/61041 开关电源稳压器(DC-DC) ADJUST

    Variable Control Voltage Output Voltage Adjust This method is accomplished by connecting a variable ...

  2. Spring @PostConstruct和@PreDestroy实例

    在Spring中,既可以实现InitializingBean和DisposableBean接口或在bean配置文件中指定 init-method 和 destroy-method 在初始化和销毁回调函 ...

  3. Eclipse 相同变量背景高亮显示设置(Occurrences)

    为了你们查看设置的简便,本次书写重点用图片说明.

  4. CSRF攻击演示

    CSRF就是伪装成用户做坏事! 它的手段可能是: 一张引发邪恶请求的图片: <img src="http://localhost/demoA.php?money=500" / ...

  5. 【转载】Java并发编程:volatile关键字解析 by 海子

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  6. (转)找回vss超级管理员密码

    原文:http://www.cnblogs.com/446557021/archive/2011/01/05/1926213.html 如果忘记了VSS管理员密码,打开vss数据库所在的文件夹,打开d ...

  7. LaTeX排版设置图表的位置 Positioning images and tables

    Positioning images and tables LATEX is an editing tool that takes care of the format so you only hav ...

  8. 2016/4/14腾讯Android实习面试

    腾讯实习面试,面试官会先问你会什么,擅长什么.然后会依照这个问,问的也不是非常偏,问道你不会的就换下一个知识点. 主要问我的有这几个问题 图形学 1.Bizer曲线怎么绘制的.原理是什么 2.对栅格有 ...

  9. 数学图形(2.20)3D曲线

    这一节主要是发布我自己写的3D曲线, (1)立体flower线圈 vertices = a = 10.1 b = 3.1 s = (a + b) / b o = i = to (**PI) j = m ...

  10. Cookie && Session之验证实例

    为了防止各种自动登录,以及反作弊和破坏,往往会要求登录时让用户输入随机产生的验证码(这组验证码是一组数字和字母),这样可以起到一定的防止他人利用程序让机器自动反复登录的情况.在PHP下要实现这种功能是 ...