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. MySQL8.0.12安装及配置

    一.下载 下载页面http://dev.mysql.com/downloads/mysql/ 选择系统平台后,点击download(根据系统选择64或32位) 二.配置 1.下载成功后,解压安装包到要 ...

  2. ccf 201803-4 棋局评估(Python实现)

    一.原题 问题描述 试题编号: 201803-4 试题名称: 棋局评估 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很 ...

  3. R-data.table

    data.table可以扩展和增强data.frame的功能,在分组操作和组合时访问速度更快. require(data.table) theDT = data.table(A=1:10, B=let ...

  4. SQL前后端分页

    /class Page<T> package com.neusoft.bean; import java.util.List; public class Page<T> { p ...

  5. static 的三个作用

    1).用于声明函数体内的变量为静态局部变量,存储在静态数据存储区,在函数被调用过程中维持其值保持不变 2).在文件内(函数体外)被声明为静态的变量,可以被文件内的所有函数访问,但不能被其他文件的函数访 ...

  6. centos配置jdk

    ########## config jdk ########## export JAVA_HOME=/usr/local/java/jdk1.7.0_79 export CLASSPATH=.:${J ...

  7. URLError与HTTPError

    urllib2 的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是U ...

  8. 用HashMap优化斐波那契数列 java算法

    斐波那契是第一项为0,第二项为1,以后每一项是前面两项的和的数列. 源码:Fibonacci.java public class Fibonacci{ private static int times ...

  9. 匈牙利算法 - Luogu 1963 变换序列

    P1963 变换序列 题目描述 对于N个整数0,1,-,N-1,一个变换序列T可以将i变成Ti,其中:Ti∈{0,1,-,N-1}且 {Ti}={0,1,-,N-1}. x,y∈{0,1,-,N-1} ...

  10. [每日App一]QQ主题要逆天!轻轻松松月入30万!

    听从吾师秦刚(微信或QQ:1111884)酋长的建议,谋哥(微信viyi88)我开始新的征程,每日更新一篇干货文章(要坚持啊!否则被酋长鄙视了). 好了,废话不多说,今天我给大家揭秘一个你从来想也木有 ...