日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Yii Framework2.0开发教程(5)数据库mysql性能

發(fā)布時間:2023/12/31 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Yii Framework2.0开发教程(5)数据库mysql性能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

繼續(xù)《Yii Framework2.0開發(fā)教程(3)數(shù)據(jù)庫mysql入門》

首先給予一定的尊重yii2數(shù)據(jù)庫支持引進

Yii 基于 PHP's PDO一個成熟的數(shù)據(jù)庫訪問層的建立。它提供了一個統(tǒng)一的 API 并且克服了許多不同的 DBMS 違禁使用。 Yii 默認支持下面 DBMS :
MySQL
MariaDB
SQLite
PostgreSQL
CUBRID: version 9.1.0 or higher.
Oracle
MSSQL: version 2012 或更高版本號,如需使用 LIMIT/OFFSET。


配置

開始使用數(shù)據(jù)庫首先須要配置數(shù)據(jù)庫連接組件,通過加入 db 組件到應(yīng)用配置實現(xiàn)("基礎(chǔ)的" Web 應(yīng)用是 config/web.php),例如以下所看到的:

return [// ...'components' => [// ...'db' => ['class' => 'yii\db\Connection','dsn' => 'mysql:host=localhost;dbname=mydatabase', // MySQL, MariaDB//'dsn' => 'sqlite:/path/to/database/file', // SQLite//'dsn' => 'pgsql:host=localhost;port=5432;dbname=mydatabase', // PostgreSQL//'dsn' => 'cubrid:dbname=demodb;host=localhost;port=33000', // CUBRID//'dsn' => 'sqlsrv:Server=localhost;Database=mydatabase', // MS SQL Server, sqlsrv driver//'dsn' => 'dblib:host=localhost;dbname=mydatabase', // MS SQL Server, dblib driver//'dsn' => 'mssql:host=localhost;dbname=mydatabase', // MS SQL Server, mssql driver//'dsn' => 'oci:dbname=//localhost:1521/mydatabase', // Oracle'username' => 'root', //數(shù)據(jù)庫用戶名'password' => '', //數(shù)據(jù)庫密碼'charset' => 'utf8',],],// ... ];
另外請參考PHP manual獲取很多其它有關(guān) DSN 格式信息。



在我們的樣例中給出的配置文件是

<?php //配置的數(shù)據(jù)庫連接能夠在應(yīng)用中通過 Yii::$app->db 訪問return ['class' => 'yii\db\Connection','dsn' => 'mysql:host=localhost;dbname=zhyoulun','username' => 'root','password' => '20092565','charset' => 'utf8', ];
接下來我們就能夠在《Yii Framework2.0開發(fā)教程(1)配置環(huán)境及第一個應(yīng)用HelloWorld》建立的views/zhyoulun/helloworld.php中寫我們接下來的測試代碼。


第一步、數(shù)據(jù)庫連接初始化的兩種方式

(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();
第二步:查詢并顯示數(shù)據(jù)

$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>';?>
第三步、我們繼續(xù)接著寫,實驗其它經(jīng)常使用的函數(shù)。

(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)假設(shè)運行 SQL 不返回不論什么數(shù)據(jù)可使用命令中的 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>';

其它函數(shù)如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


轉(zhuǎn)載請注明出處:http://blog.csdn.net/zhyoulun/article/details/40476019

版權(quán)聲明:本文博主原創(chuàng)文章。博客,未經(jīng)同意不得轉(zhuǎn)載。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的Yii Framework2.0开发教程(5)数据库mysql性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。