yii中关于数据信息的添加数据,修改数据,删除数据的相关操作,刚刚学习没几天,仅记录了一些,以后慢慢再充实,有需要的朋友可以看看。

添加数据的方法

(1)save 方法(对象形式操作)

$user=new User;
$user->username='phpernote';
$user->password='123456';
if($user->save()>0){
    echo '添加成功';
}else{
    echo '添加失败';
}

(2)insert 方法(数组形式操作)

Yii::app()->dbName->createCommand()->insert('tbl_user',
    array(
        'username'=>'phpernote', 
        'password'=>'123456'
 )
);

(3)insert 方法(对象形式操作)

$user=new User();
$user->username='phpernote';
$user->password='123456';
if($user->insert()){
    echo '添加成功';
}else{
    echo '添加失败';
}

修改数据的方法

(1)Post::model()->updateAll($attributes,$condition,$params);
 
$count=User::model()->updateAll(array('username'=>'phpernote','password'=>'123456'),'id=:id',array(':id'=>$id));
if($count>0){
    echo '修改成功';
}else{
    echo '修改失败';
}
 
(2)Post::model()->updateByPk($pk,$attributes,$condition,$params);
 
$count=User::model()->updateByPk(1,array('username'=>'admin','password'=>'123456'));

或者

$count=User::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'123456'),'username=:name',array(':name'=>'admin'));
if($count>0){
    echo '修改成功';
}else{
    echo '修改失败';
}
$pk代表主键,可以是一个也可以是一个集合,$attributes代表是要修改的字段的集合,$condition代表条件,$params传入的值 
 
(3)Post::model()->updateCounters($counters,$condition,$params);
 
$count =User::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));
if($count>0){
    echo '修改成功';
}else{
    echo '修改失败';
}
array('status'=>1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自动加 1

User::model()->updateCounters(array('count'=>1), 'id='.User::model()->id);//自动叠加 1

User::model()->updateCounters(array('count'=>-1), 'id='.User::model()->id);//自动递减 1

(4)Yii::app()->dbName->createCommand()->update($attributes,$condition,$params);

Yii::app()->dbName->createCommand()->update('tbl_user', 
    array(
        'username'=>'phpernote'
 ),
 'id=:id',
 array(
        ':id'=>3
 )
);

删除数据的方法
 
(1)Post::model()->deleteAll($condition,$params);

例如:
 
$count=User::model()->deleteAll('username=:name AND password=:pass',array(':name'=>'phpernote',':pass'=>'123456'));

或者:

$count=User::model()->deleteAll('id in("1,2,3")'); //删除id为这些的数据 
if($count>0){
    echo '删除成功';
}else{
    echo '删除失败';

 
(2)Post::model()->deleteByPk($pk,$condition,$params);

例如:

$count=User::model()->deleteByPk(1);

或者:

$count=User::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin'));
if($count>0){
    echo '删除成功';
}else{
    echo '删除失败';
}

yii 数据库添加,修改,删除相关操作总结的更多相关文章

  1. Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  2. day40数据库之表的相关操作

    数据库之表的相关操作1.表的操作: 1.创建表的语法:        create table 表名(              id   int(10)   primary key auto_inc ...

  3. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  4. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  5. 【转】C#添加修改删除文件文件夹大全

    [转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...

  6. JavaWeb_day03_员工信息添加修改删除

    day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...

  7. Ansible 从MySQL数据库添加或删除用户

    mysql_user - 从MySQL数据库添加或删除用户. 概要 要求(在执行模块的主机上) 选项 例子 笔记 状态 支持 概要 从MySQL数据库添加或删除用户. 要求(在执行模块的主机上) My ...

  8. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...

  9. thinkphp 添加 修改删除

    在 MainController.class.php 添加 public function zhuCe() { //时间两个逻辑 // 1 显示页面 2向数据库添加 if(empty($_POST)) ...

随机推荐

  1. 201621123080 《Java程序设计》第13周学习总结

    201621123080 <Java程序设计>第13周学习总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能( ...

  2. Thinkphp5的安装

    很长没有码代码了,现在开始做这件事情的意义已经完全与以前不一样了.因为最近有相当长的一段休息时间,是个学习的好时间啊.之前接触过TP3.2,听说后来的版本有挺大的改动,因此呢,现在终于有时间可以好好的 ...

  3. python入门:BREAK 的用法 跳当前循环后,不再执行下面代码块

    #!/urs/bin/env python # -*- coding:utf-8 -*- # BREAK 的作用 跳当前循环后,不再执行下面代码块 while True: ') break ') #w ...

  4. Vue源码探究-事件系统

    Vue源码探究-事件系统 本篇代码位于vue/src/core/instance/events.js 紧跟着生命周期之后的就是继续初始化事件相关的属性和方法.整个事件系统的代码相对其他模块来说非常简短 ...

  5. 用Python实现小说中的汉字频率统计

     环境: Python 3的代码,亲测可用. 思路: 是先把每个字符提出来放在列表里:再过滤掉其中的标点符号:最后用字典对某个字出现的频率进行累加. 扩展: 用处很多,稍微改改,既可以用来统计小说或文 ...

  6. leetcode-15-basic-string

    58. Length of Last Word 解题思路: 从结尾向前搜索,空格之前的就是最后一个词了.写的时候我考虑了尾部有空格的情况.需要注意的是,测试用例中有" "的情况,此 ...

  7. linux防火墙firewall使用简介

    1.firewalld的基本使用启动: systemctl start firewalld查看状态: systemctl status firewalld停止: systemctl disable f ...

  8. 【HIHOCODER 1599】逃离迷宫4

    描述 小Hi被坏女巫抓进一座由无限多个格子组成的矩阵迷宫. 小Hi一开始处于迷宫(x, y)的位置,迷宫的出口在(a, b).小Hi发现迷宫被女巫施加了魔法,假设当前他处在(x, y)的位置,那么他只 ...

  9. SPOJ375 Query on a tree(树链剖分)

    传送门 题意 给出一棵树,每条边都有权值,有两种操作: 把第p条边的权值改为x 询问x,y路径上的权值最大的边 code #include<cstdio> #include<algo ...

  10. IE6 单文件绿色版

    IE6单文件绿色版,可以直接运行,无需安装,完美兼容Win10(自带2016年1月更新). https://www.lanzous.com/i3w7dej