Introduction to Data Definition Language
Data Definition Language is a programming language through which data structures are defined. Acronymed as DDL, it can be considered as a standard that specifies commands through which data structures are defined.
There are four kinds of data languages:
Data Definition Language (DDL): Code the data structures.
Data Manipulation Language (DML): Store and play with the data in those structures.
Data Control Language (DCL): Decide who can play with the structure as well as the data.
Data Query Language (DQL): Query the database for results and data mining.
Thus, in the simplest terms, DDL is a computer language used to code data structures.
Why Data Definition Language?
Data Definition Language dates back to the CODASYL database model. The schema of the database was written in a syntactical language. It was thorough in its description of the records, sets, fields, and the model as a whole. This was gradually adopted as a standard for declaring tables, columns, constraints, etc in Structured Query Language (SQL). Thus, over time, DDL became a subset of SQL.
How Data Definition Language Works?
DDL is a set of guidelines to which all the Structured Query Languages adhere to. As in the computer programming languages, we have the OOPS guidelines that all the programming languages adhere to, similarly, we have Data Definition Language standards that all the database languages adhere to – MySQL, Oracle, SQL Server, etc.
Data Definition Language deals with the structure of the database where the data is to be stored. It does not deal with the data itself. Thus, in any structured query language, a command that can modify the structure or the tables or relations of the database, is a DDL command. A command that modifies the data stored is a DML command. A command that modifies the authorization rules is a DCL command. A command that queries the database to fetch results is a DQL command.
Data Definition Language Commands
One thing needs to be thoroughly kept in mind – DDL deals with the structure of the database and not the data itself.
So, the first command under DDL is the Create command. The Create command is used to create a new database or a new component in the database like tables, stored procedure, index, etc.
Let’s see all the commands one by one in action.
Note 1: The examples below use MySQL v8.0.16 CLI.
Note 2: Most of the structured query languages are case insensitive, which means the commands are the same whether in upper case or lower case.
The Create Database command creates a new database.
CREATE DATABASE <DatabaseName>
CREATE DATABASE ExampleDB;
Now that we have a new database created, we need to create tables in our database.
CREATE TABLE <TableName> (
CREATE TABLE Employees (
Our table is created. Now we can add data to it and query the results as and when needed.
Now let’s look at the Alter commands in DDL. They are used to modify the tables to add, rename, edit or delete a column. Alter command can also rename the table itself.
Let’s see the various Alter DDL commands:
Add a column
The Alter Table command allows us to add a column to an existing table.
ALTER TABLE <TableName> ADD <ColumnName> <DataType>
Modify a column
The Alter Table command allows us to modify an existing column in an existing table. This is useful when modifying the type or the size of the column.
ALTER TABLE <TableName> MODIFY <ColumnName> <DataType>
An important thing to keep in mind is that we cannot rename a column with the modify sub-command. To rename, there is a separate sub-command.
Rename a table
The Alter Table command allows us to rename a table.
ALTER TABLE <TableName> RENAME TO <NewTableName>
Rename a column
The Alter Table command allows us to rename a column in an existing table.
ALTER TABLE <TableName> RENAME COLUMN <ColumnName> TO <NewColumnName>
Delete a column
The Alter Table command allows us to delete a column and its entire data from an existing table.
ALTER TABLE <TableName> DROP COLUMN <ColumnName>
Run the below lines of command in sequence to add a new column to the table, modify the type of the column, rename the column, drop the column and finally rename the table itself.
ALTER TABLE Employees ADD Department VARCHAR(20);
ALTER TABLE Employees MODIFY Department INT;
ALTER TABLE Employees RENAME COLUMN Department TO DepartmentId;
ALTER TABLE Employees DROP COLUMN DepartmentId;
ALTER TABLE Employees RENAME TO Employee;
The DROP commands are used to delete objects from the database or the schema. It can delete a table, view, stored procedure, index or even a database.
Drop Table command deletes the whole table along with all the data.
DROP TABLE <TableName>
DROP TABLE Employee;
Drop Database command deletes the database and all the objects in it.
DROP DATABASE <DatabaseName>
DROP DATABASE ExampleDB;
Advantages of Data Definition Language
The single largest advantage of Data Definition Language is uniformity.
A set of standards to which all Structured Query Languages conform.
Through DDL, the database schemas can be written in command forms and stored easily.
This also becomes easy to understand and write new command over time.
Thus, DDL, DML, DCL, and DQL bring uniformity at the very elementary level of all the structured query languages out there.
In this article, we have learned about the Data Definition Language, its concept, its purpose and a few examples in MySQL. It is recommended to understand the concept of DDL as it is a frequent test of knowledge in the Information Technology world.
This has been a guide to Data Definition Language. Here we discuss the introduction, how it works and data definition language commands. You may also have a look at the following articles to learn more –
Read more: educba.com