Workerman MySQL組件Connection用法總結

1、初始化鏈接ui

$db = new \Workerman\MySQL\Connection('host', 'port', 'user', 'password', 'db_name');

2、獲取全部數據spa

$db->select('ID,Sex')->from('Persons')->where('sex= :sex AND ID = :id')->bindValues(array('sex'=>'M', 'id' => 1))->query();
//等價於
$db->select('ID,Sex')->from('Persons')->where("sex= 'M' AND ID = 1")->query();
//等價於
$db->query("SELECT ID,Sex FROM `Persons` WHERE sex='M' AND ID = 1");

3、獲取一行數據code

$db->select('ID,Sex')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->row();
//等價於
$db->select('ID,Sex')->from('Persons')->where("sex= 'M' ")->row();
//等價於
$db->row("SELECT ID,Sex FROM `Persons` WHERE sex='M'");

4、獲取一列數據blog

$db->select('ID')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->column();
//等價於
$db->select('ID')->from('Persons')->where("sex= 'F' ")->column();
//等價於
$db->column("SELECT `ID` FROM `Persons` WHERE sex='M'");

5、獲取單個值事務

$db->select('ID')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->single();
//等價於
$db->select('ID')->from('Persons')->where("sex= 'F' ")->single();
//等價於
$db->single("SELECT ID FROM `Persons` WHERE sex='M'");

6、複雜查詢it

$db->select('*')->from('table1')->innerJoin('table2','table1.uid = table2.uid')->where('age > :age')->groupBy(array('aid'))->having('foo="foo"')->orderByASC/*orderByDESC*/(array('did'))
->limit(10)->offset(20)->bindValues(array('age' => 13));
// 等價於
$db->query('SELECT * FROM `table1` INNER JOIN `table2` ON `table1`.`uid` = `table2`.`uid`
WHERE age > 13 GROUP BY aid HAVING foo="foo" ORDER BY did LIMIT 10 OFFSET 20');

7、插入數據io

$insert_id = $db->insert('Persons')->cols(array(
    'Firstname'=>'abc',
    'Lastname'=>'efg',
    'Sex'=>'M',
    'Age'=>13))->query();
等價於
$insert_id = $db->query("INSERT INTO `Persons` ( `Firstname`,`Lastname`,`Sex`,`Age`)
VALUES ( 'abc', 'efg', 'M', 13)");

8、更新數據table

$row_count = $db->update('Persons')->cols(array('sex'))->where('ID=1')
->bindValue('sex', 'F')->query();
// 等價於
$row_count = $db->update('Persons')->cols(array('sex'=>'F'))->where('ID=1')->query();
// 等價於
$row_count = $db->query("UPDATE `Persons` SET `sex` = 'F' WHERE ID=1");

9、刪除數據ast

$row_count = $db->delete('Persons')->where('ID=9')->query();
// 等價於
$row_count = $db->query("DELETE FROM `Persons` WHERE ID=9");

10、事務處理class

$db->beginTrans();
....
$db->commitTrans(); // or $db->rollBackTrans();
相關文章
相關標籤/搜索