Menu

Articles

SQLite UPSERT: Insert or Update on Conflict

Learn SQLite upsert syntax to skip duplicates or update a conflicting row with the proposed values, including version and constraint caveats.

Install MariaDB on openSUSE with zypper

Install MariaDB Server on openSUSE with zypper, start its systemd service, secure the local instance, and create a database and user.

Install PostgreSQL on Ubuntu 26.04 LTS

Install PostgreSQL on Ubuntu 26.04 LTS, create an application role and database, or choose a major version from PGDG; verify the service and connect with psql.

MariaDB SPIDER_DIRECT_SQL(): Syntax, Prerequisites, and Examples

Learn how the MariaDB SPIDER_DIRECT_SQL() UDF runs SQL on a Spider backend, stores result sets in a local table, and returns a success status.

Python Oracle CRUD with python-oracledb

Learn to create, read, update, and delete Oracle Database rows from Python with python-oracledb, bind variables, and explicit transaction handling.

SQL Server Top N Rows per Group with ROW_NUMBER()

Return the newest or highest-value N rows for each SQL Server group with ROW_NUMBER() or RANK(), including tie handling and deterministic ordering.

SQL UPSERT Syntax by Database

Compare SQL insert-or-update patterns for MySQL, MariaDB, PostgreSQL, SQLite, Oracle, and SQL Server, with unique-key and concurrency caveats.

MariaDB UPSERT with ON DUPLICATE KEY UPDATE

Learn MariaDB INSERT … ON DUPLICATE KEY UPDATE for insert-or-update operations, including VALUES(), multi-row inserts, INSERT … SELECT, and unique-key caveats.

Oracle UPSERT with MERGE: Insert or Update Rows

Use Oracle MERGE to update a row when its key matches or insert it when no row matches, with bind variables, unique-key rules, and batch guidance.

MySQL Error 1007: Database Already Exists (HY000)

Fix MySQL Error 1007 when CREATE DATABASE finds an existing database. Check its settings, reuse it, alter its defaults, or replace it safely.