Represents a database statement. Statements contains queries that can be
executed multiple times by binding different values on each call. This class
also helps convert values to their valid representation for the corresponding
types.