Краткая шпаргалка по YII2

Последнее время в очередной раз вплотную занимаюсь работой с фреймворком yii2. В связи с чет сделал для себя небольшую шпаргалку.

Получение POST/GET параметров:

$request = Yii::$app->request;
$period= $request->post("period");
$period= $request->get("period");

Выполнение SQL запроса типа SELECT:

// Вариант 1
$lsa = Yii::$app->db->createCommand($sql)->queryAll();       
foreach ($lsa as $row99) {   
}
// Вариант 2
$rows = (new \yii\db\Query())->select(['id'])->from('users')->where(['login' => $login])->limit(1)->all();
foreach ($rows as $row99) {   
}

Выполнение SQL запроса типа Insert:

// Вариант 1
$res=(new \yii\db\Query())->createCommand()->insert('users', ['login' =>$username])->execute();
        if ($res==false){
            die("Не удалось вставить запись с новым пользователем..Увы и ах..");
        };   
// Вариант 2
        $sql="insert into posting_zones (area,name,coors) values ($area,concat('Зона ',(select (max(id)+1) as name from posting_zones)),'$coors')";
        $res= Yii::$app->db->createCommand($sql)->execute();       

Корневой путь YII:

$dir=Yii::$app->basePath;

Корневой URL приложение YII:

$WUO_ROOT=Yii::getAlias('@app')."/web/";

Получение параметров из файла конфигурации YII:

$params = require(__DIR__ . '/../../config/web.php');
$geo_config = \yii\helpers\ArrayHelper::getValue($params, 'params'); //всякие настройки

Данные авторизованного пользователя (шаблон basic):

Yii::$app->user->identity

Шпаргалка по работе с SQLLite на Android

1) Типы данных

ТипОписание
NULLпустое значение
INTEGERцелочисленное значение
REALзначение с плавающей точкой
TEXTстроки или символы в кодировке UTF-8, UTF-16BE или UTF-16LE
NUMERICздесь можно хранить булевы значения, а также время и дату
BLOBбинарные данные

boolean — нет. Рекомендуется использовать integer c 0 или 1

date — нет, рекомендуется хранить как текст в формате 2021-06-7T11:12.

2) Создание таблиц:

create table accounts (id integer primary key autoincrement,account text,fio text,address text,sync integer);

3) Добавление данных:

insert into accounts (id,account,address,sync) values (null,'"+account+"','"+address+"',false)

Шпаргалка по работе c MySQL

Вот сегодня столкнулся с неожиданным глюком — импортированный из одной версии phpmyadmin дамп в упор не захотел загружаться в другую версию phpmyadmin, хотя версия mysql одинаковая. Вот тут то и пригодился доступ на сервер по ssh и знание основ работы с консолью. А так, вот небольшая шпаргалка по работе с mysql из консоли:

Работа с бекапами

Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump —no-data — u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz

Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE или так zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE Создаём новую базу данных mysqladmin -u USER -pPASSWORD create NEWDATABASE Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е. mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:
-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

Для просмотра списка баз данных можно использовать команду:
mysqlshow -u USER -pPASSWORD

А так же можно посмотреть список таблиц базы:
mysqlshow -u USER -pPASSWORD DATABASE

часть текста стырена с http://habrahabr.ru/post/105954/

UPDATE 26/02/2014
Удаление всех таблиц в базе данных, 3 способа: