workerman读mysql,Workerman MySQL组件Connection用法总结

这篇博客详细介绍了如何使用PHP进行MySQL数据库操作,包括初始化连接、查询、获取单行、一列、单个值、复杂查询、插入、更新和删除数据。还涉及到了事务处理,提供了一系列等价的SQL语句示例,适合PHP开发者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、初始化连接

$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')->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'");

六、复杂查询

$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(')

->bindValue('sex', 'F')->query();

// 等价于

$row_count = $db->update('Persons')->cols(array('sex'=>'F'))->where(')->query();

// 等价于

$row_count = $db->query("UPDATE `Persons` SET `sex` = 'F' WHERE );

九、删除数据

$row_count = $db->delete('Persons')->where(')->query();

// 等价于

$row_count = $db->query("DELETE FROM `Persons` WHERE );

十、事务处理

$db->beginTrans();

....

$db->commitTrans(); // or $db->rollBackTrans();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值