DISQLite3 implements a self-contained, embeddable, zero-configuration SQL database engine for Delphi (Embarcadero / CodeGear / Borland).

Features include:

  • ACID transactions, even after system crashes and power failures.
  • Zero-configuration – no setup or administration needed.
  • Implements most of SQL-92.
  • A complete database is stored in a single disk file.
  • Supports terabyte-sized databases and gigabyte-sized strings and blobs. Self-contained: no external dependencies, no DLLs.
  • Small footprint and smart linking: Only required code is compiled in, adding as little as 300 KB code space only.
  • Full Text Search (FTS) with customizable tokenizer, prefix matching, and optional word stemming for 15 languages.
  • Database AES encryption with SHA256 key generator.
  • Db.pas is not required, which allows DISQLite3 to compile with all flavours of Delphi, including Delphi Standard and Delphi Personal.
  • Faster than popular database engines for most common operations.
  • Simple, easy to use API.
  • Database files created with DISQLite3 can also be accessed by Linux and MacOS using the SQLite3 libraries.

SQL-92 Support

DISQLite3 understands most of the SQL-92 language standard:

  • ALTER TABLE
  • ANALYZE
  • ATTACH DATABASE
  • BEGIN TRANSACTION
  • Comments
  • COMMIT TRANSACTION
  • CREATE INDEX
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW
  • DELETE
  • DETACH DATABASE
  • DROP INDEX
  • DROP TABLE
  • DROP TRIGGER
  • DROP VIEW
  • END TRANSACTION
  • EXPLAIN
  • Expressions
  • INSERT
  • ON CONFLICT clause
  • PRAGMA
  • REINDEX
  • REPLACE
  • ROLLBACK TRANSACTION
  • SELECT
  • UPDATE
  • VACUUM

The complete SQL syntax is described in full length in the DISQLite3 HTML Help, part of the installation package.

Simple Programming Interface

DISQLite3 provides a comprehensive list of functions and procedures to manage database records with ease and efficiency. It includes the full SQLite3 functionality, plus a number of Delphi specific extras:

  • AnsiString, UnicodeString / WideString, and Variant support.
  • Database and Statement wrapper classes.
  • TDataSet support.
  • TStream support for BLOBs.
  • Growing number of Delphi example projects.

Despite of its rich set of features, a DISQLite3 database application can be realized with just three different function calls.

Pro and Personal Editions

DISQLite3 comes in two editions: DISQLite3 Personal and DISQLite3 Pro.

DISQLite3 Personal is free for personal, educational, and non-commercial use. It omits some functionality of DISQLite3 Pro, but does not compromize on essential features like ACIDtransactions, virtually unlimited database size, full text search, and others.

DISQLite3 Pro is required for commercial use and may be purchased online. It adds functionality usually desired by advanced users. This includes SQL triggers and views, arbitrary encryption passwords, user-defined SQL functions, and more. Since DISQLite3 Pro is fully compatible to the Personal edition, it is possible to upgrade existing projects without any code changes.

feature chart is available for a side-by-side comparison of the two editions.

This table lists the features of the free1) DISQLite3 Personal vs. the commercial DISQLite3Pro editions.

Feature DISQLite3 Personal DISQLite3 Pro
Windows 64-bit support   Yes
SQL-92 Compatible Syntax Yes Yes
Single File Database Yes Yes
Compact, Variable-Length File Format Yes Yes
Maximum Database Size 2 TB 2TB
Maximum Number of Tables Unlimited Unlimited
Maximum Number of Columns per Table Unlimited Unlimited
Maximum Length of Column Name Unlimited Unlimited
Maximum Number of Indexes Unlimited Unlimited
Maximum Amount of Data per Row Unlimited Unlimited
Compiles into Application EXE, requires no DLLs Yes Yes
Indexed Full Text Search with prefix matching (like "run*") andoptional word stemming Yes Yes
SQL Parameter Binding (?, :ParamName) Yes Yes
Database Locking Yes Yes
Database Transactions and Rollback Yes Yes
Database Schema PRAGMAs Yes Yes
Multiple, Simultaneous SELECT Operations Yes Yes
Database Encryption Single Password Any Password
CHECK constraints   Yes
SQL ANALYZE command   Yes
SQL OR optimization   Yes
SQL BETWEEN optimization   Yes
SQL LIKE optimization   Yes
SQL INSERT allows multiple rows   Yes
Default Column Values Yes Yes
Floating-Point Support Yes Yes
Date and DateTime Functions Yes Yes
User-Defined Collation Sequences   Yes
User-Defined Database Functions and Aggregates   Yes
ALTER TABLE SQL Command   Yes
Authorization Callback Feature   Yes
PRIMARY KEY Columns Yes Yes
Autoincementing PRIMARY KEY columns (may reuse ROWIDs from deleted records) Yes Yes
AUTOINCREMENT keyword (monotonically increasing ROWIDs, guaranteed to be unique over the entire database lifetime)   Yes
VACUUM Clause, Auto-Vacuum Feature   Yes
BLOB Literal SQL Syntax X'ABCD'   Yes
Incremental BLOB API   Yes
CAST ( expr AS type )   Yes
Temporary Tables   Yes
Compound SELECTs (UNION, UNION ALL, INTERSECT, EXCEPT)   Yes
ON CONFLICT SQL Clause   Yes
EXPLAIN SQL Clause   Yes
Database Integrity Check   Yes
FOREIGN KEY constraints   Yes
In-Memory Database   Yes
Hot Database Backup   Yes
Trace Callback Feature for SQL Logging and Debugging   Yes
Commit Transaction Callback Feature   Yes
Progress Callback Feature   Yes
REINDEX SQL Clause   Yes
PRAGMA Database Options   Yes
Sub-Queries, Sub-Selects, IN() Operator   Yes
Automatic Database Triggers   Yes
UTF-8 / Utf8String API Yes Yes
UTF-16 / UnicodeString / WideString API   Yes
Views, Triggers on Views   Yes
ATTACH multiple databases   Yes
SQL tracing and performance profiling   Yes
Shared Cache between multiple open DB connections   Yes
Asynchronous I/O background thread writing   Yes
R-Tree index for geospatial data systems   Yes
Write-Ahead Logging (WAL) for improved performance and concurrency   Yes
Multiple worker threads   Yes
1) Free for personal, educational, and non-commercial use. See license for details.
 

