The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
Maintainer | First public release date | Latest stable version | Latest release date | License | Public issues list | |
---|---|---|---|---|---|---|
4D (4th Dimension) | 4D S.A.S. | 1984 | v16.0 | 2017-01-10 [1] | Proprietary | No |
ADABAS | Software AG | 1970 | 8.1 | 2013-06 | Proprietary | No |
Adaptive Server Enterprise | SAP AG | 1987 | 16.0 SP03 PL07 | 2019-06-10 | Proprietary | No |
Advantage Database Server (ADS) | SAP AG | 1992 | 12.0 | 2015 | Proprietary | No |
Altibase | Altibase Corp. | 2000 | 7.1.0.1.2 | 2018-03-02 | Proprietary | No |
Apache Derby | Apache | 2004 | 10.17.1.0 [2] | 2023-11-14 | Apache License | Yes [3] |
ClustrixDB | MariaDB Corporation | 2010 | v7.0 | 2015-08-19 | Proprietary | No |
CockroachDB | Cockroach Labs | 2015 | v20.2.8 | 2021-04-23 | BSL,CCL,MIT,BSD | Yes [4] |
CUBRID | CUBRID | 2008-11 | 11.2.3 | 2023-01-31 | Apache License 2.0, BSD license for APIs and GUI tools | Yes [5] |
Datacom | CA, Inc. | Early 70s [6] | 14 [7] | 2012 [8] | Proprietary | No |
IBM Db2 | IBM | 1983 | 12.1 [9] | 2024-11-14; 34 days ago | Proprietary | No |
Empress Embedded Database | Empress Software Inc | 1979 | 10.20 | 2010-03 | Proprietary | No |
Exasol | EXASOL AG | 2004 | 7.1.1 | 2021-09-15; 3 years ago | Proprietary | No |
FileMaker | FileMaker, Inc., an Apple subsidiary | 1985-04 | 19 | 2020-05-20 | Proprietary | No |
Firebird | Firebird project | 2000-07-25 | 5.0.1 [10] | 2024-08-02; 4 months ago | IPL [11] and IDPL [12] | Yes [13] |
GPUdb | GIS Federal | 2014 | 3.2.5 | 2015-01-14 | Proprietary | No |
HSQLDB | HSQL Development Group | 2001 | 2.6.1 | 2021-10-21 | BSD | Yes [14] |
H2 | H2 Software | 2005 | 2.1.214 | 2022-06-13 | EPL and modified MPL | Yes [15] |
Informix Dynamic Server | IBM / HCL Technologies | 1980 | 15.0.0.0 | 2024-11-20 | Proprietary | No |
Ingres | Actian | 1974 | 11.2 [16] | 2022-05-06 | GPL and Proprietary | No |
InterBase | Embarcadero Technologies | 1984 | XE7 v12.0.4.357 | 2015-08-12 | Proprietary | No |
Linter SQL RDBMS | RELEX Group | 1990 | 6.0.17.53 | 2018-02-15 | Proprietary | Yes [17] |
LucidDB | The Eigenbase Project | 2007-01 | 0.9.4 | 2012-01-05 | GPL v2 | No |
MariaDB | MariaDB Community | 2010-02-01 | 11.6.2 [18] | 2024-11-21; 27 days ago | GPL v2, LGPL (for client-libraries) [19] | Yes [20] |
MaxDB | SAP AG | 2003-05 | 7.9.0.8 | 2014 | Proprietary | Yes [21] |
SingleStore (formerly MemSQL) | SingleStore | 2012-06 | 7.1.11 | 2020-10-12 | Proprietary | No |
Microsoft Access (JET) | Microsoft | 1992 | 16 (2016) | 2015-09-22 | Proprietary | No |
Microsoft Visual Foxpro | Microsoft | 1984 | 9 (2005) | 2007-10-11 | Proprietary | No |
Microsoft SQL Server | Microsoft | 1989 | 2022 [22] | 2022-11-16; 2 years ago | Proprietary | No |
Microsoft SQL Server Compact (Embedded Database) | Microsoft | 2000 | 2011 (v4.0) | Proprietary | No | |
Mimer SQL | Mimer Information Technology | 1978 | 11.0.8E | 2024-10-22 | Proprietary | No |
MonetDB | MonetDB Foundation [23] | 2004 | Aug2024 [24] | 2024-08-26 | Mozilla Public License, version 2.0 [25] | Yes [26] |
mSQL | Hughes Technologies | 1994 | 4.1 [27] | 2017-06-30 | Proprietary | No |
MySQL | Oracle Corporation | 1995-11 | 8.0.38 [28] | 2024-10-15; 2 months ago | GPL v2 or Proprietary | Yes [29] |
NexusDB | NexusDB Pty Ltd | 2003 | 4.00.14 | 2015-06-25 | Proprietary | No |
HPE NonStop SQL | Hewlett Packard Enterprise | 1987 | SQL/MX 3.4 | Proprietary | No | |
NuoDB | NuoDB | 2013 | 4.1 | 2020-08 | Proprietary | No |
Omnis Studio | TigerLogic Inc | 1982-07 | 6.1.3 Release 1no | 2015-12 | Proprietary | No |
OpenEdge | Progress Software Corporation | 1984 | 12.8 | 2024-1 | Proprietary | No |
OpenLink Virtuoso | OpenLink Software | 1998 | 7.2.5.1 | 2018-08-15 | GPL v2 or Proprietary | Yes [30] |
Oracle DB | Oracle Corporation | 1979-11 | 23ai [31] | 2023-09-19; 14 months ago | Proprietary | No |
Oracle Rdb | Oracle Corporation | 1984 | 7.4.1.1 [32] | 2021-04-21 [±] | Proprietary | No |
Paradox | Corel Corporation | 1985 | 11 | 2009-09-07 | Proprietary | No |
Percona Server for MySQL | Percona | 2006 | 8.0.37-29 | 2024-08-06 [±] | GPL v2 | Yes |
Actian Zen (PSQL) | Actian | 1982 | v15 | 2021 | Proprietary | No |
Polyhedra DBMS | ENEA AB | 1993 | 9.0 | 2015-06-24 | Proprietary, with Polyhedra Lite available as Freeware [33] | No |
PostgreSQL | PostgreSQL Global Development Group | 1989-06 | 17.2 | 2024-11-21 [34] | Postgres License [35] | No [36] |
R:Base | R:BASE Technologies | 1982 | 10.0 | 2016-05-26 | Proprietary | No |
SAP HANA | SAP AG | 2010 | 2.0 SPS04 | 2019-08-08 | Proprietary | No |
solidDB | UNICOM Global | 1992 | 7.0.0.10 | 2014-04-29 | Proprietary | No |
SQL Anywhere | SAP AG | 1992 | 17.0.0.48 | 2019-07-26 | Proprietary | No |
SQLBase | Unify Corp. | 1982 | 11.5 | 2008-11 | Proprietary | No |
SQLite | D. Richard Hipp | 2000-09-12 | 3.47.2 [37] | 2024-12-07; 11 days ago | Public domain | Yes [38] |
SQream DB | SQream Technologies | 2014 | 2.1 [39] | 2018-01-15 | Proprietary | No |
Superbase | Superbase | 1984 | Classic | 2003 | Proprietary | No |
Superbase NG | Superbase NG | 2002 | Superbase NG 2.10 | 2017 | Proprietary | Yes [40] |
Teradata | Teradata | 1984 | 15 | 2014-04 | Proprietary | No |
TiDB | PingCAP Inc. | 2016 | 8.4.0 [41] | 2024-11-11; 37 days ago | Apache License | Yes [42] |
UniData | Rocket Software | 1988 | 8.2.1 | 2017-07 | Proprietary | No |
YugabyteDB | Yugabyte, Inc. | 2018 | 2.20.1.3 [43] | 2024-01-25 [±] | Apache License | Yes [44] |
Maintainer | First public release date | Latest stable version | Latest release date | License | Public issues list |
The operating systems that the RDBMSes can run on.
Windows | macOS | Linux | BSD | UNIX | AmigaOS | z/OS | OpenVMS | iOS | Android | |
---|---|---|---|---|---|---|---|---|---|---|
4th Dimension | Yes | Yes | No | No | No | No | No | No | No | No |
ADABAS | Yes | No | Yes | No | Yes | No | Yes | No | No | No |
Adaptive Server Enterprise | Yes | No | Yes | Yes | Yes | No | No | No | No | No |
Advantage Database Server | Yes | No | Yes | No | No | No | No | No | No | No |
Altibase | Yes | No | Yes | No | Yes | No | No | No | No | No |
Apache Derby | Yes | Yes | Yes | Yes | Yes | No | Yes | No | ? | No |
ClustrixDB | No | No | Yes | No | Yes | No | No | No | No | No |
CockroachDB | Yes | Yes | Yes | No | No | No | No | No | No | No |
CUBRID | Yes | Partial | Yes | No | No | No | No | No | No | No |
IBM Db2 | Yes | Yes | Yes | No | Yes | No | Yes | No | Yes | No |
Empress Embedded Database | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes |
EXASolution | No | No | Yes | No | No | No | No | No | No | No |
FileMaker | Yes | Yes | Yes | No | No | No | No | No | Yes | No |
Firebird | Yes | Yes | Yes | Yes | Yes | No | Maybe | No | Yes [45] | No |
HSQLDB | Yes | Yes | Yes | Yes | Yes | No | Yes | No | ? | ? |
H2 | Yes | Yes | Yes | Yes | Yes | No | Yes | No | ? | Yes |
Informix Dynamic Server | Yes | No | Yes | No | Yes (AIX) | No | No | No | No | No |
Ingres | Yes | Yes | Yes | Yes | Yes | No | Partial | Yes [46] | No | No |
InterBase | Yes | Yes | Yes | No | Yes (Solaris) | No | No | No | Yes | Yes |
Linter SQL RDBMS | Yes | Yes | Yes | Yes | Yes | No | Under Linux on IBM Z | Yes | Yes | Yes |
LucidDB | Yes | Yes | Yes | No | No | No | No | No | No | No |
MariaDB | Yes | Yes [47] | Yes | Yes | Yes | No | No | No | ? | Yes [48] |
MaxDB | Yes | No | Yes | No | Yes | No | Maybe | No | No | No |
Microsoft Access (JET) | Yes | No | No | No | No | No | No | No | No | No |
Microsoft Visual Foxpro | Yes | No | No | No | No | No | No | No | No | No |
Microsoft SQL Server | Yes | No | Yes [49] | No | No | No | No | No | No | No |
Microsoft SQL Server Compact (Embedded Database) | Yes | No | No | No | No | No | No | No | No | No |
Mimer SQL | Yes | Yes | Yes | No | Yes | No | No | Yes [50] | No | Yes |
MonetDB | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No |
MySQL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? | Yes [51] |
Omnis Studio | Yes | Yes | Yes | No | No | No | No | No | No | No |
OpenEdge | Yes | No | Yes | No | Yes | No | No | No | No | No |
OpenLink Virtuoso | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No |
Oracle | Yes | Yes | Yes | No | Yes | No | Yes | Yes | No | No |
Oracle Rdb | No | No | No | No | No | No | No | Yes | No | No |
Actian Zen (PSQL) | Yes | Yes (OEM only) | Yes | No | No | No | No | No | Yes | Yes |
Polyhedra | Yes | No | Yes | No | Yes | No | No | No | No | No |
PostgreSQL | Yes | Yes | Yes | Yes | Yes | Yes (MorphOS) [52] | Under Linux on IBM Z [53] | No | No | Yes |
R:Base | Yes | No | No | No | No | No | No | No | No | No |
SAP HANA | Yes | No | Yes | No | No | No | No | No | No | No |
solidDB | Yes | No | Yes | No | Yes | No | Under Linux on IBM Z | No | No | No |
SQL Anywhere | Yes | Yes | Yes | No | Yes | No | No | No | No | Yes |
SQLBase | Yes | No | Yes | No | No | No | No | No | No | No |
SQLite | Yes | Yes | Yes | Yes | Yes | Yes | Maybe | No | Yes | Yes |
SQream DB | No | No | Yes | No | No | No | No | No | No | No |
Superbase | Yes | No | No | No | No | Yes | No | No | No | No |
Superbase NG | Yes | No | Yes | No | No | No | No | No | No | No |
Teradata | Yes | No | Yes | No | Yes | No | No | No | No | No |
TiDB | Yes | Yes | Yes | Partial | No | No | No | No | No | No |
UniData | Yes | No | Yes | No | Yes | No | No | No | No | No |
UniVerse | Yes | No | Yes | No | Yes | No | No | No | No | No |
YugabyteDB | Yes | Yes | Yes | No | No | No | No | No | No | No |
Windows | macOS | Linux | BSD | UNIX | AmigaOS | z/OS | OpenVMS | iOS | Android |
Information about what fundamental RDBMS features are implemented natively.
Database Name | ACID | Referential integrity | Transactions | Fine-grained locking | Multiversion concurrency control | Unicode | Interface | Type inference |
---|---|---|---|---|---|---|---|---|
4th Dimension | Yes | Yes | Yes | ? | ? | Yes | GUI & SQL | Yes |
ADABAS | Yes | No | Yes | ? | ? | Yes | proprietary direct call & SQL (via 3rd party) | Yes |
Adaptive Server Enterprise | Yes | Yes | Yes | Yes (Row-level locking) | Yes | Yes | API & GUI & SQL | Yes |
Advantage Database Server | Yes | Yes | Yes | Yes (Row-level locking) | ? | Yes 4 | API & SQL | Yes |
Altibase | Yes | Yes | Yes | Yes (Row-level locking) | ? | Yes | API & GUI & SQL | Yes |
Apache Derby | Yes | Yes | Yes | Yes (Row-level locking) [54] | ? | Yes | SQL | Yes |
ClustrixDB | Yes | Yes | Yes | Yes | Yes | Yes | SQL | Yes |
CockroachDB | Yes | Yes | Yes | Yes (Row-level locking) | Yes | Yes | SQL | No |
CUBRID | Yes | Yes | Yes | Yes (Row-level locking) | Yes | Yes | GUI & SQL | Yes |
IBM Db2 | Yes | Yes | Yes | Yes (Row-level locking) [55] | ? | Yes | GUI & SQL | Yes |
Empress Embedded Database | Yes | Yes | Yes | ? | ? | Yes | API & SQL | Yes |
EXASolution | Yes | Yes | Yes | ? | ? | Yes | API & GUI & SQL | Yes |
Firebird | Yes | Yes | Yes | ? | Yes | Yes | API & SQL | Yes |
HSQLDB | Yes | Yes | Yes | ? | Yes | Yes | SQL | Yes |
H2 | Yes | Yes | Yes | ? | Yes [56] | Yes | SQL | Yes |
Informix Dynamic Server | Yes | Yes | Yes | Yes (Row-level locking) | Yes | Yes | SQL, REST, MQ, and JSON | Yes |
Ingres | Yes | Yes | Yes | Yes (Row-level locking) | Yes | Yes | SQL & QUEL | Yes |
InterBase | Yes | Yes | Yes | ? | ? | Yes | SQL | Yes |
Linter SQL RDBMS | Yes | Yes | Yes (Except for DDL) | Yes (Row-level locking) | ? | Yes | API & GUI & SQL | Yes |
LucidDB | Yes | No | No | ? | ? | Yes | SQL | Yes |
MariaDB | Yes 2 | Yes | Yes 2 except for DDL [57] [58] | Yes (Row-level locking) | Yes | Yes | SQL | Yes |
MaxDB | Yes | Yes | Yes | ? | ? | Yes | SQL | Yes |
Microsoft Access (JET) | Yes | Yes | Yes | ? | ? | Yes | GUI & SQL | Yes |
Microsoft Visual FoxPro | Yes | Yes | Yes | Yes (Row-level locking SMB2) | Yes | No | GUI & SQL | Yes |
Microsoft SQL Server | Yes | Yes | Yes | Yes (Row-level locking) [59] | Yes | Yes | GUI & SQL | Yes |
Microsoft SQL Server Compact (Embedded Database) | Yes | Yes | Yes | ? | ? | Yes | GUI & SQL | Yes |
Mimer SQL | Yes | Yes | Yes | Yes (Optimistic locking) | Yes | Yes | API & GUI & SQL | Yes |
MonetDB | Yes | Yes | Yes | ? | ? | Yes | API & SQL & MAL | Yes |
MySQL | Yes 2 | Yes 3 | Yes 2 except for DDL [57] | Yes (Row-level locking) [60] | Yes | Yes | GUI 5 & SQL | Yes |
OpenEdge | Yes | Yes 6 | Yes | Yes (Row-level locking) | ? | Yes | GUI & SQL | Yes |
OpenLink Virtuoso | Yes | Yes | Yes | ? | ? | Yes | API & GUI & SQL | Yes |
Oracle | Yes | Yes | Yes except for DDL [57] | Yes (Row-level locking) [61] | Yes | Yes | API & GUI & SQL | Yes |
Oracle Rdb | Yes | Yes | Yes | ? | ? | Yes | SQL | Yes |
Actian Zen (PSQL) | Yes | Yes | Yes | ? | ? | Yes | API & GUI & SQL | Yes |
Polyhedra DBMS | Yes | Yes | Yes | Yes (optimistic and pessimistic cell-level locking) [62] | ? | Yes | API & SQL | Yes |
PostgreSQL | Yes | Yes | Yes | Yes (Row-level locking) [63] | Yes | Yes | API & GUI & SQL | No [64] |
SAP HANA | Yes | Yes | Yes | Yes (Row-level locking) | Yes | Yes | API & GUI & SQL | Yes |
solidDB | Yes | Yes | Yes | Yes (Row-level locking) | ? | Yes | API & SQL | Yes |
SQL Anywhere | Yes | Yes | Yes | Yes (Row-level locking) [65] | Yes [66] | Yes | API & GUI & HTTP(S) (REST & SOAP) [67] & SQL | Yes |
SQLBase | Yes | Yes | Yes | ? | ? | Yes | API & GUI & SQL | Yes |
SQLite | Yes | Yes | Yes | No (Database-level locking) [68] | No | Optional [69] | API & SQL | Yes |
Superbase NG | ? | ? | ? | Yes (Record-level locking) | ? | Yes | GUI & Proprietary & ODBC | Yes |
Teradata | Yes | Yes | Yes | Yes (Hash and Partition) | ? | Yes | SQL | Yes |
TiDB | Yes | Yes | Yes except for DDL [57] | Yes (Row-level locking) [70] | Yes | Yes | GUI 5 & SQL | Yes |
UniData | Yes | No | Yes | ? | ? | Yes | Multiple | Yes |
UniVerse | Yes | No | Yes | ? | ? | Yes | Multiple | Yes |
Database Name | ACID | Referential integrity | Transactions | Fine-grained locking | Multiversion concurrency control | Unicode | Interface | Type inference |
Information about data size limits.
Max DB size | Max table size | Max row size | Max columns per row | Max Blob/Clob size | Max CHAR size | Max NUMBER size | Min DATE value | Max DATE value | Max column name size | |
---|---|---|---|---|---|---|---|---|---|---|
4th Dimension | Limited | ? | ? | 65,135 | 200 GB (2 GiB Unicode) | 200 GB (2 GiB Unicode) | 64 bits | ? | ? | ? |
Advantage Database Server | Unlimited | 16 EiB | 65,530 B | 65,135 / (10+ AvgFieldNameLength) | 4 GiB | ? | 64 bits | ? | ? | 128 |
Apache Derby | Unlimited | Unlimited | Unlimited | 1,012 (5,000 in views) | 2,147,483,647 chars | 254 (VARCHAR: 32,672) | 64 bits | 0001-01-01 | 9999-12-31 | 128 |
ClustrixDB | Unlimited | Unlimited | 64 MB on Appliance, 4 MB on AWS | ? | 64 MB | 64 MB | 64 MB | 0001-01-01 | 9999-12-31 | 254 |
CUBRID | 2 EB | 2 EB | Unlimited | Unlimited | Unlimited | 1 GB | 64 bits | 0001-01-01 | 9999-12-31 | 254 |
IBM DB2 | Unlimited | 2 ZB | 1,048,319 B | 1,012 | 2 GB | 32 KiB | 64 bits | 0001-01-01 | 9999-12-31 | 128 |
Empress Embedded Database | Unlimited | 263−1 bytes | 2 GB | 32,767 | 2 GB | 2 GB | 64 bits | 0000-01-01 | 9999-12-31 | 32 |
EXASolution | Unlimited | Unlimited | Unlimited | 10,000 | — | 2 MB | 128 bits | 0001-01-01 | 9999-12-31 | 256 |
FileMaker | 8 TB | 8 TB | 8 TB | 256,000,000 | 4 GB | 10,000,000 | 1 billion characters, 10−400 to 10400, ± | 0001-01-01 | 4000-12-31 | 100 |
Firebird | Unlimited 1 | ≈32 TB | 65,536 B | Depends on data types used | 32 GB | 32,767 B | 64 bits | 100 | 32768 | 31 |
HSQLDB | 64 TB | Unlimited 8 | Unlimited 8 | Unlimited 8 | 64 TB 7 | Unlimited 8 | Unlimited 8 | 0001-01-01 | 9999-12-31 | 128 |
H2 | 64 TB | Unlimited 8 | Unlimited 8 | Unlimited 8 | 64 TB 7 | Unlimited 8 | 64 bits | -99999999 | 99999999 | Unlimited 8 |
Max DB size | Max table size | Max row size | Max columns per row | Max Blob/Clob size | Max CHAR size | Max NUMBER size | Min DATE value | Max DATE value | Max column name size | |
Informix Dynamic Server | ≈0.5 YB 12 | ≈0,5YB 12 | 32,765 bytes (exclusive of large objects) | 32,765 | 4 TB | 32,765 14 | 10125 13 | 01/01/0001 10 | 12/31/9999 | 128 bytes |
Ingres | Unlimited | Unlimited | 256 KB | 1,024 | 2 GB | 32 000 B | 64 bits | 0001 | 9999 | 256 |
InterBase | Unlimited 1 | ≈32 TB | 65,536 B | Depends on data types used | 2 GB | 32,767 B | 64 bits | 100 | 32768 | 31 |
Linter SQL RDBMS | Unlimited | 230 rows | 64 KB (w/o BLOBs), 2GB (each BLOB value) | 250 | 2 GB | 4000 B | 64 bits | 0001-01-01 | 9999-12-31 | 66 |
MariaDB | Unlimited | MyISAM storage limits: 256 TB; Innodb storage limits: 64 TB; Aria storage limits: ??? | 64 KB 3 | 4,096 4 | 4 GB (longtext, longblob) | 64 KB (text) | 64 bits | 1000 | 9999 | 64 [74] |
Microsoft Access (JET) | 2 GB | 2 GB | 16 MB | 255 | 64 KB (memo field), 1 GB ("OLE Object" field) | 255 B (text field) | 32 bits | 0100 | 9999 | 64 |
Microsoft Visual Foxpro | Unlimited | 2 GB | 65,500 B | 255 | 2 GB | 16 MB | 32 bits | 0001 | 9999 | 10 |
Microsoft SQL Server | 524,272 TB (32 767 files × 16 TB max file size) 16ZB per instance | 524,272 TB | 8,060 bytes / 2 TB 6 | 1,024 / 30,000(with sparse columns) | 2 GB / Unlimited (using RBS/FILESTREAM object) | 2 GB 6 | 126 bits 2 | 0001 | 9999 | 128 |
Microsoft SQL Server Compact (Embedded Database) | 4 GB | 4 GB | 8,060 bytes | 1024 | 2 GB | 4000 | 154 bits | 0001 | 9999 | 128 |
Mimer SQL | Unlimited | Unlimited | 16000 (+lob data) | 252 | Unlimited | 15000 | 45 digits | 0001-01-01 | 9999-12-31 | 128 |
MonetDB | Unlimited | Unlimited | Unlimited | Unlimited | 2 GB | 2 GB | 128 bits | -4712-01-01 | 9999-12-31 | 1024 |
MySQL | Unlimited | MyISAM storage limits: 256 TB; Innodb storage limits: 64 TB | 64 KB 3 | 4,096 4 | 4 GB (longtext, longblob) | 64 KB (text) | 64 bits | 1000 | 9999 | 64 |
OpenLink Virtuoso | 32 TB per instance (Unlimited via elastic cluster) | DB size (or 32 TB) | 4 KB | 200 | 2 GB | 2 GB | 231 | 0 | 9999 | 100 |
Oracle | 2 PB (with standard 8k block) 8 PB (with max 32k block) 8 EB (with max 32k block and BIGFILE option) | 4 GB × block size (with BIGFILE tablespace) | 8 KB | 1,000 | 128 TB | 32,767 B 11 | 126 bits | −4712 | 9999 | 128 |
Max DB size | Max table size | Max row size | Max columns per row | Max Blob/Clob size | Max CHAR size | Max NUMBER size | Min DATE value | Max DATE value | Max column name size | |
Actian Zen (PSQL) | 4 billion objects | 256 GB | 2 GB | 1,536 | 2 GB | 8,000 bytes | 64 bits | 01-01-0001 | 12-31-9999 | 128 bytes |
Polyhedra | Limited by available RAM, address space | 232 rows | Unlimited | 65,536 | 4 GB (subject to RAM) | 4 GB (subject to RAM) | 64 bits | 0001-01-01 | 8000-12-31 | 255 |
PostgreSQL [75] | Unlimited | 32 TB | 1.6 TB | 250–1600 depending on type | 1 GB (text, bytea) stored inline or 4 TB using pg_largeobject | 1 GB | Unlimited | −4,713 | 5,874,897 | 63 |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
solidDB | 256 TB | 256 TB | 32 KB + BLOB data | Limited by row size | 4 GB | 4 GB | 64 bits | -32768-01-01 | 32767-12-31 | 254 |
SQL Anywhere [78] | 104 TB (13 files, each file up to 8 TB (32 KB pages)) | Limited by file size | Limited by file size | 45,000 | 2 GB | 2 GB | 64 bits | 0001-01-01 | 9999-12-31 | 128 bytes |
SQLite | 128 TB (231 pages × 64 KB max page size) | Limited by file size | Limited by file size | 32,767 | 2 GB | 2 GB | 64 bits | No DATE type 9 | No DATE type 9 | Unlimited |
Teradata | Unlimited | Unlimited | 64000 wo/lobs (64 GB w/lobs) | 2,048 | 2 GB | 64,000 | 38 digits | 0001-01-01 | 9999-12-31 | 128 |
UniVerse | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited |
Max DB size | Max table size | Max row size | Max columns per row | Max Blob/Clob size | Max CHAR size | Max NUMBER size | Min DATE value | Max DATE value | Max column name size |
DECIMAL
datatype. [80] VARBINARY
, VARCHAR
, BLOB
, or TEXT
columns). [81] VARCHAR (MAX)
in SQL 2005 and later. [82] CHAR
/VARCHAR
.Information about what tables and views (other than basic ones) are supported natively.
Temporary table | Materialized view | |
---|---|---|
4th Dimension | Yes | No |
ADABAS | ? | ? |
Adaptive Server Enterprise | Yes 1 | Yes – see precomputed result sets |
Advantage Database Server | Yes | No (only common views) |
Altibase | Yes | No (only common views) |
Apache Derby | Yes | No |
ClustrixDB | Yes | No |
CUBRID | Yes (only CTE) | No (only common views) |
IBM Db2 | Yes | Yes |
Empress Embedded Database | Yes | Yes |
EXASolution | Yes | No |
Firebird | Yes | No (only common views) |
HSQLDB | Yes | No |
H2 | Yes | No (only common views) |
Informix Dynamic Server | Yes | No 2 |
Ingres | Yes | No |
InterBase | Yes | No |
Linter SQL RDBMS | Yes | Yes |
LucidDB | No | No |
MariaDB | Yes | No 4 |
MaxDB | Yes | No |
Microsoft Access (JET) | No | No |
Microsoft Visual Foxpro | Yes | Yes |
Microsoft SQL Server | Yes | Yes |
Microsoft SQL Server Compact (Embedded Database) | Yes | No |
Mimer SQL | No | No |
MonetDB | Yes | No (only common views) |
MySQL | Yes | No 4 |
Oracle | Yes | Yes |
Oracle Rdb | Yes | Yes |
OpenLink Virtuoso | Yes | Yes |
Actian Zen (PSQL) | Yes | No |
Polyhedra DBMS | No | No (only common views) |
PostgreSQL | Yes | Yes |
SAP HANA | Yes | ? |
solidDB | Yes | No (only common views) |
SQL Anywhere | Yes | Yes |
SQLite | Yes | No |
Superbase | Yes | Yes |
Teradata | Yes | Yes |
UniData | Yes | No |
UniVerse | Yes | No |
Temporary table | Materialized view |
Information about what indexes (other than basic B-/B+ tree indexes) are supported natively.
R-/R+ tree | Hash | Expression | Partial | Reverse | Bitmap | GiST | GIN | Full-text | Spatial | Forest of Trees Index | Duplicate index prevention | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
4th Dimension | ? | Cluster | ? | ? | ? | ? | ? | ? | Yes | ? | ? | No |
ADABAS | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | No |
Adaptive Server Enterprise | No | No | Yes | No | Yes | No | No | No | Yes | ? | ? | No |
Advantage Database Server | No | No | Yes | No | Yes | Yes | No | No | Yes | ? | ? | No |
Apache Derby | No | No | No | No | No | No | No | No | No [87] | ? | ? | No |
ClustrixDB | No | Yes | No | No | No | No | No | No | No | No | ? | No |
CUBRID | No | No | Yes [88] | Yes [88] | Yes | No | No | No | No | No | No | No |
IBM Db2 | Yes | Yes | Yes | No | Yes | Yes | No | No | Yes [89] | ? | ? | No |
Empress Embedded Database | Yes | No | No | Yes | No | Yes | No | No | No | ? | ? | No |
EXASolution | No | Yes | No | No | No | No | No | No | No | ? | ? | No |
Firebird | No | No | Yes | No | Yes | No | No | No | No [90] | ? | ? | No |
HSQLDB | No | No | No | No | No | No | No | No | No | ? | ? | No |
H2 | No | Yes | No | No | No | No | No | No | Yes [91] | Yes [92] | ? | No |
Informix Dynamic Server | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [93] | Yes |
Ingres | Yes | Yes | Ingres v10 | No | No | Ingres v10 | No | No | No | ? | ? | No |
InterBase | No | No | No | No | No | No | No | No | No | ? | ? | No |
Linter SQL RDBMS 10 | No | Yes temporary indexes for equality joins | Yes for some scalar functions like LOWER and UPPER | No | No | No | No | No | Yes [94] | No | No | Yes |
LucidDB | No | No | No | No | No | Yes | No | No | No | ? | ? | No |
MariaDB | Aria and MyISAM tables and, since v10.2.2, InnoDB tables only [95] | MEMORY, [96] InnoDB, 5 tables only | PERSISTENT virtual columns only [97] | No | No | No | No | No | Yes [98] | Aria and MyISAM tables and, since v10.2.2, InnoDB tables only [95] | ? | No |
MaxDB | No | No | No | No | No | No | No | No | No | ? | ? | No |
Microsoft Access (JET) | No | No | No | No | No | No | No | No | No [99] | ? | ? | No |
Microsoft Visual Foxpro | No | No | Yes | Yes | Yes 2 | Yes | No | No | No | ? | ? | No |
Microsoft SQL Server | Spatial Indexes | Yes 4 | Yes 3 | Yes | on Computed columns 3 | Bitmap filter index for Star Join Query | No | No | Yes [100] | Yes [101] | ? | No |
Microsoft SQL Server Compact (Embedded Database) | No | No | No | No | No | No | No | No | No [102] | ? | ? | No |
Mimer SQL | No | No | No | No | Yes | No | No | No | Yes | Yes | No | No |
MonetDB | No | Yes | No | No | No | No | No | No | No | No | No | No |
MySQL | Spatial Indexes [103] | MEMORY, Cluster (NDB), InnoDB, 5 tables only | No [104] | No | No | No | No | No | MyISAM tables [105] and, since v5.6.4, InnoDB tables [106] | MyISAM tables [107] and, since v5.7.5, InnoDB tables [108] | ? | No |
OpenLink Virtuoso | Yes | Cluster | Yes | Yes | No | Yes | No | No | Yes | Yes (Commercial only) | No | No |
Oracle | Yes 11 | Cluster Tables | Yes | Yes 6 | Yes | Yes | No | No | Yes [109] | Yes [110] | ? | Yes [111] |
Oracle Rdb | No | Yes | ? | No | No | ? | No | No | ? | ? | ? | No |
Actian Zen (PSQL) | No | No | No | No | No | No | No | No | No | No | No | No |
Polyhedra DBMS | No | Yes | No | No | No | No | No | No | No | No | ? | No |
PostgreSQL | Yes | Yes | Yes | Yes | Yes 7 | Yes | Yes [112] | Yes | Yes [113] | PostGIS [114] | No | No |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | No |
solidDB | No | No | No | No | Yes | No | No | No | No | No | No | No |
SQL Anywhere | No | No | Yes | No | No | No | No | No | Yes | Yes | ? | Yes |
SQLite | Yes [115] | No | Yes [116] | Yes | No | No | No | No | Yes [117] | SpatiaLite [118] | ? | No |
SQream DB | ? | ? | ? | ? | Yes | ? | ? | ? | ? | ? | ? | No |
Teradata | No | Yes | Yes | Yes | No | Yes | No | No | ? [119] | ? | ? | No |
UniVerse | Yes | Yes | Yes 3 | Yes 3 | Yes 3 | No | No | No | ? | Yes [120] | ? | No |
R-/R+ tree | Hash | Expression | Partial | Reverse | Bitmap | GiST | GIN | Full-text | Spatial | Forest of Trees Index | Duplicate index prevention |
Union | Intersect | Except | Inner joins | Outer joins | Inner selects | Merge joins | Blobs and clobs | Common table expressions | Windowing functions | Parallel query | System-versioned tables | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
4th Dimension | Yes | Yes | Yes | Yes | Yes | No | No | Yes | ? | ? | ? | ? |
ADABAS | Yes | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Yes | ? | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | Yes | ? |
Advantage Database Server | Yes | No | No | Yes | Yes | Yes | Yes | Yes | ? | No | ? | ? |
Altibase | Yes | Yes | Yes, via MINUS | Yes | Yes | Yes | Yes | Yes | No | No | No | ? |
Apache Derby | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes | No | No | ? | ? |
ClustrixDB | Yes | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | ? |
CUBRID | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [88] | ? | ? |
IBM Db2 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [127] | Yes [128] |
Empress Embedded Database | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? |
EXASolution | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | ? |
Firebird | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? |
HSQLDB | Yes | Yes | Yes | Yes | Yes | Yes | Yes [129] | Yes | Yes | No | Yes [129] | ? |
H2 | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | experimental [130] | Yes [131] | ? | ? |
Informix Dynamic Server | Yes | Yes | Yes, via MINUS | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [132] | ? |
Ingres | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Yes [133] | Yes [134] | Yes [135] | ? |
InterBase | Yes | ? | ? | Yes | Yes | ? | ? | Yes | ? | ? | ? | ? |
Linter SQL RDBMS | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
LucidDB | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? | ? | ? | ? |
MariaDB | Yes | 10.3+ [136] | 10.3+ [137] | Yes | Yes | Yes | No | Yes | Yes [138] | Yes [139] | No [140] | Yes [128] |
MaxDB | Yes | ? | ? | Yes | Yes | Yes | No | Yes | ? | ? | ? | ? |
Microsoft Access (JET) | Yes | No | No | Yes | Yes | Yes | No | Yes | No | No | ? | ? |
Microsoft Visual Foxpro | Yes | ? | ? | Yes | Yes | Yes | ? | Yes | ? | ? | ? | ? |
Microsoft SQL Server | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [141] | Yes [142] | Yes [128] |
Microsoft SQL Server Compact (Embedded Database) | Yes | No | No | Yes | Yes | ? | No | Yes | No | No | ? | ? |
Mimer SQL | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes | Yes | No | No | ? |
MonetDB | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
MySQL | Yes | 8+ [143] | 8+ [144] | Yes | Yes | Yes | No | Yes | 8+ [145] | 8+ [146] | No [140] | No [128] |
OpenLink Virtuoso | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes | ? | ? | Yes | ? |
Oracle | Yes | Yes | Yes, via MINUS | Yes | Yes | Yes | Yes | Yes | Yes 1 | Yes | Yes [147] | Yes [148] |
Oracle Rdb | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | ? | ? | ? |
Actian Zen (PSQL) | Yes | No | No | Yes | Yes | ? | ? | Yes | No | No | No | ? |
Polyhedra DBMS | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | ? |
PostgreSQL | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes [149] | No [128] |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
solidDB | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | ? |
SQL Anywhere | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
SQLite | Yes | Yes | Yes | Yes | 3.43.0+ [150] | Yes | No | Yes | 3.8.3+ [151] | 3.25+ [152] | No | No [128] |
SQream DB | ALL only | No | No | Yes | Yes | Yes | Yes | No | Yes | Yes | No | ? |
Teradata | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
UniVerse | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | ? | ? |
Union | Intersect | Except | Inner joins | Outer joins | Inner selects | Merge joins | Blobs and clobs | Common table expressions | Windowing functions | Parallel query | System-versioned tables |
Type system | Integer | Floating point | Decimal | String | Binary | Date/Time | Boolean | Other | |
---|---|---|---|---|---|---|---|---|---|
4th Dimension | Static | UUID (16-bit), SMALLINT (16-bit), INT (32-bit), BIGINT (64-bit), NUMERIC (64-bit) | REAL, FLOAT | REAL, FLOAT | CLOB, TEXT, VARCHAR | BIT, BITVARYING, BLOB | DURATION, INTERVAL, TIMESTAMP | BOOLEAN | PICTURE |
Altibase [153] | Static | SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | REAL (32-bit), DOUBLE (64-bit) | DECIMAL, NUMERIC, NUMBER, FLOAT | CHAR, VARCHAR, NCHAR, NVARCHAR, CLOB | BLOB, BYTE, NIBBLE, BIT, VARBIT | DATE | GEOMETRY | |
ClustrixDB [154] | Static | TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit) | FLOAT (32-bit), DOUBLE | DECIMAL | CHAR, BINARY, VARCHAR, VARBINARY, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT | TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | DATETIME, DATE, TIMESTAMP, YEAR | BIT(1), BOOLEAN | ENUM, SET, |
CUBRID [155] | Static | SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | FLOAT, REAL(32-bit), DOUBLE(64-bit) | DECIMAL, NUMERIC | CHAR, VARCHAR, NCHAR, NVARCHAR, CLOB | BLOB | DATE, DATETIME, TIME, TIMESTAMP | BIT | MONETARY, BITVARYING, SET, MULTISET, SEQUENCE, ENUM |
IBM Db2 | ? | SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | DECFLOAT, REAL, DOUBLE | DECIMAL | CLOB, CHAR, VARCHAR | BINARY, VARBINARY, BLOB | DATE, TIME, TIMESTAMPWITHTIMEZONE, TIMESTAMPWITHOUTTIMEZONE | BOOLEAN | XML, GRAPHIC, VARGRAPHIC, DBCLOB, ROWID |
Empress Embedded Database | Static | TINYINT, SQL_TINYINT, or INTEGER8; SMALLINT, SQL_SMALLINT, or INTEGER16; INTEGER, INT, SQL_INTEGER, or INTEGER32; BIGINT, SQL_BIGINT, or INTEGER64 | REAL, SQL_REAL, or FLOAT32; DOUBLEPRECISION, SQL_DOUBLE, or FLOAT64; FLOAT, or SQL_FLOAT; EFLOAT | DECIMAL, DEC, NUMERIC, SQL_DECIMAL, or SQL_NUMERIC; DOLLAR | CHARACTER, ECHARACTER, CHARACTERVARYING, NATIONALCHARACTER, NATIONALCHARACTERVARYING, NLSCHARACTER, CHARACTERLARGEOBJECT, TEXT, NATIONALCHARACTERLARGEOBJECT, NLSTEXT | BINARYLARGEOBJECT or BLOB; BULK | DATE, EDATE, TIME, ETIME, EPOCH_TIME, TIMESTAMP, MICROTIMESTAMP | BOOLEAN | SEQUENCE 32, SEQUENCE |
EXASolution | Static | TINYINT, SMALLINT, INTEGER, BIGINT, | REAL, FLOAT, DOUBLE | DECIMAL, DEC, NUMERIC, NUMBER | CHAR, NCHAR, VARCHAR, VARCHAR2, NVARCHAR, NVARCHAR2, CLOB, NCLOB | N/A | DATE, TIMESTAMP, INTERVAL | BOOLEAN, BOOL | GEOMETRY |
FileMaker [156] | Static | Not Supported | Not Supported | NUMBER | TEXT | CONTAINER | TIMESTAMP | Not Supported | |
Firebird [157] | ? | INT64, INTEGER, SMALLINT | DOUBLE, FLOAT | DECIMAL, NUMERIC, DECIMAL(18, 4), DECIMAL(10, 4) | BLOB, CHAR, CHAR(x)CHARACTERSETUNICODE_FSS, VARCHAR(x)CHARACTERSETUNICODE_FSS, VARCHAR | BLOBSUB_TYPETEXT, BLOB | DATE, TIME, TIMESTAMP (without time zone) | BOOLEAN | TIMESTAMP, CHAR(38), User defined types (Domains) |
Type system | Integer | Floating point | Decimal | String | Binary | Date/Time | Boolean | Other | |
HSQLDB [158] | Static | TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | DOUBLE (64-bit) | DECIMAL, NUMERIC | CHAR, VARCHAR, LONGVARCHAR, CLOB | BINARY, VARBINARY, LONGVARBINARY, BLOB | DATE, TIME, TIMESTAMP, INTERVAL | BOOLEAN | OTHER (object), BIT, BITVARYING, ARRAY |
Informix Dynamic Server [159] | Static + UDT | SMALLINT (16-bit), INT (32-bit), INT8 (64-bit proprietary), BIGINT (64-bit) | SMALLFLOAT (32-bit), FLOAT (64-bit) | DECIMAL (32 decimal digits float/fixed, range 10130 to +10125), MONEY | CHAR, VARCHAR, NCHAR, NVARCHAR, LVARCHAR, CLOB, TEXT, LONGLVARCHAR | TEXT, BYTE, BLOB, CLOB | DATE, DATETIME, INTERVAL | BOOLEAN | SET, LIST, MULTISET, ROW, TIMESERIES, SPATIAL, GEODETIC, NODE, JSON, BSON, USERDEFINEDTYPES |
Ingres [160] | Static | TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | FLOAT4 (32-bit), FLOAT (64-bit) | DECIMAL | C, CHAR, VARCHAR, LONGVARCHAR, NCHAR, NVARCHAR, LONGNVARCHAR, TEXT | BYTE, VARBYTE, LONGVARBYTE (BLOB) | DATE, ANSIDATE, INGRESDATE, TIME, TIMESTAMP, INTERVAL | N/A | MONEY, OBJECT_KEY, TABLE_KEY, USER-DEFINEDDATATYPES (via OME) |
Linter SQL RDBMS | Static + Dynamic (in stored procedures) | SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | REAL(32-bit), DOUBLE(64-bit) | DECIMAL, NUMERIC | CHAR, VARCHAR, NCHAR, NVARCHAR, BLOB | BYTE, VARBYTE, BLOB | DATE | BOOLEAN | GEOMETRY, EXTFILE |
MariaDB [161] | Static | TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit) | FLOAT (32-bit), DOUBLE (aka REAL) (64-bit) | DECIMAL | CHAR, BINARY, VARCHAR, VARBINARY, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT | TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | DATETIME, DATE, TIMESTAMP, YEAR | BIT(1), BOOLEAN (aka BOOL) = synonym for TINYINT | ENUM, SET, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon) |
Microsoft SQL Server [162] | Static | TINYINT, SMALLINT, INT, BIGINT | FLOAT, REAL | NUMERIC, DECIMAL, SMALLMONEY, MONEY | CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT | BINARY, VARBINARY, IMAGE, FILESTREAM, FILETABLE | DATE, DATETIMEOFFSET, DATETIME2, SMALLDATETIME, DATETIME, TIME | BIT | CURSOR, TIMESTAMP, HIERARCHYID, UNIQUEIDENTIFIER, SQL_VARIANT, XML, TABLE, Geometry, Geography, Custom .NET datatypes |
Microsoft SQL Server Compact (Embedded Database) [163] | Static | TINYINT, SMALLINT, INT, BIGINT | FLOAT, REAL | NUMERIC, DECIMAL, MONEY | NCHAR, NVARCHAR, NTEXT | BINARY, VARBINARY, IMAGE | DATETIME | BIT | TIMESTAMP, ROWVERSION, UNIQUEIDENTIFIER, IDENTITY, ROWGUIDCOL |
Mimer SQL | Static | SMALLINT, INT, BIGINT, INTEGER(n) | FLOAT, REAL, DOUBLE, FLOAT(n) | NUMERIC, DECIMAL | CHAR, VARCHAR, NCHAR, NVARCHAR, CLOB, NCLOB | BINARY, VARBINARY, BLOB | DATE, TIME, TIMESTAMP, INTERVAL | BOOLEAN | DOMAINS, USER-DEFINED TYPES (including the pre-defined spatial data types location, latitude, longitude and coordinate, and UUID) |
MonetDB | Static, extensible | TINYINT, SMALLINT, INT, INTEGER, BIGINT, HUGEINT, SERIAL, BIGSERIAL | FLOAT, FLOAT(n), REAL, DOUBLE, DOUBLEPRECISION | DECIMAL, NUMERIC | CHAR, CHAR(n), VARCHAR(n), CLOB, CLOB(n), TEXT, STRING | BLOB, BLOB(n) | DATE, TIME, TIMEWITHTIMEZONE, TIMESTAMP, TIMESTAMPWITHTIMEZONE, INTERVALMONTH, INTERVALDAY, INTERVALSECOND | BOOLEAN | JSON, JSON(n), URL, URL(n), INET, UUID, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon), User Defined Types |
MySQL [154] | Static | TINYINT (8-bit), SMALLINT (16-bit), MEDIUMINT (24-bit), INT (32-bit), BIGINT (64-bit) | FLOAT (32-bit), DOUBLE (aka REAL) (64-bit) | DECIMAL | CHAR, BINARY, VARCHAR, VARBINARY, TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT | TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB | DATETIME, DATE, TIMESTAMP, YEAR | BIT(1), BOOLEAN (aka BOOL) = synonym for TINYINT | ENUM, SET, GIS data types (Geometry, Point, Curve, LineString, Surface, Polygon, GeometryCollection, MultiPoint, MultiCurve, MultiLineString, MultiSurface, MultiPolygon) |
OpenLink Virtuoso [164] | Static + Dynamic | INT, INTEGER, SMALLINT | REAL, DOUBLEPRECISION, FLOAT, FLOAT(n) | DECIMAL, DECIMAL(n), DECIMAL(m, n), NUMERIC, NUMERIC(n), NUMERIC(m, n) | CHARACTER, CHAR(n), VARCHAR, VARCHAR(n), NVARCHAR, NVARCHAR(n) | BLOB | TIMESTAMP, DATETIME, TIME, DATE | N/A | ANY, REFERENCE (IRI, URI), UDT (User Defined Type), GEOMETRY (BOX, BOX2D, BOX3D, BOXM, BOXZ, BOXZM, CIRCULARSTRING, COMPOUNDCURVE, CURVEPOLYGON, EMPTY, GEOMETRYCOLLECTION, GEOMETRYCOLLECTIONM, GEOMETRYCOLLECTIONZ, GEOMETRYCOLLECTIONZM, LINESTRING, LINESTRINGM, LINESTRINGZ, LINESTRINGZM, MULTICURVE, MULTILINESTRING, MULTILINESTRINGM, MULTILINESTRINGZ, MULTILINESTRINGZM, MULTIPOINT, MULTIPOINTM, MULTIPOINTZ, MULTIPOINTZM, MULTIPOLYGON, MULTIPOLYGONM, MULTIPOLYGONZ, MULTIPOLYGONZM, POINT, POINTM, POINTZ, POINTZM, POLYGON, POLYGONM, POLYGONZ, POLYGONZM, POLYLINE, POLYLINEZ, RING, RINGM, RINGZ, RINGZM) |
Type system | Integer | Floating point | Decimal | String | Binary | Date/Time | Boolean | Other | |
Oracle [165] | Static + Dynamic (through ANYDATA) | NUMBER | BINARY_FLOAT, BINARY_DOUBLE | NUMBER | CHAR, VARCHAR2, CLOB, NCLOB, NVARCHAR2, NCHAR, LONG (deprecated) | BLOB, RAW, LONGRAW (deprecated), BFILE | DATE, TIMESTAMP (with/without TIMEZONE), INTERVAL | N/A | SPATIAL, IMAGE, AUDIO, VIDEO, DICOM, XMLType, UDT, JSON |
Actian Zen (PSQL) [166] | Static | BIGINT, INTEGER, SMALLINT, TINYINT, UBIGINT, UINTEGER, USMALLINT, UTINYINT | BFLOAT4, BFLOAT8, DOUBLE, FLOAT | DECIMAL, NUMERIC, NUMERICSA, NUMERICSLB, NUMERICSLS, NUMERICSTB, NUMERICSTS | CHAR, LONGVARCHAR, VARCHAR | BINARY, LONGVARBINARY, VARBINARY | DATE, DATETIME, TIME | BIT | CURRENCY, IDENTITY, SMALLIDENTITY, TIMESTAMP, UNIQUEIDENTIFIER |
Polyhedra [167] | Static | INTEGER8 (8-bit), INTEGER(16-bit), INTEGER (32-bit), INTEGER64 (64-bit) | FLOAT32 (32-bit), FLOAT (aka REAL; 64-bit) | N/A | VARCHAR, LARGEVARCHAR (aka CHARACTERLARGEOBJECT) | LARGEBINARY (aka BINARYLARGEOBJECT) | DATETIME | BOOLEAN | N/A |
PostgreSQL [168] | Static | SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | REAL (32-bit), DOUBLEPRECISION (64-bit) | DECIMAL, NUMERIC | CHAR, VARCHAR, TEXT | BYTEA | DATE, TIME (with/without TIMEZONE), TIMESTAMP (with/without TIMEZONE), INTERVAL | BOOLEAN | ENUM, POINT, LINE, LSEG, BOX, PATH, POLYGON, CIRCLE, CIDR, INET, MACADDR, BIT, UUID, XML, JSON, JSONB, arrays, composites, ranges, custom |
SAP HANA | Static | TINYINT, SMALLINT, INTEGER, BIGINT | SMALLDECIMAL, REAL, DOUBLE, FLOAT, FLOAT(n) | DECIMAL | VARCHAR, NVARCHAR, ALPHANUM, SHORTTEXT | VARBINARY, BINTEXT, BLOB | DATE, TIME, SECONDDATE, TIMESTAMP | BOOLEAN | CLOB, NCLOB, TEXT, ARRAY, ST_GEOMETRY, ST_POINT, ST_MULTIPOINT, ST_LINESTRING, ST_MULTILINESTRING, ST_POLYGON, ST_MULTIPOLYGON, ST_GEOMETRYCOLLECTION, ST_CIRCULARSTRING |
solidDB | Static | TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | REAL (32-bit), DOUBLE (64-bit), FLOAT (64-bit) | DECIMAL, NUMERIC (51 digits) | CHAR, VARCHAR, LONGVARCHAR, WCHAR, WVARCHAR, LONGWVARCHAR | BINARY, VARBINARY, LONGVARBINARY | DATE, TIME, TIMESTAMP | ||
SQLite [169] | Dynamic | INTEGER (64-bit) | REAL (aka FLOAT, DOUBLE) (64-bit) | N/A | TEXT (aka CHAR, CLOB) | BLOB | N/A | N/A | N/A |
SQream DB [170] | Static | TINYINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | REAL (32-bit), DOUBLE (aka FLOAT) (64-bit) | N/A | CHAR, VARCHAR, NVARCHAR | N/A | DATE, DATETIME (aka TIMESTAMP) | BOOL | N/A |
Type system | Integer | Floating point | Decimal | String | Binary | Date/Time | Boolean | Other | |
Teradata | Static | BYTEINT (8-bit), SMALLINT (16-bit), INTEGER (32-bit), BIGINT (64-bit) | FLOAT (64-bit) | DECIMAL, NUMERIC (38 digits) | CHAR, VARCHAR, CLOB | BYTE, VARBYTE, BLOB | DATE, TIME, TIMESTAMP (w/wo TIMEZONE) | PERIOD, INTERVAL, GEOMETRY, XML, JSON, UDT (User Defined Type) | |
UniData | Dynamic | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
UniVerse | Dynamic | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
Type system | Integer | Floating point | Decimal | String | Binary | Date/Time | Boolean | Other |
Information about what other objects are supported natively.
Data domain | Cursor | Trigger | Function 1 | Procedure 1 | External routine 1 | |
---|---|---|---|---|---|---|
4th Dimension | Yes | No | Yes | Yes | Yes | Yes |
ADABAS | ? | Yes | ? | Yes? | Yes? | Yes |
Adaptive Server Enterprise | Yes | Yes | Yes | Yes | Yes | Yes |
Advantage Database Server | Yes | Yes | Yes | Yes | Yes | Yes |
Altibase | Yes | Yes | Yes | Yes | Yes | Yes |
Apache Derby | No | Yes | Yes | Yes 2 | Yes 2 | Yes 2 |
ClustrixDB | No | Yes | No | Yes | Yes | Yes |
CUBRID | Yes | Yes | Yes | Yes | Yes 2 | Yes |
Empress Embedded Database | Yes via RANGE CHECK | Yes | Yes | Yes | Yes | Yes |
EXASolution | Yes | No | No | Yes | Yes | Yes |
IBM Db2 | Yes via CHECK CONSTRAINT | Yes | Yes | Yes | Yes | Yes |
Firebird | Yes | Yes | Yes | Yes | Yes | Yes |
HSQLDB | Yes | No | Yes | Yes | Yes | Yes |
H2 | Yes | No | Yes 2 | Yes 2 | Yes 2 | Yes |
Informix Dynamic Server | Yes via CHECK | Yes | Yes | Yes | Yes | Yes 5 |
Ingres | Yes | Yes | Yes | Yes | Yes | Yes |
InterBase | Yes | Yes | Yes | Yes | Yes | Yes |
Linter SQL RDBMS | No | Yes | Yes | Yes | Yes | No |
LucidDB | No | Yes | No | Yes 2 | Yes 2 | Yes 2 |
MariaDB | Yes [171] | Yes | Yes | Yes | Yes | Yes |
MaxDB | Yes | Yes | Yes | Yes | Yes | ? |
Microsoft Access (JET) | Yes | No | No | No | Yes, But single DML/DDL Operation | Yes |
Microsoft Visual Foxpro | No | Yes | Yes | Yes | Yes | Yes |
Microsoft SQL Server | Yes | Yes | Yes | Yes | Yes | Yes |
Microsoft SQL Server Compact (Embedded Database) | No | Yes | No | No | No | No |
Mimer SQL | Yes | Yes | Yes | Yes | Yes | No |
MonetDB | No | No | Yes | Yes | Yes | Yes |
MySQL | No 3 | Yes | Yes | Yes | Yes | Yes |
Oracle | Yes | Yes | Yes | Yes | Yes | Yes |
Oracle Rdb | Yes | Yes | Yes | Yes | Yes | Yes |
OpenLink Virtuoso | Yes | Yes | Yes | Yes | Yes | Yes |
Actian Zen (PSQL) | Yes | Yes | Yes | Yes | Yes | No |
Polyhedra DBMS | No | No | Yes | Yes | Yes | Yes |
PostgreSQL | Yes | Yes | Yes | Yes | Yes | Yes |
SAP HANA | ? | ? | ? | ? | ? | ? |
solidDB | Yes | Yes | Yes | Yes | Yes | Yes |
SQL Anywhere | Yes | Yes | Yes | Yes | Yes | Yes |
SQLite | No | No | Yes | No | No | Yes |
Teradata | No | Yes | Yes | Yes | Yes | Yes |
UniData | No | No | Yes | Yes | Yes | Yes |
UniVerse | No | No | Yes | Yes | Yes | Yes |
Data domain | Cursor | Trigger | Function 1 | Procedure 1 | External routine 1 |
Information about what partitioning methods are supported natively.
Range | Hash | Composite (Range+Hash) | List | Expression | Round Robin | |
---|---|---|---|---|---|---|
4th Dimension | ? | ? | ? | ? | ? | ? |
ADABAS | ? | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Yes | Yes | No | Yes | ? | ? |
Advantage Database Server | No | No | No | No | ? | ? |
Altibase | Yes | Yes | No | Yes | ? | ? |
Apache Derby | No | No | No | No | ? | ? |
ClustrixDB | Yes | No | No | No | No | ? |
CUBRID | Yes | Yes | No | Yes | ? | ? |
IBM Db2 | Yes | Yes | Yes | Yes | Yes | ? |
Empress Embedded Database | No | No | No | No | ? | ? |
EXASolution | No | Yes | No | No | No | ? |
Firebird | No | No | No | No | ? | ? |
HSQLDB | No | No | No | No | ? | ? |
H2 | No | No | No | No | ? | ? |
Informix Dynamic Server | Yes | Yes | Yes | Yes | Yes | Yes |
Ingres | Yes | Yes | Yes | Yes | ? | ? |
InterBase | No | No | No | No | ? | ? |
Linter SQL RDBMS | No | No | No | No | No | ? |
MariaDB | Yes | Yes | Yes | Yes | ? | ? |
MaxDB | No | No | No | No | ? | ? |
Microsoft Access (JET) | No | No | No | No | ? | ? |
Microsoft Visual Foxpro | No | No | No | No | ? | ? |
Microsoft SQL Server | Yes | via computed column | via computed column | Yes | via computed column | ? |
Microsoft SQL Server Compact (Embedded Database) | No | No | No | No | ? | ? |
Mimer SQL | No | No | No | No | No | ? |
MonetDB | Yes | No | No | No | Yes | ? |
MySQL | Yes | Yes | Yes | Yes | ? | ? |
Oracle | Yes | Yes | Yes | Yes | via Virtual Columns | ? |
Oracle Rdb | Yes | Yes | ? | ? | ? | ? |
OpenLink Virtuoso | Yes | Yes | Yes | Yes | Yes | ? |
Actian Zen (PSQL) | No | No | No | No | No | ? |
Polyhedra DBMS | No | No | No | No | No | ? |
PostgreSQL | Yes | Yes | Yes | Yes | Yes | ? |
SAP HANA | Yes | Yes | Yes | Yes | Yes | ? |
solidDB | Yes | No | No | No | ? | ? |
SQL Anywhere | No | No | No | No | ? | ? |
SQLite | No | No | No | No | ? | ? |
Teradata | Yes | Yes | Yes | Yes | ? | ? |
UniVerse | Yes | Yes | Yes | Yes | ? | ? |
Range | Hash | Composite (Range+Hash) | List | Expression | Round Robin |
Information about access control functionalities.
Native network encryption 1 | Brute-force protection | Enterprise directory compatibility | Password complexity rules 2 | Patch access 3 | Run unprivileged 4 | Audit | Resource limit | Separation of duties (RBAC) 5 | Security Certification | Attribute-Based Access Control (ABAC) | |
---|---|---|---|---|---|---|---|---|---|---|---|
4D | Yes (with SSL) | ? | Yes | ? | Yes | Yes | ? | ? | ? | ? | ? |
Adaptive Server Enterprise | Yes (optional; to pay) | Yes | Yes (optional ?) | Yes | Partial (need to register; depend on which product) [172] | Yes | Yes | Yes | Yes | Yes (EAL4+ 1 ) | ? |
Advantage Database Server | Yes | No | No | No | Yes | Yes | No | No | Yes | ? | ? |
CUBRID | Yes (with SSL) | ? | No | No | Yes | Yes | Yes | Yes | Yes | ? | ? |
IBM Db2 | Yes | ? | Yes (LDAP, Kerberos...) | Yes | ? | Yes | Yes | Yes | Yes | Yes (EAL4+ 6 ) | ? |
Empress Embedded Database | ? | ? | No | No | Yes | Yes | Yes | No | Yes | No | ? |
EXASolution | No | Yes | Yes (LDAP) | Yes | Yes | Yes | Yes | Yes | Yes | No | ? |
Firebird | Yes | Yes [173] | Yes (Windows trusted authenification) | Yes (by custom plugin) | Yes (no security page) [174] | Yes | Yes [175] | Yes | No 7 | ? | ? |
HSQLDB | Yes | No | Yes | Yes | Yes | Yes | No | No | Yes | No | ? |
H2 | Yes | Yes | ? | No | ? | Yes | ? | Yes | Yes | No | ? |
Informix Dynamic Server | Yes | ? | Yes 10 | ? 10 | Yes | Yes | Yes | Yes | Yes | ? | Yes |
Linter SQL RDBMS | Yes (with SSL) | Yes | Yes | Yes (length only) | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MariaDB | Yes (SSL) | No | Yes (with 5.2, but not on Windows servers) | Yes [176] [177] | Yes [178] | Yes | ? | ? | ? 8 | No | ? |
Microsoft SQL Server | Yes | ? | Yes (Microsoft Active Directory) | Yes | Yes | Yes | Yes (From 2008) | Yes | Yes | Yes (EAL4+ 11 ) | ? |
Microsoft SQL Server Compact (Embedded Database) | No (not relevant, only file permissions) | No (not relevant) | No (not relevant) | No (not relevant) | Yes | Yes (file access) | Yes | Yes | No | ? | ? |
Mimer SQL | Yes | ? | ? | ? | Yes | Yes (depending on OS) | Yes | ? | Yes | ? | Yes |
MySQL | Yes (SSL with 4.0) | No | Yes (with 5.5, but only in commercial edition) | No | Partial (no security page) [179] | Yes | ? | ? | ? 8 | Yes | ? |
OpenLink Virtuoso | Yes | Yes | Yes | Yes (optional) | Yes (optional) | Yes | Yes (optional) | Yes (optional) | Yes | No | Yes (optional) |
Oracle | Yes | Yes | Yes | Yes | ? | Yes | Yes | Yes | Yes | Yes (EAL2 1 ) | ? |
Actian Zen (PSQL) | Yes | ? | No | No | Yes | Yes | Yes 12 | No | No | No | ? |
Polyhedra DBMS | Yes (with SSL. Optional) | No | No | No | No | Yes | Yes 13 | Yes | Yes 13 | No | ? |
PostgreSQL | Yes | Yes | Yes (LDAP, Kerberos... 9 ) | Yes (with passwordcheck module) | Yes [180] | Yes | Yes (with pgaudit extension) [181] | Yes | Yes | Yes (EAL2+ 1 ) | ? |
SAP HANA | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
solidDB | No | No | Yes | No | No | Yes | Yes | No | No | No | No |
SQL Anywhere | Yes | ? | Yes (Kerberos) | Yes | ? | Yes | Yes | No | Yes | Yes (EAL2+ 1 as Adaptive Server Anywhere) | ? |
SQLite | No (not relevant, only file permissions) | No (not relevant) | No (not relevant) | No (not relevant) | Partial (no security page) [182] | Yes (file access) | Yes | Yes | No | No | ? |
Teradata | Yes | No | Yes (LDAP, Kerberos...) | Yes | ? | Yes | Yes | Yes | Yes | Yes | Yes |
Native network encryption 1 | Brute-force protection | Enterprise directory compatibility | Password complexity rules 2 | Patch access 3 | Run unprivileged 4 | Audit | Resource limit | Separation of duties (RBAC) 5 | Security Certification | Attribute-Based Access Control (ABAC) |
This section possibly contains original research .(June 2010) |
The SQL specification defines what an "SQL schema" is; however, databases implement it differently. To compound this confusion the functionality can overlap with that of a parent database. An SQL schema is simply a namespace within a database; things within this namespace are addressed using the member operator dot ".". This seems to be a universal among all of the implementations.
A true fully (database, schema, and table) qualified query is exemplified as such: SELECT*FROMdatabase.schema.table
Both a schema and a database can be used to isolate one table, "foo", from another like-named table "foo". The following is pseudo code:
SELECT*FROMdatabase1.foo
vs. SELECT*FROMdatabase2.foo
(no explicit schema between database and table)SELECT*FROM[database1.]default.foo
vs. SELECT*FROM[database1.]alternate.foo
(no explicit database prefix)The problem that arises is that former MySQL users will create multiple databases for one project. In this context, MySQL databases are analogous in function to PostgreSQL-schemas, insomuch as PostgreSQL deliberately lacks off-the-shelf cross-database functionality (preferring multi-tenancy) that MySQL has. Conversely, PostgreSQL has applied more of the specification implementing cross-table, cross-schema, and then left room for future cross-database functionality.
MySQL aliases schema with database behind the scenes, such that CREATE SCHEMA
and CREATE DATABASE
are analogs. It can therefore be said that MySQL has implemented cross-database functionality, skipped schema functionality entirely, and provided similar functionality into their implementation of a database. In summary, PostgreSQL fully supports schemas and multi-tenancy by strictly separating databases from each other and thus lacks some functionality MySQL has with databases, while MySQL does not even attempt to support standard schemas.
Oracle has its own spin where creating a user is synonymous with creating a schema. Thus a database administrator can create a user called PROJECT and then create a table PROJECT.TABLE. Users can exist without schema objects, but an object is always associated with an owner (though that owner may not have privileges to connect to the database). With the 'shared-everything' Oracle RAC architecture, the same database can be opened by multiple servers concurrently. This is independent of replication, which can also be used, whereby the data is copied for use by different servers. In the Oracle implementation, a 'database' is a set of files which contains the data while the 'instance' is a set of processes (and memory) through which a database is accessed.
Informix supports multiple databases in a server instance like MySQL. It supports the CREATE SCHEMA
syntax as a way to group DDL statements into a single unit creating all objects created as a part of the schema as a single owner. Informix supports a database mode called ANSI mode which supports creating objects with the same name but owned by different users.
PostgreSQL and some other databases have support for foreign schemas, which is the ability to import schemas from other servers as defined in ISO/IEC 9075-9 (published as part of SQL:2008). This appears like any other schema in the database according to the SQL specification while accessing data stored either in a different database or a different server instance. The import can be made either as an entire foreign schema or merely certain tables belonging to that foreign schema. [188] While support for ISO/IEC 9075-9 bridges the gap between the two competing philosophies surrounding schemas, MySQL and Informix maintain an implicit association between databases while ISO/IEC 9075-9 requires that any such linkages be explicit in nature.
In the context of SQL, data definition or data description language (DDL) is a syntax for creating and modifying database objects such as tables, indices, and users. DDL statements are similar to a computer programming language for defining data structures, especially database schemas. Common examples of DDL statements include CREATE
, ALTER
, and DROP
. If you see a .ddl file, that means the file contains a statement to create a table. Oracle SQL Developer contains the ability to export from an ERD generated with Data Modeler to either a .sql file or a .ddl file.
An SQL INSERT statement adds one or more records to any single table in a relational database.
A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is mostly used for maintaining the integrity of the information on the database. For example, when a new record is added to the employees table, new records should also be created in the tables of the taxes, vacations and salaries. Triggers can also be used to log historical data, for example to keep track of employees' previous salaries.
ADO.NET is a data access technology from the Microsoft .NET Framework that provides communication between relational and non-relational systems through a common set of components. ADO.NET is a set of computer software components that programmers can use to access data and data services from a database. It is a part of the base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in relational database systems, though it can also access data in non-relational data sources. ADO.NET is sometimes considered an evolution of ActiveX Data Objects (ADO) technology, but was changed so extensively that it can be considered an entirely new product.
ADOdb is a database abstraction library for PHP, originally based on the same concept as Microsoft's ActiveX Data Objects. It allows developers to write applications in a consistent way regardless of the underlying database system storing the information. The advantage is that the database system can be changed without re-writing every call to it in the application.
Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group and resolving any conflicts that might arise between concurrent changes made by different members.
A relational database management system uses SQL MERGE
statements to INSERT
new records or UPDATE
or DELETE
existing records depending on whether condition matches. It was officially introduced in the SQL:2003 standard, and expanded in the SQL:2008 standard.
A spatial database is a general-purpose database that has been enhanced to include spatial data that represents objects defined in a geometric space, along with tools for querying and analyzing such data.
In relational databases, the information schema is an ANSI-standard set of read-only views that provide information about all of the tables, views, columns, and procedures in a database. It can be used as a source of the information that some databases make available through non-standard commands, such as:
=> SELECT count(table_name) FROM information_schema.tables; count ------- 99 => SELECT column_name, data_type, column_default, is_nullable FROM information_schema.columns WHERE table_name='alpha'; column_name | data_type | column_default | is_nullable -------------+-----------+----------------+------------- foo | integer | | YES bar | character | | YES => SELECT * FROM information_schema.information_schema_catalog_name; catalog_name -------------- johnd
The DUAL table is a special one-row, one-column table present by default in Oracle and other database installations. In Oracle, the table has a single VARCHAR2(1) column called DUMMY that has a value of 'X'. It is suitable for use in selecting a pseudo column such as SYSDATE or USER.
The SQuirreL SQL Client is a database administration tool. It uses JDBC to allow users to explore and interact with databases via a JDBC driver. It provides an editor that offers code completion and syntax highlighting for standard SQL. It also provides a plugin architecture that allows plugin writers to modify much of the application's behavior to provide database-specific functionality or features that are database-independent. As this desktop application is written entirely in Java with Swing UI components, it should run on any platform that has a JVM.
Navicat is a series of graphical database management and development software produced by CyberTech Ltd. for MySQL, MariaDB, Redis, MongoDB, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners.
An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:
A hierarchical query is a type of SQL query that handles hierarchical model data. They are special cases of more general recursive fixpoint queries, which compute transitive closures.
DatabaseSpy is a multi-database query, design, and database comparison tool from Altova, the creator of XMLSpy. DatabaseSpy connects to many major relational databases, facilitating SQL querying, database structure design, database content editing, and database comparison and conversion.
In database management systems (DBMS), a prepared statement, parameterized statement, or parameterized query is a feature where the database pre-compiles SQL code and stores the results, separating it from data. Benefits of prepared statements are:
In relational databases a virtual column is a table column whose value(s) is automatically computed using other columns values, or another deterministic expression. Virtual columns are defined of SQL:2003 as Generated Column, and are only implemented by some DBMSs, like MariaDB, SQL Server, Oracle, PostgreSQL, SQLite and Firebird.
Database Workbench is a software application for development and administration of multiple relational databases using SQL, with interoperationality between different database systems, developed by Upscene Productions.
The following outline is provided as an overview of and topical guide to MySQL:
{{cite web}}
: Missing or empty |title=
(help){{citation}}
: Unknown parameter |chapter-url https://www.ibm.com/docs/en/informix-servers/15.0.0?topic=
ignored (help)