yii2.0数据库查询修改等方法
yii2.0学习有一段时间了,给大家分享一下一些简单的查询等如何操作。
查询:(这里最前面的Test是引用的模型名)
Test::find()->all(); 此方法返回所有数据;
Test::findAll(['status'=>1]);
这些查询出来是对象形式,但是一般转换成数组格式:
Test::find()->asArray()->all(); 加上asArray()就取得数组形式的数据了,下面的自行添加。
Test::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子);
条件查询:where 、andwhere 、 orwhere
Test::find()->where(['name' => 小明'])->one(); 此方法返回 ['name' => '小明'] 的一条数据;
Test::find()->where(['name' => '小明'])->all(); 此方法返回 ['name' => '小明'] 的所有数据;
Test::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id'); 统计符合条件的总条数;
Test::find()->where(['and','id=1','id=2'])->all(); //id=1 and id=2
Test::find()->where(['or','id=1','id=2'])->all(); //id=1 or id=2
sql语句查询:
Test::findBySql('SELECT * FROM user')->all(); 此方法是用 sql 语句查询 user 表里面的所有数据;
Test::findBySql('SELECT * FROM user')->one(); 此方法是用 sql 语句查询 user 表里面的一条数据;
//查询一条数据 $sql = "SELECT id,name FROM tbl_user WHERE email='123@qq.com' "; $users=Yii::app()->db->createCommand($sql)->queryRow(); 其他辅助查询:
Test::find()->one(); 此方法返回一条数据;
Test::find()->all(); 此方法返回所有数据;
Test::find()->count(); 此方法返回记录的数量;
Test::find()->average(); 此方法返回指定列的平均值;
Test::find()->min(); 此方法返回指定列的最小值 ;
Test::find()->max(); 此方法返回指定列的最大值 ;
Test::find()->scalar(); 此方法返回值的第一行第一列的查询结果;
Test::find()->column(); 此方法返回查询结果中的第一列的值;
Test::find()->exists(); 此方法返回一个值指示是否包含查询结果的数据行;
Test::find()->batch(10); 每次取 10 条数据
Test::find()->each(10); 每次取 10 条数据, 迭代查询
支持防sql注入:
$result=Test::find()->where(['between','id',1,2])->all(); //查询 id 1-2 的
②
$users = Yii::app()->db->createCommand() ->select('*') ->from('tbl_user') ->queryAll(); 删除操作:(delete)
$connection ->createCommand()
->delete('tbl_user', 'status = 0')
->execute();
④(使用sql删除)
$connection ->createCommand('DELETE FROM tbl_user WHERE userid=:userid')
->execute();
⑤(查找并删除)
$user = User::findOne(2); $user->delete();
// 输出语句
// DELETE FROM `tbl_user` WHERE `id`='2'
删除多个:deleteAll()
①
Test::deleteAll('status = :status AND age > :age', [':age' => 20, ':status' => 'active']); //DELETE FROM `tbl_user`where age>20 and status='active'
②
Test::deleteAll([ 'and', 'type = :type_id',['not in', 'usercategoryid', $categoriesList]],[ ':type_id' => 2]); //DELETE FROM `tbl_user` WHERE (type = 2) AND (`usercategoryid` NOT IN (1, 2, 3))
③Yii::app()->db->createCommand()->delete('tbl_user','id=:id',array(':id'=> 2));
修改:(先查询后修改)
②//修改
yii::$app->db->createCommand()->update('yii_company_info',
["company_name"=>$company_name,"company_desc"=>$company_desc],
"company_id=$company_id")->execute(); 插入:
//使用user model添加数据 $user = new Users(); //先实例化model$user->setAttributes(array( 'username' => 'user1', 'email' => '123@qq.com', 'password'=>md5("abcsd5a4"), 'last_login'=>time() )); $user->save();Yii::$app->db->createCommand()->insert('tbl_user',array(
'username' => 'zhangsan', 'email' => 'zhangsan@zs.com'))->execute(); 注:本文由王智磊(王大宝儿)整理编写,也参考借鉴了很多大神的笔记,分享代码,分享成功,欢迎各位交流和转载,转载请注明出处(博客园:王大宝儿)http://www.cnblogs.com/wangzhilei/
yii2.0数据库查询修改等方法的更多相关文章
- [moka学习笔记]yii2.0数据库查询的多种方法(未完待整理)
方法一:(使用model) $modelCommunityMail = CommunityMail::find()->where(['com_id'=>$id])->all(); 方 ...
- Yii2.0 数据库查询 [ 2.0 版本 ]
下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的 ...
- Yii2.0 数据库查询方法
User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User:: ...
- Yii2.0数据库查询实例(三)
常用查询: // WHERE admin_id >= 10 LIMIT 0,10 User::find()->])->offset()->limit()->all() / ...
- Yii2.0数据库查询的一些简单的操作
User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->w ...
- yii2.0 数据库查询操作
User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User:: ...
- Yii2.0 Cookies机制和使用方法
在实际的项目开发过程中,用到了Yii2.0 Cookies机制!但是遇到一个十分奇葩的问题,同一个YII框架,backend下Cookies能够正常存储于客户端,但是frontend始终不行.文章的最 ...
- yii2.0 访问控制器下的方法时出现 Object Not Found! 解决办法
yii2.0 访问控制器下的方法时出现 Object Not Found! 时 可以查看(apache) 入口文件index.php 的同级有没有 .htaccess 文件 没有.htaccess ...
- YII2.0 数据库增删改查
/*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...
随机推荐
- [目录]hybrid app 开发实战(基于ionic,cordova,angularjs)
序:为什么要写这个系列 第一章:hybrid app开发之技术选型 第二章:ionic,cordova,phonegap关系浅析 第三章:ionic环境搭建之windows篇 第四章:ionic环境搭 ...
- 关于jsonp的学习
电力监控的项目中用到的jsonp请求 例子: //js文件 // **.js; Param({ "YX-15582":{ID:"KWR1_PLC01",TYPE ...
- 【Lua】Lua + openresty遍历文件目录
OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 今天用OpenRest ...
- MySQL触发器基本使用
文章参考:这里 MySQL中,创建触发器的基本语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EA ...
- php对图片加水印--将文字作为水印加到图片
方法代码: /** * 图片加水印(适用于png/jpg/gif格式) * * @author flynetcn * * @param $srcImg 原图片 * @param $wat ...
- [转]ECMAScript 6 入门 -编程风格
本文转自:http://es6.ruanyifeng.com/#docs/style 编程风格 块级作用域 字符串 解构赋值 对象 数组 函数 Map结构 Class 模块 ESLint的使用 本章探 ...
- 二:Vim常用命令
一般模式下的命令: -- 插入命令 i 光标前插入 I 当前行开始 o 下一行 O 上一行插入新行 a 光标后插入 A 当前行末尾 -- 定位命令 :set nu 显示行号 :set nonu 取消行 ...
- zookeeper【4】master选举
考虑7*24小时向外提供服务的系统,不能有单点故障,于是我们使用集群,采用的是Master+Slave.集群中有一台主机和多台备机,由主机向外提 供服务,备机监听主机状态,一旦主机宕机,备机必需迅速接 ...
- 注册中心zookeeper-3.4.6集群以及高可用
zookeeper是什么 百度定义: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件. 它是一个为 ...
- 紫书第5章 C++STL
例题 例题5-1 大理石在哪儿(Where is the Marble?,Uva 10474) 主要是熟悉一下sort和lower_bound的用法 关于lower_bound: http://blo ...