mvcbox / sql-query
This package is abandoned and no longer maintained.
No replacement package was suggested.
Query Builder
dev-master / 0.1.x-dev
2016-07-15 06:12 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2018-07-03 08:43:52 UTC
README
SqlQuery - простой конструктор запросов. Требуемая версия PHP: 5.3+
Внимание! Описание не полное и будет постепенно дополняться.
Установка
- Скачать последнюю версию библиотеки: https://github.com/mvcbox/sql-query/archive/master.zip
- Распаковываем содержимое архива в директорию с Вашим проектом.
- Открываем файл connection.config.php и указываем свои данные для подключения. Для MySQL необходимо указать: username, password, host, dbname. Остальное, в большинстве случаев, можно оставить без изменений.
- В Вашем скрипте, где необходимо работать с базой данных, "подключаем" файл function.qb.php
require_once 'Путь к файлу function.qb.php';
У вас теперь доступна функция qb(). Библиотека готова к использованию.
Insert
Добавление одной записи в таблицу
qb()->table('table_name')->insert(array( 'column1' => 'value1', 'column2' => 'value2', 'column3' => 'value3' ));
Добавление нескольких записей в таблицу
qb()->table('table_name')->insert(array( array( 'column1' => 'value1', 'column2' => 'value2', 'column3' => 'value3' ), array( 'column1' => 'value4', 'column2' => 'value5', 'column3' => 'value6' ), array( 'column1' => 'value7', 'column2' => 'value8', 'column3' => 'value9' ) ), true);
Update
Для всех записей устанавливаем новое значение для поля column
qb()->table('table_name')->update(array( 'column' => 'New value' ));
Обновляем значение поля column для записи с id равным 123
qb()->table('table_name')->where(array( 'id' => 123 ))->update(array( 'column' => 'New value' ));
Обновляем значение поля column для записей с id 123, 456 и 789
qb()->table('table_name')->where(array( 'id' => array(123, 456, 789) ))->update(array( 'column' => 'New value' ));
Обновляем значение поля column для всех записей, кроме записи с id 777
qb()->table('table_name')->where(array( array('id', '<>', 777) ))->update(array( 'column' => 'New value' ));
Delete
Удаляем все записи в таблице
qb()->table('table_name')->delete();
Удаляем запись с определенным id
qb()->table('table_name')->where(array('id' => 123))->delete();
Truncate
Очищаем таблицу
qb()->table('table_name')->truncate();
Select
Получить все записи таблицы 'table_name'
$result = qb()->table('table_name')->all();
Получить первую запись таблицы table_name
$result = qb()->table('table_name')->one();
Получить $limit записей пропуская первые $offset записей для таблицы table_name. limit и offset можно использовать отдельно друг от друга
$result = qb()->table('table_name')->limit($limit)->offset($offset)->all();
Выборка с условием. Получить все записи таблицы table_name, у которых поле email равно email@site.com
$result = qb()->table('table_name')->where(array( 'email' => 'email@site.com' ))->all();
Получить все записи таблицы table_name, у которых поле email равно email1@site.com, или email2@site.com, или email3@site.com
$result = qb()->table('table_name')->where(array( 'email' => array( 'email1@site.com', 'email2@site.com', 'email3@site.com' ) ))->all();
Получить все записи таблицы table_name, у которых username равно testuser, email равно email@site.com, role равно 1, 2 или 3, а status НЕ равен 0
$result = qb()->table('table_name')->where(array( 'username' => 'testuser', 'email' => 'email@site.com', 'role' => array(1, 2, 3), array('status', '<>', 0) ))->all();
Выбираем для записей только поля id и username
$result = qb()->table('table_name')->select(array('id', 'username'))->all();
Выбираем для записей только поля id и username. Для username используем алиас login
$result = qb()->table('table_name')->select(array('id', 'login' => 'username'))->all();
Получить все записи таблицы 'table_name'. Для таблицы 'table_name' задаем алиас 't1'
$result = qb()->table(array('t1' => 'table_name'))->all();
INNER JOIN
$result = qb()->table(array('t1' => 'table_name_1'))->iJoin( array('t2' => 'table_name_2'), 'field_name_2', 'field_name_1' )->all();
или
$result = qb()->table(array('t1' => 'table_name_1'))->iJoin( array('t2' => 'table_name_2'), 't2.field_name_2', 't1.field_name_1' )->all();
INNER JOIN - несколько условий
$result = qb()->table(array('t1' => 'table_name_1'))->iJoin( array('t2' => 'table_name_2'), array( 'field_name_2_1' => 'field_name_1_1', 'field_name_2_2' => 'field_name_1_2' ) )->all();
или
$result = qb()->table(array('t1' => 'table_name_1'))->iJoin( array('t2' => 'table_name_2'), array( 't2.field_name_2_1' => 't1.field_name_1_1', 't2.field_name_2_2' => 't1.field_name_1_2' ) )->all();
или
$result = qb()->table(array('t1' => 'table_name_1'))->iJoin( array('t2' => 'table_name_2'), array( array('field_name_2_1', 'field_name_1_1'), array('field_name_2_2', 'field_name_1_2') ) )->all();
или
$result = qb()->table(array('t1' => 'table_name_1'))->iJoin( array('t2' => 'table_name_2'), array( array('t2.field_name_2_1', 't1.field_name_1_1'), array('t2.field_name_2_2', 't1.field_name_1_2') ) )->all();