美文网首页
数据库操作

数据库操作

作者: Rock_Yao | 来源:发表于2019-01-09 21:21 被阅读0次

用sql语句的写法:

查询用query   增删改用execute

$result2 = Db::connect('db2') ->query('select * from tp_data where id = 6'); 接数据库db2进行操作

$result3 = Db::connect('db3') ->execute('TRUNCATE table tp_data');接数据库db3进行操作

连接不同数据库的使用 前提要在database配置文件中 进行配置

1、查询

关联查询以及分页

方法一:$list = Db::name('article')->alias('a')->join('cate c','c.id=a.cateid')->field('a.id,a.title,a.pic,a.author,a.static,c.catename')->paginate(3);

方法二:使用关联模型,在article模型中定义归从关系:

在控制器中正常查询:$list = ArticleModel::paginate(5);

视图输出显示:<td align="center">{$vo.cate.catename}</td>

普通查询:

Db::name('data')->where('id',16)->value('name');//指定行name列的值

Db::name('data')->where('id',16)->column('name');//指定行name列的所有值

Db::name('users')->find();//一条数据

Db::name('user')->where('status',1)->field('id,name')->order('id','desc')->limit(10)->select();//全部

2、模型查询

Users::get(1);//查询users表中主键为1的数据

Users::where('mobile','182')->find();//查询users表中mobile为182的数据

Users::getByMoile(182);//查询users表中mobile为182的数据

3、条件写法

Db::name('users')->where('id','<>',4)->select();

Db::name('users')->where('id','in',[1,2,3,4,5,6])->select();

Db::name('users')->where('id','between',[1,6])->select();

Db::name('users')->where('id','>=',1)

                            ->where('name','like','%php%')

                            ->select();

Db::name('users')->where('id|status','>',0)

Db::name('users')->where('name','like','%think%')

                            ->where('id',['in',[1,2,3]],['>=',1],'or')

                            ->select();

等同于:select * from users where 'name' like '%think%' and ('id' in (1,2,3) or 'id' >= 1 )

使用exp条件表达式,表示后面是原生的sql语句表达式

Db::name('users')->where('id','exp'," >1 and name ='111'")->select();

时间查询

Db::name('users')->whereTime('reg_time','>','2016-01-01')->select();

//此查询自动将日期转换成时间戳,与数据库中的时间戳比较大小

Db::name('users')->whereTime('reg_time','>','this week')->select();

//查询本周一之后的

Db::name('users')->whereTime('reg_time','>','last week')->select();

//查询上周的

Db::name('users')->whereTime('reg_time','>','-2 days')->select();

//查询最近两天的

Db::name('users')->whereTime('reg_time','>','today')->select();

//查询今天的

Db::name('users')->whereTime('reg_time','between',['2016-1-1','2017-1-1'])->select();

//查询2016-1-1~2017-1-1的数据(含)

4、多表查询也叫视图

Db::view('data','id,name,status') //查data表的id,name,status字段

    ->view('users',['nickname'=>'user_name','mobile','email'],'users.user_id = data.id')

 //查users表的nickname(别名为user_name),mobile,email 通过user_id和id进行关联

    ->where('data.status',1)

    ->order('id desc')->select();

3、事务

mysql操作的表类型要设置为InnoDB 才能支持事务 要么全部成功 要么全部失败

Db::transaction(function (){//放事务代码});

例如:

Db::transaction(function (){

    Db::name('data')->delete(1);

    Db::name('data')->insert(['id'=>6,'name'=>'tp','status'=>1]);

});

相关文章

  • MySQL数据库管理使用

    RPM安装MySQL 启动数据库操作: 重启数据库操作: 停止数据库操作: 查看数据库状态: 登录数据库操作: 退...

  • python 教程笔记day10

    Python3 MySQL 数据库连接 数据库连接 创建数据库表 数据库插入操作 数据库查询操作 数据库更新操作 ...

  • PHP笔记

    表单 数据库 session 数据库操作1 数据库操作2 .htaccess

  • Statement执行DQL语句

    一.数据库插入操作 二.数据库跟新操作 三.删除操作

  • node

    数据库(database) 概念 数据库常用类型 Node 操作数据库 数据库常用操作

  • MySQL之操作数据库

    二、操作数据库 操作数据库——>操作数据库中的表——>操作数据库中表的数据注:所有语句都要用;结尾。 1.操作数据...

  • 数据库的简单操作

    操作数据库 操作数据库 > 操作数据库中的表 > 操作数据库中表的数据 MySQL关键字不分大小写 2.1 操作数...

  • SQL之DDL

    DDL是用于操作数据库以及表结构的语句 数据库操作 数据类型 表操作 一.数据库操作 查看所有数据库:SHOW D...

  • NodeJs

    NodeJs 数据库(database) 概念 数据库常用类型 Node操作数据库 数据库常用操作

  • PHP数据库操作

    一、操作数据库的步骤 我们对数据库的操作主要分为五步:连接数据库、选择数据库、设置编码方式、操作数据库、关闭数据库...

网友评论

      本文标题:数据库操作

      本文链接:https://www.haomeiwen.com/subject/sflnrqtx.html