Skip to content

Data Manipulation Language

Data Manipulation languages come in two flavours

Procedural DML

Procedural DMLs require a user to specify * What data is needed * How the DBMS should go about acquiring this data

Declarative DML

Declarative DMLs require a user to specify * What data is needed * But not how that data should be acquired

Example:

SELECT name
FROM Customers
WHERE city = 'Agra' AND balance > 100000

  • Often, complex SQL functions are embedded in some high-level language
  • Application problems can access SQL via either
    • Language extensions that allow embedded SQL within the language
    • APIs (like python's sqlite3) that allow SQL queries to be sent to a database