Workerman中SQL語句的使用
- // 初始化db鏈接
- $db = new Workerman\MySQL\Connection('host', 'port', 'user', 'password', 'db_name');
- // 獲取全部數據
- $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");
- // 獲取一行數據
- $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'");
- // 獲取一列數據
- $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'");
- // 獲取單個值
- $db->select('ID,Sex')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->single();
- //等價於
- $db->select('ID,Sex')->from('Persons')->where("sex= 'F' ")->single();
- //等價於
- $db->single("SELECT ID,Sex FROM `Persons` WHERE sex='M'");
- // 複雜查詢
- $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「);
- // 插入
- $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)");
- // 更新
- $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");
- // 刪除
- $row_count = $db->delete('Persons')->where('ID=9')->query();
- // 等價於
- $row_count = $db->query("DELETE FROM `Persons` WHERE ID=9");
- // 事務
- $db->beginTrans();
- ....
- $db->commitTrans(); // or $db->rollBackTrans();
歡迎關注本站公眾號,獲取更多信息