YII2 SQL 基础查询
2015-10-28 16:13
239 查看
SQL 基础查询
一旦有了连接实例就可以通过[[yii\db\Command]]执行 SQL 查询。
SELECT 查询
查询返回多行:
$command = $connection->createCommand('SELECT * FROM post');
$posts = $command->queryAll();
返回单行:
$command = $connection->createCommand('SELECT * FROM post WHERE id=1');
$post = $command->queryOne();
查询多行单值:
$command = $connection->createCommand('SELECT title FROM post');
$titles = $command->queryColumn();
查询标量值/计算值:
$command = $connection->createCommand('SELECT COUNT(*) FROM post');
$postCount = $command->queryScalar();
UPDATE, INSERT, DELETE 更新、插入和删除等
如果执行 SQL 不返回任何数据可使用命令中的 execute 方法:
$command = $connection->createCommand('UPDATE post SET status=1 WHERE id=1');
$command->execute();
你可以使用insert,update,delete 方法,这些方法会根据参数生成合适的SQL并执行.
// INSERT
$connection->createCommand()->insert('user', [
'name' => 'Sam',
'age' => 30,
])->execute();
// INSERT 一次插入多行
$connection->createCommand()->batchInsert('user', ['name', 'age'], [
['Tom', 30],
['Jane', 20],
['Linda', 25],
])->execute();
// UPDATE
$connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();
// DELETE
$connection->createCommand()->delete('user', 'status = 0')->execute();
一旦有了连接实例就可以通过[[yii\db\Command]]执行 SQL 查询。
SELECT 查询
查询返回多行:
$command = $connection->createCommand('SELECT * FROM post');
$posts = $command->queryAll();
返回单行:
$command = $connection->createCommand('SELECT * FROM post WHERE id=1');
$post = $command->queryOne();
查询多行单值:
$command = $connection->createCommand('SELECT title FROM post');
$titles = $command->queryColumn();
查询标量值/计算值:
$command = $connection->createCommand('SELECT COUNT(*) FROM post');
$postCount = $command->queryScalar();
UPDATE, INSERT, DELETE 更新、插入和删除等
如果执行 SQL 不返回任何数据可使用命令中的 execute 方法:
$command = $connection->createCommand('UPDATE post SET status=1 WHERE id=1');
$command->execute();
你可以使用insert,update,delete 方法,这些方法会根据参数生成合适的SQL并执行.
// INSERT
$connection->createCommand()->insert('user', [
'name' => 'Sam',
'age' => 30,
])->execute();
// INSERT 一次插入多行
$connection->createCommand()->batchInsert('user', ['name', 'age'], [
['Tom', 30],
['Jane', 20],
['Linda', 25],
])->execute();
// UPDATE
$connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();
// DELETE
$connection->createCommand()->delete('user', 'status = 0')->execute();
相关文章推荐
- phpstorm 设置Utf8编码
- 限制PHP上传文件大小
- PHP中基于perl的正则表达式处理函数
- yii CActiveForm CHtml组件使用总结
- PHP循环语句详解 while, for, foreach, do while
- php简单日历函数
- vsftp-深度解析vsftpd服务
- PHP序列化 反序列化
- xampss,远程访问phpmyadmin数据库
- [转]PHP 获取服务器详细信息代码
- VSFTPD实现基于虚拟用户的认证
- 流媒体技术:VS2012下RTP开源协议库JRTPLIB 3.9.1编译
- php将数组存储为文本文件方法汇总
- 日常收集整理php正则表达式(超常用)
- php如何获取文件的扩展名
- php检查页面是否被百度收录
- phpstorm9.02使用手册
- PHP加密解密函数详解
- php实现阳历阴历互转的方法
- php 变量