yii DAO操作总结
2015-08-26 17:36
621 查看
数据库代码:
/*
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
//DAO方式的 插入动作
public function actionCreate()
{
$res=Yii::app()->db->createCommand()->insert("user",array(
'username'=>'水墨淡清',
));
dump($res,FALSE);
dump(Yii::app()->db->getLastInsertID());//获取最新插入的ID
}
2
//DAO方式的 修改动作
public function actionUpdate()
{
$res=Yii::app()->db->createCommand()->update('user',array(
'username'=>'我是来玩的'
), 'id=:id',array(':id'=>24));
dump($res);
}
3
//DAO方式的 删除动作
public function actionDelete($id)
{
$id=trim($id);
$res=Yii::app()->db->createCommand()->delete('user','id=:id',array(':id'=>$id));
dump($res);
}
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
//多条数据查询 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
//统计数据数量 queryScalar()
public function actionScalar()
{
$scalar=Yii::app()->db->createCommand()->select('count(1)')->from('user')->where('id>:id',array(':id'=>1))->queryScalar();
dump($scalar);
}
7
//查询所有的ID
public function actionColumn()
{
$ids=Yii::app()->db->createCommand()->select('id')->from('user')->where('id>:id',array(':id'=>1))->queryColumn();
dump($ids);
}
END
//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();
//使用in查询出id在5和6里面的数据集合
//$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where(array('in','id',array(5,6)))->queryAll();
//使用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();
//查询出名字里面带有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
//关联查询
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);
}
/*
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//DAO方式的 插入动作
public function actionCreate()
{
$res=Yii::app()->db->createCommand()->insert("user",array(
'username'=>'水墨淡清',
));
dump($res,FALSE);
dump(Yii::app()->db->getLastInsertID());//获取最新插入的ID
}
2
//DAO方式的 修改动作
public function actionUpdate()
{
$res=Yii::app()->db->createCommand()->update('user',array(
'username'=>'我是来玩的'
), 'id=:id',array(':id'=>24));
dump($res);
}
3
//DAO方式的 删除动作
public function actionDelete($id)
{
$id=trim($id);
$res=Yii::app()->db->createCommand()->delete('user','id=:id',array(':id'=>$id));
dump($res);
}
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
//多条数据查询 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
//统计数据数量 queryScalar()
public function actionScalar()
{
$scalar=Yii::app()->db->createCommand()->select('count(1)')->from('user')->where('id>:id',array(':id'=>1))->queryScalar();
dump($scalar);
}
7
//查询所有的ID
public function actionColumn()
{
$ids=Yii::app()->db->createCommand()->select('id')->from('user')->where('id>:id',array(':id'=>1))->queryColumn();
dump($ids);
}
END
基本查询条件方法
//查询出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();
//使用in查询出id在5和6里面的数据集合
//$all=Yii::app()->db->createCommand()->select('id,username,city_id')->from('user')->where(array('in','id',array(5,6)))->queryAll();
//使用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();
//查询出名字里面带有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
//关联查询
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);
}
相关文章推荐
- php字符串与byte字节数组转化类示例
- thinkphp到处excl实例
- PHP js跳转到类中方法
- PHP导入Excel文件
- 一次php脚本出现段错误(Segment fault)的经历
- PHP中使用参数化查询
- 启动php-fpm报错:please specify user and group other than root
- ThinkPHP 开发环境搭建
- php7.0.0在windows下的安装
- 编译安装php时提示Cannot find MySQL header files的解决方法
- 启动php-fpm时报错
- BLToolkit Output Parameter in DataAccessor
- php数字补零的两种方法
- XHProf的安装和使用(PHP性能测试神器)
- PHP生成PDF文件
- PHP函数
- ThinkPHP URL重写
- PHP的扩展框架之Phalcon初探
- wnmp环境php7与其他php版本共存
- php操作mysql常用的一些内置函数