Data control language is a subset of the Structured Query Language (SQL), which is typically used to extract and control information stored in a database. Whereas the basic SQL language deals with data manipulation within the database, data control language deals with granting specific end-users authority to execute certain types of commands within the database. Data control language gives a database administrator the ability to manipulate and tailor the privileges of an end-user to enforce security and maintain a hierarchy of control over the information in the database.
Like SQL, data control language is a natural language. This means that the commands used within the language attempt to be as free from jargon and ambiguity as possible, providing a more friendly environment to enable individuals who aren't very technologically savvy to utilize the features of the database. Unlike other languages such as C++, Java, and Visual Basic, which utilize commands that are not intuitively understandable to laypersons, SQL and data control language are formulated to make their command strings fairly elementary. For example, in SQL, the command "SELECT All FROM Employees WHERE Salary>=50,000" would return a list of all individuals in an "Employees" database whose salary equals or exceeds $50,000 US Dollars (USD).
Data control language is a bit different, as its goal is to manipulate privileges rather than information in the database. The two most prominent commands in data control language are the GRANT and the REVOKE elements. Through these, as their names imply, the database administrator can either provide or deny a specific privilege to an end-user of the database. Common privileges include the ability to connect with the database through the CONNECT command; select rows and columns from the database through the SELECT command; insert new information into the database through the INSERT command; update existing information within the database through the UPDATE command; delete existing information from the database through the DELETE command; or execute specific commands or code within the database through the EXECUTE command.