SQL

[!] SQL MySQL Онлайн-Справочник - примеры кода запросов

Forums:

Данный раздел пополнен в основном благодаря IFF/

С чего начать

  1. Как начать изучать SQL
  2. MySQL и Клиент-серверная архитектура

Теория и базовые понятия:

mysql Вывести версию движка engine таблицы, все таблицы - в терминале, консоли SQL (MYSQL SHOW TABLES)

Forums:

Используйте команду (после выбора конкретной БД):

MYSQL SHOW TABLES

Или для конкретной таблицы:

SHOW TABLE STATUS WHERE Name = 'xxx';

mysql view Смена владельца представления (DEFINER)

Forums:

Судя по всему надо определить то же самое представление заново, т.е. если было так:

CREATE DEFINER = "Bogus" VIEW JustCity AS SELECT city FROM us;

То можно переделать DEFINER-а (условный "владелец"), на:

ALTER DEFINER = 'root'@'localhost' VIEW JustCity 
   AS SELECT city FROM us;

Теперь у нас дефайнером стал 'root' подключающийся с 'localhost', а не "Bogus" как раньше.

Источник: https://forums.mysql.com/read.php?10,429...

mysql DELETE WHERE -- пример SQL запроса на удаление данных

Forums:

Удаляем записи из таблицы пользователей -- те, где статус не равен 10-ти:

DELETE  FROM site_user WHERE `status` <> 10;

Разношерстные вызовы в mysql

В объекте Model столкнулся с тем, что в одном sql-запросе применялось 2 разных способа "вписывания" переменных в тело запроса:

SELECT * FROM $tableName where id = :id

Прокомментируйте, пожалуйста, почему в одном случае мы используем переменную напрямую - $tableName, а в другом через функцию bindValue - :id;

Пример выше взят из функции getById из этого файла (строка 86): https://github.com/it-for-free/SimpleMVC...

yii2 Вложенные множественные модели (sql) на одной форме как с ними работать

Про mongodb мы уже говорили, теперь посмотрим какие варианты у нас есть для sql (напр. mysql)

Частично о множественных моделях на форме говорит и официальная документация, но это не совсем то, что нам надо.

Проблемы реализации:

Как именно формировать атрибут name во вложенном списке моделей (например список Фотографий в Альбоме) - с этим же тесно связана проблема возврата ошибки.

sql Многие ко многим -- JOIN, HAVING, COUNT (Пример для mysql)

Forums:

Задача была (из списка задач с собеседований):

У книги и авторы, одну книгу могут писать несколько авторов и, конечно же, один автор может написать много книг (это "многие ко многим", потому через 3 таблицы).
Напишите запрос, который выведет названия книг написанных ровно двумя авторами.

yii2 ActiveRecord findOne c условием LIKE -- пример кода

Проблему (добавления like условия в запрос) удалось решить, используя код, вида:

$command = static::find()->filterWhere(
  ['LIKE', 'verify_code', "$token"]
);
$User = $command->one();

sql GROUP BY -- Достать результаты суммирования, в виде ассоциативного массива -- пример запроса

Forums:

Задача

Есть таблица Sale с полями id, amount, shop_id.
Нам нужно достать сумму сумм(amount), отдельно по каждому магазину(shop_id).
Как сделать это в одном sql-запросе?

Запрос

SELECT SUM(amount) FROM `sale` 
    WHERE shop_id IN (1,2,3,4,5)
    GROUP BY shop_id;

В результате мы получим массив, в котором ключами будут shop_id, а значениями - результат функции SUM() всех amount из строк с соответствующим shop_id.

mysql Переименование таблицы -- пример SQL

Forums:

Можно так:

RENAME TABLE `user` TO `site_user`;

Pages

Subscribe to RSS - SQL