Тактически:
Как минимум, передавать в каждый метод $db - криво, $db лучше сделать приватным и инициировать в конструкторе.
Ну и запросы небезопасные, выше отмечали.
Стратегически:
Такой класс пишет почти любой начинающий программист. И он никакой пользы не несёт обычно, ибо непонятно, зачем вообще этот класс.
Если синтаксический сахарок - спасибо, мне такого не надо.
Если какой-то уровень абстракции, то нужен не класс "для работы с БД", а ORM.
Если ORM - имело бы смысл хотя бы чтобы insert и update принимали одинаковый массив [field => value], а update и delete - PK изменяемой/удаляемой записи вместо $where.
А ещё, почитайте доку по
Laravel 5 и/или
Yii2, узнаете много полезного и, видимо, нового для вас.