yii2 讀取db操作db命令

2021-07-16 05:21:06 字數 3332 閱讀 6550

yii2 讀取db操作db命令

插入陣列形式

array(

'username'=>'phpernote', 

'password'=>'123456'));

本文用作工作記錄,也許有人會問為什麼不用 yii 的 model 去操作 db,原因很簡單,yii 的 model 寫法上是方便了很多,但是會執行多餘的 sql,開啟 yii 的執行 log 就會發現。

開啟跟蹤log的方法,config/main.php中 log routes 中新增

[php]view plain

copy

[  'class'

=> 

'cweblogroute'

,  ]  

所以為了效率,為了 db 伺服器的效能考慮,還是使用 createcommand 的好。

insert

[php]view plain

copy

$row

'goods'

, array

(  'good_name'

=> 

$goods_name

,  'good_type'

=> 

$goods_type

,  'price'

=> 

$price

,  'buy_nums'

=> 0,  

'commit_nums'

=> 0,  

'create_time'

=> time(),  

));  

select

單錶查詢

[php]view plain

copy

$goodstypes

->select('type_id, type_name'

)  ->from('goods_type'

)  ->where('status=:status'

, [  

':status'

=> 1  

])  

->queryall();  

連表查詢

[php]view plain

copy

$goods

'goods g'

)  ->select('g.good_id, g.good_name, gt.type_name, g.price, g.buy_nums, g.commit_nums, g.create_time'

)  ->join('goods_type gt'

, 'g.good_type=gt.type_id'

)  ->where('g.`status`=:status1 and gt.`status`=:status2'

, [  

':status1'

=> 1,  

':status2'

=> 2  

])  

->order('g.create_time desc'

)  ->queryall();  

delete

[php]view plain

copy

$row

->delete

('goods'

, "good_id=:good_id"

, array

(  ':good_id'

=> 

$goods_id

,  ));  

update

[php]view plain

copy

$row

'goods'

, [  

'good_name'

=> 

$goods_name

,  'good_type'

=> 

$goods_type

,  'price'

=> 

$price

,  ], "good_id=:good_id"

, [  

':good_id'

=> 1  

]);  

說明下,where 方法的使用方法很多,具體看 yii 的**注釋,寫的很詳細。

就記錄這點吧~

//查詢

$sql = 「select * from `tbl_user` order by id desc」;

$command = $connection->createcommand($sql);

$result = $command->queryall();

print_r($result);

//新增

$sql = 」 insert into `tbl_user` (`username`, `password`, `email`) values (『test』, 『test』, 『[email protected]』) 「;

$command=$connection->createcommand($sql);

print_r($command->execute());

//新增 返回自增id

$command1 = $connection->createcommand(「select last_insert_id()」);

$result = $command1->queryall();

//常用函式

(1)如果你執行的sql語句有返回結果集: 例如select。通常用query開頭的系列函式:

$datareader=$command->query(); // 執行乙個 sql 查詢

$rows=$command->queryall(); // 查詢並返回結果中的所有行

$row=$command->queryrow(); // 查詢並返回結果中的第一行

$column=$command->querycolumn(); // 查詢並返回結果中的第一列

$value=$command->queryscalar(); // 查詢並返回結果中第一行的第乙個字

(2)你執行的sql語句返回的不是結果集,只是狀態值,例如:insert ,update,delete.則用execute()

$this->command->execute();

//使用事務的一種常見情形:cdbtransaction

$transaction = $connection->begintransaction();

trycatch(exception $e)

DB2常用操作命令

檢視資料庫列表 db2 list db directory 建立資料庫 db2 create database skms1v2 using codeset gbk territory cn 建立資料庫連線 db2 connect to skms1v2 user db2inst1 using db2i...

DB2 命令列操作

db2 drop db libinst2 db2 create database libinst2 on d alias libinst2 using codeset utf 8 territory cn db2 connect to libinst2 db2 grant dbadm,createt...

db2 基礎操作

清空cls 檢視資料版本 select from sysibm.sysversions 重啟資料 restart db twcs177 啟用資料庫 activate db twcs177 停止資料庫 deactivate db twcs177 資料庫鏈結名 db2 catalog tcpip mod...