Yii2框架实现数据库常用操作总结

 更新时间:2017年2月18日 22:11  点击:2296

通用:

use yii\db\Query;
$query = new Query();

查询:

Query:

$rows = (new \yii\db\Query())
      ->select(['code', 'name', 'population'])
      ->from('country')
      ->limit(10)
      ->all();

Select:

$data = $query->select(['code', 'name'])->from('country')->all();

// 调用 yii\db\Query::addSelect() 方法来选取附加字段
    $data = $query->select(['code', 'name'])
      ->addSelect(['population'])->all();

From:

$query->from('country'); 
$query->from(['public.country c']); 
$query->from('public.country c'); 

Where:

字符串格式,例如:'status=1'

哈希格式,例如: ['status' => 1, 'type' => 2]

操作符格式,例如:['like', 'name', 'test']

andFilterWhere()

orFilterWhere()

Active Record  (活动记录,以下简称AR)提供了一个面向对象的接口, 用以访问数据库中的数据。一个 AR 类关联一张数据表, 每个 AR 对象对应表中的一行,对象的属性(即 AR 的特性Attribute)映射到数据行的对应列。 一条活动记录(AR对象)对应数据表的一行,AR对象的属性则映射该行的相应列。

这里的增删改都会用到AR对象进行映射操作。

 增加

$country->name = 'UK';
$country->save();

修改

$country = Customer::findOne($id);
$country->email = 'UK';
$country->save(); // 等同于 $country->update();

删除

$country = Country::findOne($id);
$country->delete();

其他

User::find()->all();  //返回所有用户数据;
User::findOne($id);  //返回 主键 id=1 的一条数据; 
User::find()->where(['name' => 'ttt'])->one();  //返回 ['name' => 'ttt'] 的一条数据;
User::find()->where(['name' => 'ttt'])->all();  //返回 ['name' => 'ttt'] 的所有数据;
User::findBySql('SELECT * FROM user')->all(); //用 sql 语句查询 user 表里面的所有数据;
User::findBySql('SELECT * FROM user')->one(); //此方法是用 sql 语句查询 user 表里面的一条数据;
User::find()->andWhere(['sex' => '女', 'age' => '18'])->count('id');  //统计符合条件的总条数;
User::find()->one();  //返回一条数据;
User::find()->all();  //返回所有数据;
User::find()->count();  //返回记录的数量;
User::find()->average();  //返回指定列的平均值;
User::find()->min();  //返回指定列的最小值 ;
User::find()->max();  //返回指定列的最大值 ;
User::find()->scalar();  //返回值的第一行第一列的查询结果;
User::find()->column();  //返回查询结果中的第一列的值;
User::find()->exists();  //返回一个值指示是否包含查询结果的数据行;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

[!--infotagslink--]

相关文章

  • node.js从数据库获取数据

    这篇文章主要为大家详细介绍了node.js从数据库获取数据的具体代码,nodejs可以获取具体某张数据表信息,感兴趣的朋友可以参考一下...2016-05-09
  • Linux下为Node.js程序配置MySQL或Oracle数据库的方法

    这篇文章主要介绍了Linux下为Node.js程序配置MySQL或Oracle数据库的方法,这里默认已经装配好了Node环境然后我们利用npm包管理工具来进行配置,需要的朋友可以参考下...2016-03-22
  • yii数据库的查询方法

    这篇文章主要介绍了yii数据库的查询方法,结合实例简单分析了直接查询和使用criteria进行查询的技巧,需要的朋友可以参考下...2015-12-31
  • Yii2创建表单(ActiveForm)方法详解

    这篇文章主要介绍了Yii2创建表单(ActiveForm)的方法,结合实例形式详细分析了Yii创建表单的详细步骤及相关函数与属性的使用技巧,需要的朋友可以参考下...2016-07-29
  • PHP之深入学习Yii2缓存Cache组件详细讲解

    这篇文章主要介绍了PHP之深入学习Yii2缓存Cache组件详细讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-07-27
  • yii2带搜索功能的下拉框实例详解

    带搜索功能下拉框在项目中经常会用到,下面小编把实现代码分享到脚本之家平台,供大家参考...2016-05-13
  • yii2中的rules 自定义验证规则详解

    yii2的一个强大之处之一就是他的Form组件,既方便又安全。本文给大家介绍yii2中的rules 自定义验证规则,需要的朋友参考下...2016-04-23
  • MySQL数据库优化技术之索引使用技巧总结

    这篇文章主要介绍了MySQL数据库优化技术之索引使用方法,结合实例形式总结分析了MySQL表的优化、索引设置、SQL优化等相关技巧,非常具有实用价值,需要的朋友可以参考下...2016-07-29
  • Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等

    使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型)、Controller(控制器)、Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题Yii2可以在视图层View中使用$this->context这个对象去获得。下面通过示例代码给大家讲解下...2017-04-03
  • Mysql 数据库死锁过程分析(select for update)

    最近有项目需求,需要保证多台机器不拿到相同的数据,后来发现Mysql查询语句使用select.. for update经常导致数据库死锁问题,下面小编给大家介绍mysql 数据库死锁过程分析(select for update),对mysql数据库死锁问题感兴趣的朋友一起学习吧...2015-12-14
  • YII2 实现多语言配置的方法分享

    这篇文章主要介绍了YII2实现多语言配置的方法,文中YII2的版本是2.0.7,可能会与其他教程有不同,有需要的朋友可以参考借鉴,下面来一起看看吧。...2017-01-15
  • Yii2实现让关联字段支持搜索功能的方法

    这篇文章主要介绍了Yii2实现让关联字段支持搜索功能的方法,结合实例形式分析了Yii2关联字段搜索功能的原理与相关实现技巧,需要的朋友可以参考下...2016-08-27
  • Yii2基于Ajax自动获取表单数据的方法

    这篇文章主要介绍了Yii2基于Ajax自动获取表单数据的方法,涉及Yii结合ajax调用鼠标事件动态查询表单的相关技巧,需要的朋友可以参考下...2016-08-27
  • Yii2框架实现数据库常用操作总结

    本篇文章主要介绍了Yii2框架实现数据库常用操作总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-02-18
  • mysql安装不上怎么办 mysql安装失败原因和解决方法

    在我们装mysql数据库时,出现安装失败是一件非常令人烦恼的事情,接下来小编就给大家带来在我们安装mysql数据库失败的一些解决方法,感兴趣的小伙伴们可以参考一下...2016-05-20
  • Zend Framework数据库操作方法实例总结

    这篇文章主要介绍了Zend Framework数据库操作方法,结合实例形式总结分析了Zend Framework数据库操作相关函数使用技巧与注意事项,需要的朋友可以参考下...2017-01-08
  • MySQL创建数据库的两种方法

    这篇文章主要为大家详细介绍了MySQL创建数据库的两种方法,感兴趣的小伙伴们可以参考一下...2016-06-12
  • CI框架数据库查询之join用法分析

    这篇文章主要介绍了CI框架数据库查询之join用法,结合实例形式分析了join方法在数据库查询过程中的使用技巧,需要的朋友可以参考下...2016-05-20
  • yii2分页之实现跳转到具体某页的实例代码

    这篇文章主要介绍了yii2分页之实现跳转到具体某页的实例代码的相关资料,需要的朋友可以参考下...2016-06-12
  • 浅析Yii2集成富文本编辑器redactor实例教程

    yii2集成另外一个强大好用的富文本编辑器Redactor。接下来通过本文给大家介绍Yii2集成富文本编辑器redactor实例教程,感兴趣的朋友一起学习吧...2016-04-28