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();
相关文章
相关标签/搜索