The following table illustrates 5 storage classes in SQLite:
|NULL values mean missing information or unknown.
|Integer values are whole numbers (either positive or negative). An integer can have variable sizes such as 1, 2,3, 4, or 8 bytes.
|Real values are real numbers with decimal values that use 8-byte floats.
|TEXT is used to store character data. The maximum length of TEXT is unlimited. SQLite supports various character encodings.
|BLOB stands for a binary large object that can be used to store any kind of data. The maximum size of BLOBs is unlimited.
Based on the format of a value, SQLite determines its data type based on the following rules:
- If a literal has no enclosing quotes and decimal point or exponent, SQLite assigns the INTEGER storage class.
- If a literal is enclosed by single or double quotes, SQLite assigns the TEXT storage class.
- If a literal does not have quote nor decimal point nor exponent, SQLite assigns REAL storage class.
- If a literal is NULL without quotes, it assigned NULL storage class.
- If a literal has the X’ABCD’ or x ‘abcd’, SQLite assigned BLOB storage class.