Workerman中SQL語句的使用

  1. // 初始化db鏈接
  2. $db = new Workerman\MySQL\Connection('host', 'port', 'user', 'password', 'db_name');
  3. // 獲取全部數據
  4. $db->select('ID,Sex')->from('Persons')->where('sex= :sex AND ID = :id')->bindValues(array('sex'=>'M', 'id' => 1))->query();
  5. //等價於
  6. $db->select('ID,Sex')->from('Persons')->where("sex= 'M' AND ID = 1")->query();
  7. //等價於
  8. $db->query("SELECT ID,Sex FROM `Persons` WHERE sex='M' AND ID = 1");
  9. // 獲取一行數據
  10. $db->select('ID,Sex')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->row();
  11. //等價於
  12. $db->select('ID,Sex')->from('Persons')->where("sex= 'M' ")->row();
  13. //等價於
  14. $db->row("SELECT ID,Sex FROM `Persons` WHERE sex='M'");
  15. // 獲取一列數據
  16. $db->select('ID')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->column();
  17. //等價於
  18. $db->select('ID')->from('Persons')->where("sex= 'F' ")->column();
  19. //等價於
  20. $db->column("SELECT `ID` FROM `Persons` WHERE sex='M'");
  21. // 獲取單個值
  22. $db->select('ID,Sex')->from('Persons')->where('sex= :sex')->bindValues(array('sex'=>'M'))->single();
  23. //等價於
  24. $db->select('ID,Sex')->from('Persons')->where("sex= 'F' ")->single();
  25. //等價於
  26. $db->single("SELECT ID,Sex FROM `Persons` WHERE sex='M'");
  27. // 複雜查詢
  28. $db->select('*')->from('table1')->innerJoin('table2','table1.uid = table2.uid')->where('age > :age')->groupBy(array('aid'))->having('foo="foo"')->orderByASC/*orderByDESC*/(array('did'))
  29. ->limit(10)->offset(20)->bindValues(array('age' => 13));
  30. // 等價於
  31. $db->query(SELECT * FROM `table1` INNER JOIN `table2` ON `table1`.`uid` = `table2`.`uid`
  32. WHERE age > 13 GROUP BY aid HAVING foo="foo" ORDER BY did LIMIT 10 OFFSET 20「);
  33. // 插入
  34. $insert_id = $db->insert('Persons')->cols(array(
  35. 'Firstname'=>'abc',
  36. 'Lastname'=>'efg',
  37. 'Sex'=>'M',
  38. 'Age'=>13))->query();
  39. 等價於
  40. $insert_id = $db->query("INSERT INTO `Persons` ( `Firstname`,`Lastname`,`Sex`,`Age`)
  41. VALUES ( 'abc', 'efg', 'M', 13)");
  42. // 更新
  43. $row_count = $db->update('Persons')->cols(array('sex'))->where('ID=1')
  44. ->bindValue('sex', 'F')->query();
  45. // 等價於
  46. $row_count = $db->update('Persons')->cols(array('sex'=>'F'))->where('ID=1')->query();
  47. // 等價於
  48. $row_count = $db->query("UPDATE `Persons` SET `sex` = 'F' WHERE ID=1");
  49. // 刪除
  50. $row_count = $db->delete('Persons')->where('ID=9')->query();
  51. // 等價於
  52. $row_count = $db->query("DELETE FROM `Persons` WHERE ID=9");
  53. // 事務
  54. $db->beginTrans();
  55. ....
  56. $db->commitTrans(); // or $db->rollBackTrans();
相關文章
相關標籤/搜索