Data manipulation language (DML) is a structured computer language used in databases to manipulate the data in some way. A few of the basic manipulations used in data manipulation language include adding to the database, changing a record, deleting a record, and moving data from one position to another. The DML commands are simple and involve one or two words, such as “SELECT” or “UPDATE”, to initiate the command. DML can be split into procedural and nonprocedural code, with the user specifying either what datum is required and how to reach it, or just what is needed, respectively. Without DML, there would be no way to manipulate the data in the database.
One of the main reasons for using a database is to store information, but the datum is typically useless or of limited use if it cannot be manipulated. DML is the standard language used to interact with the information stored in the database. Through this list of commands, a user can initiate a range of changes to the database to increase its usefulness.
Data manipulation language is a rather simple language, especially when compared to other manipulation languages, and needs just one or two words to start a command. The commands themselves are understood plainly — the “UPDATE” command is used to update a record, and a “DELETE” command is used to delete a record, for example. As a standard, the commands are entered in capital letters.
There are two sections to data manipulation language: procedural and nonprocedural. The procedural way of coding is often used in business settings and is the proper way of coding the DML request. In this schema, the user tells the database what datum the user wants to work with, and how to obtain the datum. This method tends to take more code and is a little harder on users but ensures the fidelity of the database coding and records.
The second method of coding requests is known as nonprocedural and, while it can be done, it is not the official way to work with a database. In nonprocedural data manipulation language, the user only tells the database what datum to work with, but not how to retrieve it. The commands themselves take much less code, so it will be easier for the user. At the same time, the database may generate unexpected or inefficient coding as a result of nonprocedural DML.