DISQLite3 - A self-contained, embeddable, zero-configuration SQL database engine for Delphi的更多相关文章

  1. How to Use Lucene.NET with Windows Azure SQL Database

    http://social.technet.microsoft.com/wiki/contents/articles/2367.how-to-use-lucene-net-with-windows-a ...

  2. Create an Azure SQL database in the Azure portal

    Create a SQL database An Azure SQL database is created with a defined set of compute and storage res ...

  3. [Windows Azure] How to Create and Configure SQL Database

    How to Create and Configure SQL Database In this topic, you'll step through logical server creation ...

  4. [Windows Azure] Getting Started with Windows Azure SQL Database

    In this tutorial you will learn the fundamentals of Windows Azure SQL Database administration using ...

  5. HTML5教程之html 5 本地数据库(Web Sql Database)

    HTML5的Web SQL Databases(html5 本地数据库)的确很诱惑人,当你发现可以用与mysql查询一样的查询语句来操作本地数据库时,你会发现这东西挺有趣的.今天,我们一起来了解HTM ...

  6. Azure SQL Database (19) Stretch Database 概览

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  7. Azure SQL Database (20) 使用SQL Server 2016 Upgrade Advisor

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  8. Azure SQL Database (21) 将整张表都迁移到Azure Stretch Database里

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

  9. Azure SQL Database (22) 迁移部分数据到Azure Stretch Database

    <Windows Azure Platform 系列文章目录>  Azure SQL Database (19) Stretch Database 概览      Azure SQL Da ...

随机推荐

  1. 用monit监控系统关键进程

    原地址: https://feilong.me/2011/02/monitor-core-processes-with-monit monit是一款功能强大的系统状态.进程.文件.目录和设备的监控软件 ...

  2. sqlserver中一些常用的函数总结

    去掉空格方面 LTRIM('内容'):去掉字符串左边的空格 RTRIM('内容'):去掉右边的空格 LTRIM(RTRIM('内容')):去掉字符串左边和右边的空格 REPLACE(‘内容’,' ', ...

  3. 10 个优质的 Laravel 扩展推荐

    这里有 10+ 个用来搭建 Laravel 应用的包 为何会创建这个包的列表?因为我是一个「比较懒」的开发者,在脸书上是多个 Laravel 小组的成员.平日遇到最多的问题就是开发是需要用那些包.我很 ...

  4. 【转】实践最有效的提高Android Studio运行、编译速度方案

    原文:https://blog.csdn.net/xwh_1230/article/details/60961723 实践最有效的提高Android Studio运行.编译速度方案 最有效提升Andr ...

  5. C语言:10个整数排序(别忘了负数)

    题目内容: 10个整数排序(别忘了负数) 例如 input 1 0 2 0 3 4 1 9 8 7 output 0 0 1 1 2 3 4 7 8 9 编码: void sort(int *a); ...

  6. 配置tomcat报错: Unknown version of Tomcat was specified.

    报错原因:路劲没选择对,应选择bin文件夹的上一层目录,也不能选择bin目录

  7. loadrunner日志信息

    日志分两种1.在VUGEN中运行后的日志2.在controller中运行后的日志 日志设置分两步:1.首先,在VUGEN或controller中run-time setting, 选中always s ...

  8. 阿里云ali-oss图片增加水印

    先附上文档连接 : https://helpcdn.aliyun.com/document_detail/44957.html 水印文字或图片必须经过一下转化 URL安全的Base64位编码 在图片处 ...

  9. mysql 存储过程详解

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  10. 洛谷P2671 求和 [数论]

    题目传送门 求和 格式难调,题面就不放了. 分析: $ZYYS$的一道题. 很显然是大力推公式.我们分析一下题目,实际上限制条件就是:下标同奇偶且颜色相同的数,那么我们先拿这个公式$(x+z)*(nu ...