博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
选取方法:Select API-Medoo使用指南
阅读量:5743 次
发布时间:2019-06-18

本文共 2630 字,大约阅读时间需要 8 分钟。

上一篇《》中介绍了Medoo的WHERE语法,本篇将要对Select方法进行说明。Select API主要用于设定提取数据的目标字段。

选取方法:Select 

从数据库中选取数据。

select($table, $columns, $where)//table [string]: 表名//columns [string/array]: 将要提取的数据的目标字段//where (可选) [array]: 过滤记录的WHERE子句 select($table, $join, $columns, $where)join [array]: 表连接相关的表名。如果不需要连接,则忽略它。

返回值: [array]

 提示:您可以使用“*”为列参数,来获取所有的列,但为了提高性能,提供目标列的话要好得多。

$database = new medoo("my_database"); $datas = $database->select("account", [	"user_name",	"email"], [	"user_id[>]" => 100]); // $datas = array(// 	[0] => array(// 		"user_name" => "foo",// 		"email" => "foo@bar.com"// 	),// 	[1] => array(// 		"user_name" => "cat",// 		"email" => "cat@dog.com"// 	)// ) foreach($datas as $data){	echo "user_name:" . $data["user_name"] . " - email:" . $data["email"] . "
";} // 选取所有列$datas = $database->select("account", "*"); // 选取单列user_name$datas = $database->select("account", "user_name"); // $datas = array(//  [0] => "foo",//  [1] => "cat"// ) // [表连接]// SQL-JOIN子句能够把两个表之间的行绑定在一起。Medoo为JOIN子句提供了简单的语法。 // [>] == LEFT JOIN// [<] == RIGH JOIN// [<>] == FULL JOIN// [><] == INNER JOIN $database->select("post", [ // 这是相关联的表的参数,它表明了你想要进行连接的表之间的关联性。  // post.author_id 等于 account.user_id "[>]account" => ["author_id" => "user_id"],  // post.user_id 等于 album.user_id // 如果两个表中的字段名是相同的,那么你可以使用以下这种快捷的方式来声明关联性。 "[>]album" => "user_id",  // [post.user_id 等于 photo.user_id, 并且 post.avatar_id 等于 photo.avatar_id] // 和上面一样,在各个表中的字段名都是相同的 "[>]photo" => ["user_id", "avatar_id"]], [ "post.post_id", "post.title", "account.city"], [ "post.user_id" => 100, "ORDER" => "post.post_id DESC", "LIMIT" => 50]); // SELECT//  `post`.`post_id`,//  `post`.`title`,//  `account`.`city`// FROM `post`// LEFT JOIN `account` ON `post`.`author_id` = `account`.`user_id`// LEFT JOIN `album` USING (`user_id`)// LEFT JOIN `photo` USING (`user_id`, `avatar_id`)// WHERE//  `post`.`user_id` = 100// ORDER BY `post`.`post_id` DESC// LIMIT 50 //[列的别名 - 自Medoo 0.9.1起支持]// 你可以使用列别名作为一个新的列名,用于替代原来的。// 这在表连接的时候,用来防止列名冲突非常有用。$data = $database->select("account", [ "user_id", "nickname(my_nickname)"], [ "LIMIT" => 20]); // $data = array(//  [0] => array(//  "user_id" => "1",//  "my_nickname" => "foo"//  ),//  [1] => array(//  "user_id" => "2",//  "my_nickname" => "bar"//  )// ) $data = $database->select("post", [ "[>]account" => "user_id",], [ "post.user_id(post_user_id)", "account.user_id(account_user_id)"], [ "LIMIT" => 20]); // $data = array(//  [0] => array(//  "post_user_id" => "1",//  "account_user_id" => "321"//  ),//  [1] => array(//  "post_user_id" => "2",//  "account_user_id" => "322"//  )// )

原文标题:

原文链接:

转载于:https://my.oschina.net/veekit/blog/264148

你可能感兴趣的文章
linux下使用过的命令总结(未整理完)
查看>>
时间助理 时之助
查看>>
英国征召前黑客组建“网络兵团”
查看>>
PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
LAMP环境搭建1-mysql5.5
查看>>
centos5.9使用RPM包搭建lamp平台
查看>>
Javascript String类的属性及方法
查看>>
[LeetCode] Merge Intervals
查看>>
Struts2 学习小结
查看>>
烂泥:wordpress迁移到docker
查看>>
测试工具综合
查看>>
asp.net中调用COM组件发布IIS时常见错误 80070005解决方案
查看>>
【记录】JS toUpperCase toLowerCase 大写字母/小写字母转换
查看>>
在 Linux 系统中安装Load Generator ,并在windows 调用
查看>>
Visifire charts ToolBar
查看>>
Mysql查询
查看>>
数据传输流程和socket简单操作
查看>>
ProbS CF matlab源代码(二分系统)(原创作品,转载注明出处,谢谢!)
查看>>
OC中KVC的注意点
查看>>