select
数据库查询
select($table, $columns, $where)
select($table, $join, $columns, $where)
返回: [array]
- $database = new medoo();
- $datas = $database->select("account", [
- "user_name",
- "email"
- ], [
- "user_id[>]" => 100
- ]);
- $data = $database->select("post", [
- "[>]account" => "user_id",
- ], [
- "post.user_id(post_user_id)",
- "account.user_id(account_user_id)"
- ], [
- "LIMIT" => 20
- ]);
insert
插入数据到表中
insert($table, $data)
Return: [number] 返回插入的id
可以同时插入多条数据.
- $last_user_id = $database->insert("account", [
- [
- "user_name" => "foo",
- "email" => "foo@bar.com",
- "age" => 25,
- "city" => "New York",
- "(JSON) lang" => ["en", "fr", "jp", "cn"]
- ],
- [
- "user_name" => "bar",
- "email" => "bar@foo.com",
- "age" => 14,
- "city" => "Hong Kong",
- "(JSON) lang" => ["en", "jp", "cn"]
- ]
- ]);
update
修改表数据
update($table, $data, $where)
Return: [number] 受影响的行数.
- $database->update("account", [
- "type" => "user",
- // All age plus one
- "age[+]" => 1,
- // All level subtract 5
- "level[-]" => 5,
- // All score multiplied by 2
- "score[*]" => 2,
- // Like insert, you can assign the serialization
- "lang" => ["en", "fr", "jp", "cn", "de"],
- "(JSON) fav_lang" => ["en", "fr", "jp", "cn", "de"],
- // You can also assign # for using SQL functions
- "#uid" => "UUID()"
- ], [
- "user_id[<]" => 1000
- ]);
delete
删除表中的数据
delete($table, $where)
Return: [number] 返回被删除的行数.
- $database->delete("account", [
- "AND" => [
- "type" => "business"
- "age[<]" => 18
- ]
- ]);
replace
将新的数据替换旧的数据
replace($table, $column, $search, $replace, $where)
replace($table, $column, $replacement, $where)
replace($table, $columns, $where)
Return: [number] 返回受影响的行数
- $database->replace("account", "type", "user", "new_user", [
- "user_id[>]" => 1000
- ]);
- $database->replace("account", "type", [
- "user" => "new_user",
- "business" => "new_business"
- ], [
- "user_id[>]" => 1000
- ]);
- $database->replace("account", [
- "type" => [
- "user" => "new_user",
- "business" => "new_business"
- ],
- "group" => [
- "groupA" => "groupB"
- ]
- ], [
- "user_id[>]" => 1000
- ]);
get
从表中返回一行数据
get($table, $columns, $where)
Return: [string/array] 返回查询到的数据.
这个方法只能获取一条数据
- $email = $database->get("account", "email", [
- "user_id" => 1234
- ]);
- // $email = "foo@bar.com"
- $profile = $database->get("account", [
- "email",
- "gender",
- "location"
- ], [
- "user_id" => 1234
- ]);
has
确定数据是否存在
has($table, $where)
has($table, $join, $where)
Return: [boolean] 返回 TRUE 或者 FALSE.
- if ($database->has("account", [
- "AND" => [
- "OR" => [
- "user_name" => "foo",
- "email" => "foo"
- ],
- "password" => "12345"
- ]
- ]))
- {
- echo "Password is correct.";
- }
- else
- {
- echo "Password error.";
- }
count
获取数据表中的行数
count($table, $where)
count($table, $join, $column, $where)
Return: [number] 行的数量.
返回的是数字类型.
- $count = $database->count("account", [
- "gender" => "female"
- ]);
max
获得数据表中,值最大的
max($table, $column, $where)
max($table, $join, $column, $where)
Return: [number] 返回最大的值.
这个返回数值类型.
- $max = $database->max("account", "age", [
- "gender" => "female"
- ]);
min
获得某个列中的最小的值
min($table, $column, $where)
min($table, $join, $column, $where)
Return: [number] 返回最小的值.
- $min = $database->min("account", "age", [
- "gender" => "male"
- ]);
avg
获得某个列字段的平均值
avg($table, $column, $where)
avg($table, $join, $column, $where)
Return: [number] 平均值.
- $average = $database->avg("account", "age", [
- "gender" => "male"
- ]);
sum
某个列字段相加
sum($table, $column, $where)
sum($table, $join, $column, $where)
Return: [number] 相加的值.
$total = $database->sum("account", "money");
query
执行sql语句
query($query)
$data = $database->query("SELECT email FROM account")->fetchAll();//查询数据
Return: [object] The PDOStatement object.
Debug
输入sql语句,但不执行
debug()
Return: 开启Medoo调试模式
输出sql语句,不需要使用echo或其它方法。调试完成请移除此代码
- $database->debug()->select("bccount", [
- "user_name",
- "email"
- ], [
- "user_id[<]" => 20
- ]);
error
获得最后一个执行的错误.
error()
Return: [array] 返回错误的数组代码
- $database->select("bccount", [
- "user_name",
- "email"
- ], [
- "user_id[<]" => 20
- ]);
- var_dump($database->error());
LOG
返回所有执行的查询。
log()
Return: 开启Medoo调试模式
可以用此函数来查询、调试SQL语句
- $database->select("account", [
- "user_name",
- "email"
- ], [
- "user_id[<]" => 20
- ]);
- $database->insert("account", [
- "user_name" => "foo",
- "email" => "foo@bar.com"
- ]);
- var_dump( $database->log() );
last_query
返回最后一条执行的SQL语句.
last_query()
Return: [string]
和log()很相似,但只返回最后一次查询的结果
- $database->select("account", [
- "user_name",
- "email"
- ], [
- "user_id[<]" => 20
- ]);
- $database->insert("account", [
- "user_name" => "foo",
- "email" => "foo@bar.com"
- ]);
- echo $database->last_query();