Type mappings¶
PostgreSQL¶
When introspecting a PostgreSQL database, the database types are mapped to PySQLXEngine according to the following table:
| PostgreSQL (Type / Aliases) | Python | Supported | 
|---|---|---|
| bigint / int8 | int | ✔️ | 
| boolean / bool | bool | ✔️ | 
| timestamp with time zone / timestamptz | datetime | ✔️ | 
| time without time zone / time | time | ✔️ | 
| time with time zone / timetz | time | ✔️ | 
| numeric(p,s) / decimal(p,s) | decimal | ✔️ | 
| real / float, float4 | float | ✔️ | 
| double precision / float8 | float | ✔️ | 
| smallint / int2 | int | ✔️ | 
| integer / int, int4 | int | ✔️ | 
| smallserial / serial2 | int | ✔️ | 
| serial / serial4 | int | ✔️ | 
| bigserial / serial8 | int | ✔️ | 
| character(n) / char(n) | str | ✔️ | 
| character varying(n) / varchar(n) | str | ✔️ | 
| money | decimal | ✔️ | 
| text | str | ✔️ | 
| timestamp | datetime | ✔️ | 
| date | date | ✔️ | 
| enum | str | ✔️ | 
| inet | str | ✔️ | 
| bit(n) | str | ✔️ | 
| bit varying(n) | str | ✔️ | 
| oid | int | ✔️ | 
| uuid | uuid | ✔️ | 
| json | dict/list | ✔️ | 
| jsonb | dict/list | ✔️ | 
| bytea | bytes | ✔️ | 
| xml | str | ✔️ | 
| Array types | tuple | ✔️ | 
| citext | str | ✔️ | 
| interval | Unsupported | Not yet | 
| cidr | Unsupported | Not yet | 
| macaddr | Unsupported | Not yet | 
| tsvector | Unsupported | Not yet | 
| tsquery | Unsupported | Not yet | 
| int4range | Unsupported | Not yet | 
| int8range | Unsupported | Not yet | 
| numrange | Unsupported | Not yet | 
| tsrange | Unsupported | Not yet | 
| tstzrange | Unsupported | Not yet | 
| daterange | Unsupported | Not yet | 
| point | Unsupported | Not yet | 
| line | Unsupported | Not yet | 
| lseg | Unsupported | Not yet | 
| box | Unsupported | Not yet | 
| path | Unsupported | Not yet | 
| polygon | Unsupported | Not yet | 
| circle | Unsupported | Not yet | 
| Composite types | n/a | Not yet | 
| Domain types | n/a | Not yet | 
MySQL¶
When introspecting a MySQL database, the database types are mapped to PySQLXEngine according to the following table:
| MySQL (Type / Aliases) | Python | Supported | 
|---|---|---|
| serial | int | ✔️ | 
| bigint | int | ✔️ | 
| bigint unsigned | int | ✔️ | 
| bit | bytes | ✔️ | 
| boolean | tinyint(1) | bool | ✔️ | 
| varbinary | bytes | ✔️ | 
| longblob | bytes | ✔️ | 
| tinyblob | bytes | ✔️ | 
| mediumblob | bytes | ✔️ | 
| blob | bytes | ✔️ | 
| binary | bytes | ✔️ | 
| date | datetime | ✔️ | 
| datetime | datetime | ✔️ | 
| timestamp | datetime | ✔️ | 
| time | time | ✔️ | 
| decimal(a,b) | decimal | ✔️ | 
| numeric(a,b) | decimal | ✔️ | 
| enum | str | ✔️ | 
| float | float | ✔️ | 
| double | float | ✔️ | 
| smallint | int | ✔️ | 
| smallint unsigned | int | ✔️ | 
| mediumint | int | ✔️ | 
| mediumint unsigned | int | ✔️ | 
| int | int | ✔️ | 
| int unsigned | int | ✔️ | 
| tinyint | int | ✔️ | 
| tinyint unsigned | int | ✔️ | 
| year | int | ✔️ | 
| json | dict/list | ✔️ | 
| char | str | ✔️ | 
| varchar | str | ✔️ | 
| tinytext | str | ✔️ | 
| text | str | ✔️ | 
| mediumtext | str | ✔️ | 
| longtext | str | ✔️ | 
| set | Unsupported | Not yet | 
| geometry | Unsupported | Not yet | 
| point | Unsupported | Not yet | 
| linestring | Unsupported | Not yet | 
| polygon | Unsupported | Not yet | 
| multipoint | Unsupported | Not yet | 
| multilinestring | Unsupported | Not yet | 
| multipolygon | Unsupported | Not yet | 
| geometrycollection | Unsupported | Not yet | 
Microsoft SQL Server¶
When introspecting a Microsoft SQL Server database, the database types are mapped to PySQLXEngine according to the following table:
| Microsoft SQL Server | Python | Supported | 
|---|---|---|
| char | str | ✔️ | 
| nchar | str | ✔️ | 
| varchar | str | ✔️ | 
| nvarchar | str | ✔️ | 
| text | str | ✔️ | 
| ntext | str | ✔️ | 
| xml | str | ✔️ | 
| uniqueidentifier | uuid | ✔️ | 
| tinyint | bool | ✔️ | 
| bit | bool | ✔️ | 
| int | int | ✔️ | 
| smallint | int | ✔️ | 
| tinyint | int | ✔️ | 
| bit | int | ✔️ | 
| bigint | int | ✔️ | 
| decimal/numeric | decimal | ✔️ | 
| money | decimal | ✔️ | 
| date | date | ✔️ | 
| time | time | ✔️ | 
| datetime | datetime | ✔️ | 
| datetime2 | datetime | ✔️ | 
| smalldatetime | datetime | ✔️ | 
| datetimeoffset | datetime | ✔️ | 
| binary | bytes | ✔️ | 
| varbinary | bytes | ✔️ | 
| image | bytes | ✔️ | 
SQLite¶
When introspecting a SQLite database, the database types are mapped to PySQLXEngine according to the following table:
| SQLite (Type / Aliases) | Python | Supported | 
|---|---|---|
| TEXT | str | ✔️ | 
| BOOLEAN | bool | ✔️ | 
| INTEGER | int | ✔️ | 
| NUMERIC | decimal | ✔️ | 
| REAL | float | ✔️ | 
| DECIMAL | decimal | ✔️ | 
| BLOB | bytes | ✔️ |