SQLite uses a more general dynamic type system. In SQLite, the datatype of a value is associated with the value itself, not with its container. The dynamic type system of SQLite is backwards compatible with the more common static type systems of other database engines in the sense that SQL statement that work on statically typed databases should work the same way in SQLite. However, the dynamic typing in SQLite allows it to do things which are not possible in traditional rigidly typed databases.
So in MS Sql Server (for example), an “int” == “integer” == 4 bytes/32 bits.
In contrast, a SqlLite “integer” can hold whatever you put into it: from a 1-byte char to an 8-byte long long.