Since v0.4
Create a view from SELECT query
$query->select('users')
->where([['email', 'is null'], 'or', ['email', '']])
->createView('users_no_email')
->go();
Result query
CREATE VIEW IF NOT EXISTS `users_no_email` AS SELECT * FROM `users` WHERE (`email` IS NULL) OR (`email` = '');
One more example
$query->select('users')
->isNull('email')
->createView('users_no_email')
->go();
Result query
CREATE VIEW IF NOT EXISTS `users_no_email` AS SELECT * FROM `users` WHERE (`email` IS NULL);
- Without
IF EXISTS
$query->select('users')
->isNull('email')
->createView('users_no_email', false)
->go();
Result query
CREATE VIEW `users_no_email` AS SELECT * FROM `users` WHERE (`email` IS NULL);
- Drop a view
$query->dropView('users_no_email')->go();
Result query
DROP VIEW IF EXISTS `users_no_email`;
- Without
IF EXISTS
$query->dropView('users_no_email', false)->go();
Result query
DROP VIEW `users_no_email`;