what are available database management systems to use with c applications?

Dani AI

Generated

As noted, most modern databases expose either a native C client library or can be accessed through an ODBC driver. A short, practical breakdown for follows to help pick the right option by architecture and constraints.

Embedded (single-process, zero‑admin): SQLite provides a compact, transactional C API and is ideal for desktop/mobile/embedded apps (SQLite C API). For high-performance key/value storage consider embeddable engines like Berkeley DB (Berkeley DB).
Server RDBMS (multiuser, heavy concurrency): use the database vendor's C client for best performance—for PostgreSQL that is libpq (libpq docs).
Vendor-agnostic access: ODBC lets a single C program talk to many back ends at the cost of extra abstraction (ODBC documentation).
In-memory / caching: Redis has a lightweight C client (hiredis) for caching and pub/sub use cases (hiredis on GitHub).

Practical notes: prefer the native C API when performance and feature access matter; use ODBC for portability. Always consider transaction support, thread safety, connection pooling, licensing, and backup/restore options before integrating. Follow the chosen API's docs for linking flags and build-time thread options.

Practically all modern DBMS (may be except some OODBMS) have C interfaces (direct or via ODBC).
Try MySQL, for example...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.