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 ...
随机推荐
- SpagoBI系列----------[01]SpagoBI简介及安装步骤
商务智能套件SpagoBI提供一个基于J2EE的框架用于管理BI对象如报表.OLAP分析.仪表盘.记分卡以及数据挖掘模型等的开源BI产品.它提供的BI管理器能 够控制.校验.验证与分发这些BI对象. ...
- Loadrunner—关联知识点
一.关联定义 把脚本中某些写死的数据,转变成是撷取自服务器所发送的.动态的.每次都不一样的数据 二.什么时候需要做关联 要想弄清这个问题,我们首先要知道客户端与服务器端的请求与响应的过程 过程说明: ...
- html的列表
1.无序列表(最常用) 先看个例子:如下图: 使用的 html标签为 <ul> <!--ul是UnorderList的缩写,意为无序列表:li是ListItem的缩写,列表项- ...
- 事务的编写规范与Hibernate绑定session
一.事务的编写规范 1.事务的基本概念: 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行. 事务处理可以确保除非事 ...
- nginx基本配置说明
nginx基本配置与参数说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2 ...
- 查找正序排列的List中缺失的日期数据的一个算法
Code: public List<DateTime> getMissDateData() { DateTime[] keys = { DateTime.Now.AddDays(-5), ...
- .netCore2.0 配置文件
之前的asp.net 的配置文件都是xml格式,而.netCore的配置文件则采用Json键值对的格式来存储,具体获取如下 var config = new ConfigurationBuilder( ...
- JS 提交反斜杠\替换成正斜杠/
js将字符串中所有反斜杠\替换成正斜杠/ 区分正斜杠与反斜杠: 正斜杠:http://.http紧跟着的斜杠,离手输入最近的斜杠,shift中间斜杠.45度角斜杠.正斜杠不需要转义 反斜杠:回车与空格 ...
- CXF - 拦截器获取调用方法
没想到要弄这么一个东西. 起初只是想用interceptor记录一下webservice调用日志,后来却被要求在页面展示. 展示容易,但只是展示webservice的地址无法让用户从中明白什么. 那么 ...
- spring security入门
1. Restful API和传统API的区别 用URL描述资源 用http描述方法行为,用http状态码描述结果 使用json交互数据 RESTful是一种风格,不是强制的标准 2. 使用sprin ...