This book presents a data-driven approach to constrained control in the form of a subspace-based state-space system identification algorithm integrated into a model predictive controller. Previous research into this area focused on the system identification aspects resulting in an omission of many of the features that would make such a control strategy attractive to industry. These features include constraint handling, zero-offset set-point tracking and non-stationary disturbance rejection. Parameterisation with Laguerre orthonormal functions was proposed for the reduction in computational load of the controller. Simulation studies were performed using three real-world systems demonstrating: identification capabilities in the presence of white noise and non-stationary disturbances; unconstrained and constrained control; and the benefits and costs of parameterisation with Laguerre polynomials. The discussed algorithms have also been presented in Matlab code.