diff options
author | Andrey Andreev <narf@devilix.net> | 2014-12-08 13:45:45 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2014-12-08 13:45:45 +0100 |
commit | 75818dfe84f9c6e3de0cb798b77bf8e68cd7f435 (patch) | |
tree | c1dc36851cc31b5aac3ac0fc9d51dedf2f9d07e4 /user_guide_src | |
parent | c84e10f059773d1cc7b77d1e9e72738c4bbc342f (diff) | |
parent | 7381711c721eee5bcf4fa20d7d62c96e5e44390e (diff) |
Merge pull request #3396 from jim-parry/userguide/query_builder
Userguide/query builder
Diffstat (limited to 'user_guide_src')
-rw-r--r-- | user_guide_src/source/database/query_builder.rst | 670 |
1 files changed, 533 insertions, 137 deletions
diff --git a/user_guide_src/source/database/query_builder.rst b/user_guide_src/source/database/query_builder.rst index 3203ff103..577248b32 100644 --- a/user_guide_src/source/database/query_builder.rst +++ b/user_guide_src/source/database/query_builder.rst @@ -29,8 +29,7 @@ Selecting Data The following functions allow you to build SQL **SELECT** statements. -$this->db->get() ----------------- +**$this->db->get()** Runs the selection query and returns the result. Can be used by itself to retrieve all records from a table:: @@ -57,11 +56,7 @@ $query, which can be used to show the results:: Please visit the :doc:`result functions <results>` page for a full discussion regarding result generation. -:returns: DB_Result for a successful "read", - TRUE for a successful "write", FALSE if an error - -$this->db->get_compiled_select() --------------------------------- +**$this->db->get_compiled_select()** Compiles the selection query just like **$this->db->get()** but does not *run* the query. This method simply returns the SQL query as a string. @@ -90,10 +85,7 @@ parameter. The reason for this outcome is because the query has not been executed using **$this->db->get()** which resets values or reset directly using **$this->db->reset_query()**. -:returns: The SQL select string - -$this->db->get_where() ----------------------- +**$this->db->get_where()** Identical to the above function except that it permits you to add a "where" clause in the second parameter, instead of using the db->where() @@ -105,11 +97,7 @@ Please read the about the where function below for more information. .. note:: get_where() was formerly known as getwhere(), which has been removed -:returns: DB_Result for a successful "read", - TRUE for a successful "write", FALSE if an error - -$this->db->select() -------------------- +**$this->db->select()** Permits you to write the SELECT portion of your query:: @@ -129,10 +117,7 @@ with backticks. This is useful if you need a compound select statement. $this->db->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4') AS amount_paid', FALSE); $query = $this->db->get('mytable'); -:returns: The query builder object - -$this->db->select_max() ------------------------ +**$this->db->select_max()** Writes a "SELECT MAX(field)" portion for your query. You can optionally include a second parameter to rename the resulting field. @@ -181,11 +166,7 @@ the resulting field. $this->db->select_sum('age'); $query = $this->db->get('members'); // Produces: SELECT SUM(age) as age FROM members -:returns: The query builder object - - -$this->db->from() ------------------ +**$this->db->from()** Permits you to write the FROM portion of your query:: @@ -196,10 +177,7 @@ Permits you to write the FROM portion of your query:: .. note:: As shown earlier, the FROM portion of your query can be specified in the $this->db->get() function, so use whichever method you prefer. -:returns: The query builder object - -$this->db->join() ------------------ +**$this->db->join()** Permits you to write the JOIN portion of your query:: @@ -223,14 +201,11 @@ outer, and right outer. $this->db->join('comments', 'comments.id = blogs.id', 'left'); // Produces: LEFT JOIN comments ON comments.id = blogs.id -:returns: The query builder object - ************************* Looking for Specific Data ************************* -$this->db->where() ------------------- +**$this->db->where()** This function enables you to set **WHERE** clauses using one of four methods: @@ -306,10 +281,7 @@ instances are joined by OR:: .. note:: or_where() was formerly known as orwhere(), which has been removed. -:returns: The query builder object - -$this->db->where_in() ---------------------- +**$this->db->where_in()** Generates a WHERE field IN ('item', 'item') SQL query joined with AND if appropriate @@ -332,10 +304,7 @@ appropriate $this->db->or_where_in('username', $names); // Produces: OR username IN ('Frank', 'Todd', 'James') -:returns: The query builder object - -$this->db->where_not_in() -------------------------- +**$this->db->where_not_in()** Generates a WHERE field NOT IN ('item', 'item') SQL query joined with AND if appropriate @@ -358,15 +327,11 @@ if appropriate $this->db->or_where_not_in('username', $names); // Produces: OR username NOT IN ('Frank', 'Todd', 'James') -:returns: The query builder object - - ************************ Looking for Similar Data ************************ -$this->db->like() ------------------ +**$this->db->like()** This method enables you to generate **LIKE** clauses, useful for doing searches. @@ -432,10 +397,7 @@ instances are joined by OR:: $this->db->or_not_like('body', 'match'); // WHERE `title` LIKE '%match% OR `body` NOT LIKE '%match%' ESCAPE '!' -:returns: The query builder object - -$this->db->group_by() ---------------------- +**$this->db->group_by()** Permits you to write the GROUP BY portion of your query:: @@ -448,10 +410,7 @@ You can also pass an array of multiple values as well:: .. note:: group_by() was formerly known as groupby(), which has been removed. -:returns: The query builder object - -$this->db->distinct() ---------------------- +**$this->db->distinct()** Adds the "DISTINCT" keyword to a query @@ -460,10 +419,7 @@ Adds the "DISTINCT" keyword to a query $this->db->distinct(); $this->db->get('table'); // Produces: SELECT DISTINCT * FROM table -:returns: The query builder object - -$this->db->having() -------------------- +**$this->db->having()** Permits you to write the HAVING portion of your query. There are 2 possible syntaxes, 1 argument or 2:: @@ -491,14 +447,11 @@ setting it to FALSE. Identical to having(), only separates multiple clauses with "OR". -:returns: The query builder object - **************** Ordering results **************** -$this->db->order_by() ---------------------- +**$this->db->order_by()** Lets you set an ORDER BY clause. @@ -542,14 +495,11 @@ be ignored, unless you specify a numeric seed value. .. note:: Random ordering is not currently supported in Oracle and will default to ASC instead. -:returns: The query builder object - **************************** Limiting or Counting Results **************************** -$this->db->limit() ------------------- +**$this->db->limit()** Lets you limit the number of rows you would like returned by the query:: @@ -561,10 +511,7 @@ The second parameter lets you set a result offset. $this->db->limit(10, 20); // Produces: LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax) -:returns: The query builder object - -$this->db->count_all_results() ------------------------------- +**$this->db->count_all_results()** Permits you to determine the number of rows in a particular Active Record query. Queries will accept Query Builder restrictors such as @@ -575,18 +522,13 @@ where(), or_where(), like(), or_like(), etc. Example:: $this->db->from('my_table'); echo $this->db->count_all_results(); // Produces an integer, like 17 -:returns: Count of all the records returned by a query - -$this->db->count_all() ----------------------- +**$this->db->count_all()** Permits you to determine the number of rows in a particular table. Submit the table name in the first parameter. Example:: echo $this->db->count_all('my_table'); // Produces an integer, like 25 -:returns: Count of all the records in the specified table - ************** Query grouping ************** @@ -630,14 +572,11 @@ Starts a new group by adding an opening parenthesis to the WHERE clause of the q Ends the current group by adding an closing parenthesis to the WHERE clause of the query. -:returns: The query builder object - ************** Inserting Data ************** -$this->db->insert() -------------------- +**$this->db->insert()** Generates an insert string based on the data you supply, and runs the query. You can either pass an **array** or an **object** to the @@ -674,12 +613,9 @@ object. .. note:: All values are escaped automatically producing safer queries. -:returns: DB_Query on success, FALSE on failure - -$this->db->get_compiled_insert() --------------------------------- +**$this->db->get_compiled_insert()** -Compiles the insertion query just like `$this->db->insert()`_ but does not +Compiles the insertion query just like $this->db->insert() but does not *run* the query. This method simply returns the SQL query as a string. Example:: @@ -696,7 +632,7 @@ Example:: // Produces string: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date') The second parameter enables you to set whether or not the query builder query -will be reset (by default it will be--just like `$this->db->insert()`_):: +will be reset (by default it will be--just like $this->db->insert()):: echo $this->db->set('title', 'My Title')->get_compiled_insert('mytable', FALSE); @@ -714,10 +650,7 @@ using `$this->db->insert()` which resets values or reset directly using .. note:: This method doesn't work for batched inserts. -:returns: The SQL insert string - -$this->db->insert_batch() -------------------------- +**$this->db->insert_batch()** Generates an insert string based on the data you supply, and runs the query. You can either pass an **array** or an **object** to the @@ -744,14 +677,11 @@ associative array of values. .. note:: All values are escaped automatically producing safer queries. -:returns: Count of the number of records inserted on success, FALSE on failure - ************* Updating Data ************* -$this->db->replace() --------------------- +**$this->db->replace()** This method executes a REPLACE statement, which is basically the SQL standard for (optional) DELETE + INSERT, using *PRIMARY* and *UNIQUE* @@ -779,10 +709,7 @@ will be deleted with our new row data replacing it. Usage of the ``set()`` method is also allowed and all fields are automatically escaped, just like with ``insert()``. -:returns: DB_query object on success, FALSE on failure - -$this->db->set() ----------------- +**$this->db->set()** This function enables you to set values for inserts or updates. @@ -840,10 +767,7 @@ Or an object:: $this->db->set($object); $this->db->insert('mytable'); -:returns: The query builder object - -$this->db->update() -------------------- +**$this->db->update()** Generates an update string and runs the query based on the data you supply. You can pass an **array** or an **object** to the function. Here @@ -889,10 +813,7 @@ Or as an array:: You may also use the $this->db->set() function described above when performing updates. -:returns: DB_query object on success, FALSE on failure - -$this->db->update_batch() -------------------------- +**$this->db->update_batch()** Generates an update string based on the data you supply, and runs the query. You can either pass an **array** or an **object** to the function. @@ -933,10 +854,7 @@ array of values, the third parameter is the where key. due to the very nature of how it works. Instead, ``update_batch()`` returns the number of rows affected. -:returns: Count of the number of records affected on success, FALSE on failure - -$this->db->get_compiled_update() --------------------------------- +**$this->db->get_compiled_update()** This works exactly the same way as ``$this->db->get_compiled_insert()`` except that it produces an UPDATE SQL string instead of an INSERT SQL string. @@ -945,14 +863,11 @@ For more information view documentation for `$this->db->get_compiled_insert()`. .. note:: This method doesn't work for batched updates. -:returns: The SQL update string - ************* Deleting Data ************* -$this->db->delete() -------------------- +**$this->db->delete()** Generates a delete SQL string and runs the query. @@ -985,21 +900,14 @@ delete data from more than 1 table. If you want to delete all data from a table, you can use the truncate() function, or empty_table(). -:returns: DB_Query on success, FALSE on failure - -$this->db->empty_table() ------------------------- +**$this->db->empty_table()** Generates a delete SQL string and runs the query.:: $this->db->empty_table('mytable'); // Produces: DELETE FROM mytable -:returns: DB_Query on success, FALSE on failure - - -$this->db->truncate() ---------------------- +**$this->db->truncate()** Generates a truncate SQL string and runs the query. @@ -1018,19 +926,12 @@ Generates a truncate SQL string and runs the query. .. note:: If the TRUNCATE command isn't available, truncate() will execute as "DELETE FROM table". -:returns: DB_Query on success, FALSE on failure - -$this->db->get_compiled_delete() --------------------------------- +**$this->db->get_compiled_delete()** This works exactly the same way as ``$this->db->get_compiled_insert()`` except that it produces a DELETE SQL string instead of an INSERT SQL string. -For more information view documentation for `$this->db->get_compiled_insert()`_. - -:returns: The SQL delete string - - +For more information view documentation for $this->db->get_compiled_insert(). *************** Method Chaining @@ -1074,8 +975,6 @@ This function can be called to stop caching. This function deletes all items from the Query Builder cache. -:returns: void - An example of caching --------------------- @@ -1105,8 +1004,7 @@ Here's a usage example:: Resetting Query Builder *********************** -$this->db->reset_query() ------------------------- +**$this->db->reset_query()** Resetting Query Builder allows you to start fresh with your query without executing it first using a method like $this->db->get() or $this->db->insert(). @@ -1137,4 +1035,502 @@ run the query:: will results in the cache being merged twice. That in turn will i.e. if you're caching a ``select()`` - select the same field twice. -:returns: void +*************** +Class Reference +*************** + +.. class:: CI_DB_query_builder + + .. method:: count_all_results([$table = '']) + + :param string $table: Table name to query + :returns: Number of rows in the query result + :rtype: int + + Generates a platform-specific query string that counts + all records returned by an Query Builder query. + + .. method:: dbprefix([$table = '']) + + :param string $table: The table name to work with + :returns: The modified table name + :rtype: string + + Prepends a database prefix if one exists in configuration + + .. method:: delete([$table = ''[, $where = ''[, $limit = NULL[, $reset_data = TRUE]]]]) + + :param mixed $table: The table(s) to delete from; string or array + :param string $where: The where clause + :param string $limit: The limit clause + :param boolean $reset_data: TRUE to reset the query "write" clause + :returns: DB_query_builder instance, FALSE on failure + :rtype: mixed + + Compiles a delete string and runs the query + + .. method:: distinct([$val = TRUE]) + + :param boolean $val: Desired value of the "distinct" flag + :returns: DB_query_driver instance + :rtype: object + + Sets a flag which tells the query string compiler to add DISTINCT + + .. method:: empty_table([$table = '']) + + :param string $table: Name of table to empty + :returns: DB_driver instance + :rtype: object + + Compiles a delete string and runs "DELETE FROM table" + + .. method:: flush_cache() + + :rtype: void + + Empties the QB cache + + .. method:: from($from) + + :param mixed $from: Can be a string or array + :returns: DB_query_builder instance + :rtype: object + + Generates the FROM portion of the query + + .. method:: get([$table = ''[, $limit = NULL[, $offset = NULL]]]) + + :param string $table: The table to query + :param string $limit: The limit clause + :param string $offset: The offset clause + :returns: DB_result + :rtype: object + + Compiles the select statement based on the other functions + called and runs the query + + .. method:: get_compiled_delete([$table = ''[, $reset = TRUE]]) + + :param string $table: Name of the table to delete from + :param boolean $reset: TRUE: reset QB values; FALSE: leave QB values alone + :returns: The SQL string + :rtype: string + + Compiles a delete query string and returns the sql + + .. method:: get_compiled_insert([$table = ''[, $reset = TRUE]]) + + :param string $table: Name of the table to insert into + :param boolean $reset: TRUE: reset QB values; FALSE: leave QB values alone + :returns: The SQL string + :rtype: string + + Compiles an insert query string and returns the sql + + .. method:: get_compiled_select([$table = ''[, $reset = TRUE]]) + + :param string $table: Name of the table to select from + :param boolean $reset: TRUE: reset QB values; FALSE: leave QB values alone + :returns: The SQL string + :rtype: string + + Compiles a select query string and returns the sql + + .. method:: get_compiled_update([$table = ''[, $reset = TRUE]]) + + :param string $table: Name of the table to update + :param boolean $reset: TRUE: reset QB values; FALSE: leave QB values alone + :returns: The SQL string + :rtype: string + + Compiles an update query string and returns the sql + + .. method:: get_where([$table = ''[, $where = NULL[, $limit = NULL[, $offset = NULL]]]]) + + :param mixed $table: The table(s) to delete from; string or array + :param string $where: The where clause + :param int $limit: Number of records to return + :param int $offset: Number of records to skip + :returns: DB_result + :rtype: object + + Allows the where clause, limit and offset to be added directly + + .. method:: group_by($by[, $escape = NULL]) + + :param mixed $by: Field(s) to group by; string or array + :returns: DB_query_builder instance + :rtype: object + + Adds a GROUPBY clause to the query + + .. method:: group_end() + + :returns: DB_query_builder instance + :rtype: object + + Ends a query group + + .. method:: group_start([$not = ''[, $type = 'AND ']]) + + :param string $not: (Internal use only) + :param string $type: (Internal use only) + :returns: DB_query_builder instance + :rtype: object + + Starts a query group. + + .. method:: having($key[, $value = NULL[, $escape = NULL]]) + + :param string $key: Key (string) or associative array of values + :param string $value: Value sought if the key is a string + :param string $escape: TRUE to escape the content + :returns: DB_query_builder instance + :rtype: object + + Separates multiple calls with 'AND'. + + .. method:: insert([$table = ''[, $set = NULL[, $escape = NULL]]]) + + :param string $table: The table to insert data into + :param array $set: An associative array of insert values + :param boolean $table: Whether to escape values and identifiers + :returns: DB_result + :rtype: object + + Compiles an insert string and runs the query + + .. method:: insert_batch([$table = ''[, $set = NULL[, $escape = NULL]]]) + + :param string $table: The table to insert data into + :param array $set: An associative array of insert values + :param boolean $escape: Whether to escape values and identifiers + :returns: Number of rows inserted or FALSE on failure + :rtype: mixed + + Compiles batch insert strings and runs the queries + + .. method:: join($table, $cond[, $type = ''[, $escape = NULL]]) + + :param string $table: Name of the table being joined + :param string $cond: The JOIN condition + :param string $type: The JOIN type + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates the JOIN portion of the query + + .. method:: like($field[, $match = ''[, $side = 'both'[, $escape = NULL]]]) + + :param string $field: Name of field to compare + :param string $match: Text portion to match + :param string $side: Position of a match + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a %LIKE% portion of the query. + Separates multiple calls with 'AND'. + + .. method:: limit($value[, $offset = FALSE]) + + :param mixed $value: Number of rows to limit the results to, NULL for no limit + :param mixed $offset: Number of rows to skip, FALSE if no offset used + :returns: DB_query_builder instance + :rtype: object + + Specify a limit and offset for the query + + .. method:: not_group_start() + + :returns: DB_query_builder instance + :rtype: object + + Starts a query group, but NOTs the group + + .. method:: not_like($field[, $match = ''[, $side = 'both'[, $escape = NULL]]]) + + :param string $field: Name of field to compare + :param string $match: Text portion to match + :param string $side: Position of a match + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a NOT LIKE portion of the query. + Separates multiple calls with 'AND'. + + .. method:: offset($offset) + + :param int $offset: Number of rows to skip in a query + :returns: DB_query_builder instance + :rtype: object + + Sets the OFFSET value + + .. method:: or_group_start() + + :returns: DB_query_builder instance + :rtype: object + + Starts a query group, but ORs the group + + .. method:: or_having($key[, $value = NULL[, $escape = NULL]]) + + :param string $key: Key (string) or associative array of values + :param string $value: Value sought if the key is a string + :param string $escape: TRUE to escape the content + :returns: DB_query_builder instance + :rtype: object + + Separates multiple calls with 'OR'. + + .. method:: or_like($field[, $match = ''[, $side = 'both'[, $escape = NULL]]]) + + :param string $field: Name of field to compare + :param string $match: Text portion to match + :param string $side: Position of a match + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a %LIKE% portion of the query. + Separates multiple calls with 'OR'. + + .. method:: or_not_group_start() + + :returns: DB_query_builder instance + :rtype: object + + Starts a query group, but OR NOTs the group + + .. method:: or_not_like($field[, $match = ''[, $side = 'both'[, $escape = NULL]]]) + + :param string $field: Name of field to compare + :param string $match: Text portion to match + :param string $side: Position of a match + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a NOT LIKE portion of the query. + Separates multiple calls with 'OR'. + + .. method:: or_where($key[, $value = NULL[, $escape = NULL]]) + + :param mixed $key: Name of field to compare, or associative array + :param mixed $value: If a single key, compared to this value + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates the WHERE portion of the query. + Separates multiple calls with 'OR'. + + .. method:: or_where_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + + :param string $key: The field to search + :param array $values: The values searched on + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a WHERE field IN('item', 'item') SQL query, + joined with 'OR' if appropriate. + + .. method:: or_where_not_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + + :param string $key: The field to search + :param array $values: The values searched on + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a WHERE field NOT IN('item', 'item') SQL query, + joined with 'OR' if appropriate. + + .. method:: order_by($orderby[, $direction = ''[, $escape = NULL]]) + + :param string $orderby: The field to order by + :param string $direction: The order requested - asc, desc or random + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates an ORDER BY clause in the SQL query + + .. method:: replace([$table = ''[, $set = NULL]]) + + :param string $table: The table to query + :param array $set: Associative array of insert values + :returns: DB_result, FALSE on failure + :rtype: mixed + + Compiles an replace into string and runs the query + + .. method:: reset_query() + + :rtype: void + + Publicly-visible method to reset the QB values. + + .. method:: select([$select = '*'[, $escape = NULL]]) + + :param string $select: Comma-separated list of fields to select + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates the SELECT portion of the query + + .. method:: select_avg([$select = ''[, $alias = '']]) + + :param string $select: Field to compute the average of + :param string $alias: Alias for the resulting value + :returns: DB_query_builder instance + :rtype: object + + Generates a SELECT AVG(field) portion of a query + + .. method:: select_max([$select = ''[, $alias = '']]) + + :param string $select: Field to compute the maximum of + :param string $alias: Alias for the resulting value + :returns: DB_query_builder instance + :rtype: object + + Generates a SELECT MAX(field) portion of a query + + .. method:: select_min([$select = ''[, $alias = '']]) + + :param string $select: Field to compute the minimum of + :param string $alias: Alias for the resulting value + :returns: DB_query_builder instance + :rtype: object + + Generates a SELECT MIN(field) portion of a query + + .. method:: select_sum([$select = ''[, $alias = '']]) + + :param string $select: Field to compute the sum of + :param string $alias: Alias for the resulting value + :returns: DB_query_builder instance + :rtype: object + + Generates a SELECT SUM(field) portion of a query + + .. method:: set($key[, $value = ''[, $escape = NULL]]) + + :param mixed $key: The field to be set, or an array of key/value pairs + :param string $value: If a single key, its new value + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Allows key/value pairs to be set for inserting or updating + + .. method:: set_dbprefix([$prefix = '']) + + :param string $prefix: The new prefix to use + :returns: The DB prefix in use + :rtype: string + + Set's the DB Prefix to something new without needing to reconnect + + .. method:: set_insert_batch($key[, $value = ''[, $escape = NULL]]) + + :param mixed $key: The field to be set, or an array of key/value pairs + :param string $value: If a single key, its new value + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + The "set_insert_batch" function. Allows key/value pairs to be set for batch inserts + + .. method:: set_update_batch($key[, $value = ''[, $escape = NULL]]) + + :param mixed $key: The field to be set, or an array of key/value pairs + :param string $value: If a single key, its new value + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + The "set_batch_batch" function. Allows key/value pairs to be set for batch batch + + .. method:: start_cache() + + :rtype: void + + Start DB caching + + .. method:: stop_cache() + + :rtype: void + + Stop DB caching + + .. method:: truncate([$table = '']) + + :param string $table: Name fo the table to truncate + :returns: DB_result + :rtype: object + + Compiles a truncate string and runs the query. + If the database does not support the truncate() command + This function maps to "DELETE FROM table" + + .. method:: update([$table = ''[, $set = NULL[, $where = NULL[, $limit = NULL]]]]) + + :param string $table: The table to insert data into + :param array $set: An associative array of insert values + :param string $where: WHERE clause to use + :param string $limit: LIMIT clause to use + :returns: DB_result + :rtype: object + + Compiles an update string and runs the query. + + .. method:: update_batch([$table = ''[, $set = NULL[, $value = NULL]]]) + + :param string $table: The table to update data in + :param mixed $set: The field to be set, or an array of key/value pairs + :param string $value: If a single key, its new value + :returns: DB_result + :rtype: object + + Compiles an update string and runs the query. + + .. method:: where($key[, $value = NULL[, $escape = NULL]]) + + :param mixed $key: Name of field to compare, or associative array + :param mixed $value: If a single key, compared to this value + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates the WHERE portion of the query. + Separates multiple calls with 'AND'. + + .. method:: where_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + + :param string $key: Name of field to examine + :param array $values: Array of target values + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a WHERE field IN('item', 'item') SQL query, + joined with 'AND' if appropriate. + + .. method:: where_not_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + + :param string $key: Name of field to examine + :param array $values: Array of target values + :param boolean $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a WHERE field NOT IN('item', 'item') SQL query, + joined with 'AND' if appropriate.
\ No newline at end of file |