Method Mysql.SqlTable()->select()
- Method
select
Result
select(string
|array
where
,void
|array
(string
)fields
,void
|string
|array
select_exprs
,void
|string
table_refs
,void
|string
|array
rest
,void
|string
select_flags
)- Description
Retrieves all records that matches a condition.
This function sends a SELECT statement, and it gives full expressive power to send any SELECT that is based on this table.
The only functionality this function adds over
Sql.big_typed_query
is conversion of TIMESTAMP values (see the class doc), and the (optional) handling of arbitrary properties in addition to the SQL columns.fields
may list such properties, and they are returned alongside the real columns. Properties cannot be used in WHERE expressions etc, though.Joins with other tables are possible through
table_refs
, but property columns in those tables aren't decoded.- Parameter
where
The match condition, on the form of a WHERE expression. It may be given as an array to use bindings or
sprintf
-style formatting - see handle_argspec for details.A WHERE clause will always be generated, but you can put e.g. "TRUE" in the match condition to select all records.
- Parameter
fields
The fields to retrieve. All fields are retrieved if it's zero or left out.
For columns, the result mappings always have corresponding entries. Other fields, i.e. properties, only occur in the result mappings when they match fields in the prop_col column.
A
0
(zero) entry can be used infields
to return all properties without filtering.- Parameter
select_exprs
Optional extra select expression besides the requested columns. This is just added to the list of selected columns, after a separating ",".
select_exprs
may be given as an array to use bindings orsprintf
-style formatting - see handle_argspec for details.Note that expressions in
select_exprs
that produce TIMESTAMP values are not converted to unix time integers - they are instead returned as formatted date/time strings.- Parameter
table_refs
Optional other tables to join into the SELECT. This is inserted between "FROM table" and "WHERE".
- Parameter
rest
Optional clauses that follows after the WHERE clause, e.g. ORDER BY, GROUP BY, and LIMIT. It may be given as an array to use bindings or
sprintf
-style formatting - see handle_argspec for details.- Parameter
select_flags
Flags for the SELECT statement. If this string is given, it is simply inserted directly after the "SELECT" keyword.
- Returns
Returns a SqlTable.Result object from which the results can be retrieved. Zero is never returned.
- Note
The result object implements an iterator, so it can be used directly in e.g. a
foreach
.- Note
quote may be used to quote string literals if the
sprintf
-style formats aren't used.- See also