1. 数据库代码:

    /*

    Navicat MySQL Data Transfer

    Source Server         : lonxom

    Source Server Version : 50524

    Source Host           : localhost:3306

    Source Database       : test

    Target Server Type    : MYSQL

    Target Server Version : 50524

    File Encoding         : 65001

    Date: 2013-10-12 00:03:03

    */

    SET FOREIGN_KEY_CHECKS=0;

    -- ----------------------------

    -- Table structure for `city`

    -- ----------------------------

    DROP TABLE IF EXISTS `city`;

    CREATE TABLE `city` (

    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,

    `name` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '城市名',

    PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='城市表';

    -- ----------------------------

    -- Records of city

    -- ----------------------------

    INSERT INTO `city` VALUES ('1', '北京');

    INSERT INTO `city` VALUES ('2', '上海');

    INSERT INTO `city` VALUES ('3', '广州');

    INSERT INTO `city` VALUES ('4', '武汉');

    INSERT INTO `city` VALUES ('5', '天津');

    -- ----------------------------

    -- Table structure for `user`

    -- ----------------------------

    DROP TABLE IF EXISTS `user`;

    CREATE TABLE `user` (

    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,

    `username` varchar(32) CHARACTER SET utf8 NOT NULL COMMENT '用户名',

    `city_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '城市',

    `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',

    `update_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',

    PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户表';

    -- ----------------------------

    -- Records of user

    -- ----------------------------

    INSERT INTO `user` VALUES ('2', '菩提', '2', '0', '0');

    INSERT INTO `user` VALUES ('3', '天师', '5', '0', '0');

    INSERT INTO `user` VALUES ('5', '久1', '3', '0', '0');

    INSERT INTO `user` VALUES ('6', '久2', '4', '0', '0');

    INSERT INTO `user` VALUES ('7', '久3', '1', '0', '0');

    INSERT INTO `user` VALUES ('8', '久4', '4', '0', '0');

    INSERT INTO `user` VALUES ('9', '久5', '5', '0', '0');

    INSERT INTO `user` VALUES ('10', '久6', '1', '0', '0');

    INSERT INTO `user` VALUES ('11', '久7', '3', '0', '0');

    INSERT INTO `user` VALUES ('12', '久8', '3', '0', '0');

    INSERT INTO `user` VALUES ('13', '久9', '1', '0', '0');

    INSERT INTO `user` VALUES ('14', '帅帅', '1', '1381395175', '1381395175');

    INSERT INTO `user` VALUES ('15', '小猪猪', '1', '1381396237', '1381463258');

    INSERT INTO `user` VALUES ('16', '阿浩', '2', '1381396559', '1381396559');

    INSERT INTO `user` VALUES ('17', '鹏鹏', '1', '1381398344', '1381398344');

    INSERT INTO `user` VALUES ('18', '方方', '5', '1381398969', '1381398969');

    INSERT INTO `user` VALUES ('19', '官人', '1', '1381456860', '1381456860');

    INSERT INTO `user` VALUES ('20', '谢平', '4', '1381461563', '1381461563');

    INSERT INTO `user` VALUES ('21', '元方', '2', '1381463288', '1381463288');

    INSERT INTO `user` VALUES ('22', '康师傅', '1', '1381500128', '1381500128');

    -- ----------------------------

    -- Table structure for `user_info`

    -- ----------------------------

    DROP TABLE IF EXISTS `user_info`;

    CREATE TABLE `user_info` (

    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,

    `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用户表id',

    `info` text CHARACTER SET utf8 COMMENT '用户简介',

    PRIMARY KEY (`id`)

    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='用户信息表';

    -- ----------------------------

    -- Records of user_info

    -- ----------------------------

    INSERT INTO `user_info` VALUES ('1', '15', '我是一个好人');

    END

基本查询方法

  1. 1

    //DAO方式的  插入动作

    public function actionCreate()

    {

    $res=Yii::app()->db->createCommand()->insert("user",array(

    'username'=>'水墨淡清',

    ));

    dump($res,FALSE);

    dump(Yii::app()->db->getLastInsertID());//获取最新插入的ID

    }

  2. 2

    //DAO方式的  修改动作

    public function actionUpdate()

    {

    $res=Yii::app()->db->createCommand()->update('user',array(

    'username'=>'我是来玩的'

    ), 'id=:id',array(':id'=>24));

    dump($res);

    }

  3. 3

     //DAO方式的  删除动作

    public function actionDelete($id)

    {

    $id=trim($id);

    $res=Yii::app()->db->createCommand()->delete('user','id=:id',array(':id'=>$id));

    dump($res);

    }

  4. 4

    //单条数据查询 queryRow()

    public function actionRow()

    {

    $row=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id=:id',array(':id'=>2))->queryRow();

    dump($row);

    }

  5. 5

    //多条数据查询 queryAll()

    public function actionAll()

    {

    $all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id>:id',array(':id'=>1))->queryAll();

    dump($all);

    }

  6. 6

    //统计数据数量 queryScalar()

    public function actionScalar()

    {

    $scalar=Yii::app()->db->createCommand()->select('count(1)')->from('user')->where('id>:id',array(':id'=>1))->queryScalar();

    dump($scalar);

    }

  7. 7

    //查询所有的ID

    public function actionColumn()

    {

    $ids=Yii::app()->db->createCommand()->select('id')->from('user')->where('id>:id',array(':id'=>1))->queryColumn();

    dump($ids);

    }

    END

基本查询条件方法

  1.  

     //查询出ID大于1 并且小于5的所有数据集合 

    //and()方法

    //$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id>:id and id<5',array(':id'=>1))->queryAll();

    //and()数组方法

    //$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where(array('and','id>1','id<5'))->queryAll();

    //andWhere()方法

    //$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where('id>:id',array(':id'=>1))->andWhere('id<:eid',array(':eid'=>5))->queryAll();

  2.  

     //使用in查询出id在5和6里面的数据集合

    //$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where(array('in','id',array(5,6)))->queryAll();

  3.  

     //使用like查询 并且 ID大于6小于10

    //$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where(array('like','username','%久%'))->andWhere(array('and','id>6','id<10'))->queryAll();

  4.  

    //查询出名字里面带有9的 3条数据 ID倒序 略过3条数据

    //$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where(array('like','username','%久%'))->limit(3)->offset(3)->order('id desc')->queryAll();

    dump($all);

  5. 5

     //关联查询 

    public function actionJoin()

    {

    //取出id 大于 2 小于 6的所有用户信息并取出城市名称

    $users=Yii::app()->db->createCommand()->select('u.id,u.username,c.name')

    ->from('user u')

    ->join('city c','c.id=u.city_id')

    ->where('u.id>2')

    ->andWhere('u.id<6')

    ->queryAll();

    dump($users);

    }

yii DAO操作总结的更多相关文章

  1. Dao操作的抽取,BaseDao

    Dao操作通用的步骤: 0. 写SQL语句 1. 获取连接 2. 创建stmt 3. 执行sql a) 更新 b) 查询 4. 关闭/异常 代码: BaseDao /** * 通用的dao,自己写的所 ...

  2. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  3. Java通过代理类实现数据库DAO操作

    下面的所有代码示例都取自李兴华的<Java Web开发实战经典>的随书源码,因为觉得设计得很好,所以将代码摘录下来作成笔记. 首先,我们在一个java文件中定义要存储的结构类型: impo ...

  4. YII数据库操作(CURD操作)

    数据库操作 获得模型对象 $model = 模型名::model();或$model = new 模型名(); 1.查询多条记录(返回值:二维数组) $result = $model->find ...

  5. Yii框架操作数据库的几种方式与mysql_escape_string

    一.Yii操作数据库的几种选择 1,PDO方式. $sql = "";//原生态sql语句 xx::model()->dbConnection->createComma ...

  6. yii常用操作函数

    <?php defined('YII_DEBUG') or define('YII_DEBUG', true); //当在调试模式下,应用会保留更多日志信息,如果抛出异常,会显示详细的错误调用堆 ...

  7. 中阶 d03.5 (正篇)完整的Dao 操作数据库

    1.目录结构: util---JDBCUtil.java(工具包,整合建立链接和释放资源的方法) dao---UserDao.java(接口,定义方法) impl---UserDaoImpl.java ...

  8. Yii cookie操作

    设置cookie: $cookie = new CHttpCookie('mycookie','this is my cookie'); $cookie->expire = time()+60* ...

  9. Yii的操作提示框

    效果如图 HTML + CSS<style> div.error{ background: #FFE0E0; border: 2px solid #FFA0A0; padding: 10p ...

随机推荐

  1. WPF-Button|IsCancel&&IsDefault

    原文:WPF-Button|IsCancel&&IsDefault Button个别属性 <Button ToolTip="ESC" IsDefault=&q ...

  2. 【LeetCode】LRU Cache 解决报告

    插话:只写了几个连续的博客,博客排名不再是实际"远在千里之外"该.我们已经进入2一万内. 再接再厉.油! Design and implement a data structure ...

  3. Python 实现 淘宝秒杀 聚划算 自己主动提醒 源代码

    说明 本实施例可以监视一起购买的成本button,当警报济济一堂花费时间整点到达(音频文件自定义位置)而自己主动跳出页面(URL习惯). 同一时候还能够通过命令行參数自己定义刷新间隔时间(默认0.1s ...

  4. WCF调试日志

    WCF调试,打不了断点or远程调试时,在配置文件的<configuration>结点下面加一段,就可以在对应位置查看服务器调试日志了,远程调试完毕发送亦可! <system.diag ...

  5. DLL编写与调用全解

    DLL编写与调用全解 DELPHI学习   2008-12-23 22:52   阅读8   评论0   字号: 大  中  小 第一章 为什么要使用动态链接库(DLL) top 提起DLL您一定不会 ...

  6. 让用户使用第三方账号(如亚马逊账号)接入AWS IoT系统

    我们想象这么一个IoT应用场景:厂商A使用AWS IoT来开发物联网解决方案,那么A把设备卖给用户的时候,需要使用户能够登入AWS IoT系统来控制其购买的A的设备,也就是说给用户分配适当的权限.下面 ...

  7. 使用MultiByteToWideChar转换UTF8为GBK(UTF8在Windows的代码页是CP_UTF8)

    两个使用的函数: 1,UTF8转化为Unicode,inline为了编译后更快运行,老用到了,返回字符串为了使用链式表达式 inline WCHAR  *UTF8ToUnicode(const cha ...

  8. 微信小程序把玩(十一)icon组件

    原文:微信小程序把玩(十一)icon组件 这些是提供的所支持的图标样式,根据需求在此基础上去修改大小和颜色. 主要属性: 使用方式: wxml <!--成功图标--> <icon t ...

  9. imp dll时遇见的非常恶心的问题

    我需要导入dll库中这样一个函数VM661JTCPDLL_API int admin_login(sel_admin_ret* sel_admins, int num, char* admin_nam ...

  10. 基于VUE实现的新闻后台管理系统-二

    基础环境及最后的开发效果已完成说明,接下来就开始配置. ¶npm初始化 新建项目文件夹VueDemo,在其内执行如下脚本 npm init -y 安装vue-cli构建包 yarn add vue-c ...