Yii Framework2.0开发教程(5)数据库mysql性能
继续《Yii Framework2.0开发教程(3)数据库mysql入门》
首先给予一定的尊重yii2数据库支持引进
Yii 基于 PHP's PDO一个成熟的数据库访问层的建立。它提供了一个统一的 API 并且克服了许多不同的 DBMS 违禁使用。 Yii 默认支持下面 DBMS :
MySQL
MariaDB
SQLite
PostgreSQL
CUBRID: version 9.1.0 or higher.
Oracle
MSSQL: version 2012 或更高版本号,如需使用 LIMIT/OFFSET。
配置
開始使用数据库首先须要配置数据库连接组件,通过加入 db 组件到应用配置实现("基础的" Web 应用是 config/web.php),例如以下所看到的:
另外请參考PHP manual获取很多其它有关 DSN 格式信息。
在我们的样例中给出的配置文件是
<?php //配置的数据库连接能够在应用中通过 Yii::$app->db 訪问return ['class' => 'yii\db\Connection','dsn' => 'mysql:host=localhost;dbname=zhyoulun','username' => 'root','password' => '20092565','charset' => 'utf8', ];接下来我们就能够在《Yii Framework2.0开发教程(1)配置环境及第一个应用HelloWorld》建立的views/zhyoulun/helloworld.php中写我们接下来的測试代码。
第一步、数据库连接初始化的两种方式
(1)
$connection = Yii::$app->db; $connection->open();(2)
$connection = new \yii\db\Connection( ['dsn' => 'mysql:host=localhost;dbname=zhyoulun','username' => 'root','password' => '20092565','charset' => 'utf8'] ); $connection->open();第二步:查询并显示数据 $command = $connection->createCommand('SELECT * FROM country'); $countries = $command->queryAll(); echo '<pre>'; print_r($countries); echo '</pre>';
整个helloworld.php代码例如以下
<?php //$connection = Yii::$app->db; //$connection->open();$connection = new \yii\db\Connection( ['dsn' => 'mysql:host=localhost;dbname=zhyoulun','username' => 'root','password' => '20092565','charset' => 'utf8'] ); $connection->open();$command = $connection->createCommand('SELECT * FROM country'); $countries = $command->queryAll(); echo '<pre>'; print_r($countries); echo '</pre>';?>第三步、我们继续接着写,实验其它经常使用的函数。
(1)queryOne。返回单行
$command = $connection->createCommand("SELECT * FROM country WHERE code='BR'"); $country = $command->queryOne(); echo '<pre>'; print_r($country); echo '</pre>';(2)queryColumn,查询多列值
$command = $connection->createCommand("SELECT code FROM country"); $country = $command->queryColumn(); echo '<pre>'; print_r($country); echo '</pre>';(3)queryScalar,查询标量值/计算值
$command = $connection->createCommand("SELECT count(*) FROM country"); $country = $command->queryScalar(); echo '<pre>'; print_r($country); echo '</pre>';(4)假设运行 SQL 不返回不论什么数据可使用命令中的 execute 方法(UPDATE, INSERT, DELETE 更新、插入和删除等)
更新
$command = $connection->createCommand("UPDATE country SET name='Brazil-haha' WHERE code='BR'"); $command->execute();更新
$connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execute();插入 $connection->createCommand()->insert('user', ['name' => 'Sam','age' => 30, ])->execute();
一次插入多行 $connection->createCommand()->batchInsert('user', ['name', 'age'], [['Tom', 30],['Jane', 20],['Linda', 25], ])->execute();
删除 $connection->createCommand()->delete('user', 'status = 0')->execute();
%======================================切割线======================================%
$command = $query->createCommand(); $rows = $command->queryAll();类似中写法的一种替代方式是(select方法) $query = new \yii\db\Query; //组织查询语句 $query->select('code')->from('country')->limit(5); //编译并运行查询语句 $row = $query->all(); echo '<pre>'; print_r($row); echo '</pre>';
其它函数如where、groupby、orderby、having等參见http://www.yiichina.com/guide/2/db-query-builder
參考:
https://github.com/yiisoft/yii2/blob/master/docs/guide-zh-CN/db-dao.md
http://www.yiichina.com/api/2.0/yii-db-query
http://www.yiichina.com/guide/2/db-query-builder
转载请注明出处:http://blog.csdn.net/zhyoulun/article/details/40476019
版权声明:本文博主原创文章。博客,未经同意不得转载。
创作挑战赛新人创作奖励来咯,坚持创作打卡瓜分现金大奖总结
以上是生活随笔为你收集整理的Yii Framework2.0开发教程(5)数据库mysql性能的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 找呀志_ContentResolver操
- 下一篇: SQL --分支取数据