zoukankan      html  css  js  c++  java
  • yii DAO操作总结

    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);

                     

          }

  • 相关阅读:
    My集合框架第一弹 LinkedList篇
    IP报文解析及基于IP 数据包的洪水攻击
    Oracle12c_安装2——安装篇
    Oracle12c_安装1——准备工作
    C# 控制台程序设置字体颜色
    ADALINE模型
    感知器神经网络
    神经网络学习
    深拷贝和浅拷贝
    Ubuntu免安装配置MySQL
  • 原文地址:https://www.cnblogs.com/shiwenhu/p/4761173.html
Copyright © 2011-2022 走看看