I have heard the terms DDL and DML in reference to databases, but I don't understand what they are.
What are they and how do they relate to SQL?
DDL is Data Definition Language : it is used to define data structures.
For example, with SQL, it would be instructions such as create table
, alter table
, ...
DML is Data Manipulation Language : it is used to manipulate data itself.
For example, with SQL, it would be instructions such as insert
, update
, delete
, ...
More information see here: MySQL What is DDL, DML and DCL?, the original is as follows:
DDL
DDL is short name of Data Definition Language, which deals with database schemas and descriptions, of how the data should reside in the database.
- CREATE – to create database and its objects like (table, index, views, store procedure, function and triggers)
- ALTER – alters the structure of the existing database
- DROP – delete objects from the database
- TRUNCATE – remove all records from a table, including all spaces allocated for the records are removed
- COMMENT – add comments to the data dictionary
- RENAME – rename an object
DML
DML is short name of Data Manipulation Language which deals with data manipulation, and includes most common SQL statements such SELECT, INSERT, UPDATE, DELETE etc, and it is used to store, modify, retrieve, delete and update data in database.
- SELECT – retrieve data from the a database
- INSERT – insert data into a table
- UPDATE – updates existing data within a table
- DELETE – Delete all records from a database table
- MERGE – UPSERT operation (insert or update)
- CALL – call a PL/SQL or Java subprogram
- EXPLAIN PLAN – interpretation of the data access path
- LOCK TABLE – concurrency Control
DCL
DCL is short name of Data Control Language which includes commands such as GRANT, and mostly concerned with rights, permissions and other controls of the database system.
- GRANT – allow users access privileges to database
- REVOKE – withdraw users access privileges given by using the GRANT command
TCL
TCL is short name of Transaction Control Language which deals with transaction within a database.
- COMMIT – commits a Transaction
- ROLLBACK – rollback a transaction in case of any error occurs
- SAVEPOINT – to rollback the transaction making points within groups
- SET TRANSACTION – specify characteristics for the transaction
DDL is Data Definition Language : Specification notation for defining the database schema. It works on Schema level.
DDL commands are:
create,drop,alter,rename
For example:
create table account (
account-number char(10),
balance integer);
DML is Data Manipulation Language .It is used for accessing and manipulating the data.
DML commands are:
select,insert,delete,update,call
For example :
update account set balance = 1000 where account_number = 01;
DDL, Data Definition Language
- Create and modify the structure of database object in a database.
- These database object may have the Table, view, schema, indexes....etc
e.g.:
CREATE
,ALTER
,DROP
,TRUNCATE
,COMMIT
, etc.
DML, Data Manipulation Language
DML statement are affect on table. So that is the basic operations we perform in a table.
- Basic crud operation are perform in table.
- These crud operation are perform by the
SELECT
,INSERT
,UPDATE
, etc.
Below Commands are used in DML:
INSERT
,UPDATE
,SELECT
,DELETE
, etc.
In layman terms suppose you want to build a house, what do you do.
DDL
i.e Data Definition Language
- Build from scratch
- Rennovate it
- Destroy the older one and recreate it from scratch
that is
CREATE
ALTER
DROP & CREATE
DML
i.e. Data Manipulation Language
People come/go inside/from your house
SELECT
DELETE
UPDATE
TRUNCATE
DCL
i.e. Data Control Language
You want to control the people what part of the house they are allowed to access and kind of access.
GRANT PERMISSION
DML is abbreviation of Data Manipulation Language. It is used to retrieve, store, modify, delete, insert and update data in database.
Examples: SELECT, UPDATE, INSERT statements
DDL is abbreviation of Data Definition Language. It is used to create and modify the structure of database objects in database.
Examples: CREATE, ALTER, DROP statements
Visit this site for more info: http://blog.sqlauthority.com/2008/01/15/sql-server-what-is-dml-ddl-dcl-and-tcl-introduction-and-examples/
DDL is Data Definition Language: Just think you are defining the DB.
So we use CREATE,ALTER TRUNCATE commands.
DML is after defining we are Manipulating the data. So we use SELECT,INSERT, UPDATE, DELETE command.
Remember DDL commands are auto-committed. You don't need to use COMMIT statements.
DML (Data Manipulation Language) commands need to be commited/rolled back.
In simple words.
DDL(Data definition language): will work on structure of data. define the data structures.
DML (data manipulation language): will work on data. manipulates the data itself
DDL: Change the schema
DML: Change the data
Seems specific to MySQL limitations (rails's source code)
DDL
Create,Alter,Drop of (Databases,Tables,Keys,Index,Views,Functions,Stored Procedures)
DML
Insert ,Delete,Update,Truncate of (Tables)
DDL stands for Data Definition Language. DDL is used for defining structure of the table such as create a table or adding a column to table and even drop and truncate table. DML stands for Data Manipulation Language. As the name suggest DML used for manipulating the data of table. There are some commands in DML such as insert and delete.
来源:https://stackoverflow.com/questions/2578194/what-is-ddl-and-dml