Oracle Tutorial

  • Oracle SQL Tutorial For Beginners
You are here: Home / Oracle Basics / Introduction to DML and DDL commands in Oracle

Introduction to DML and DDL commands in Oracle

October 13, 2018 By hash (Updated: October 13, 2018) Leave a Comment

DML commands in Oracle and DDL commands in Oracle deals with the data and database objects respectively. Meaning, DML commands tells the database to insert, delete, update data whereas the DDL commands instruct Oracle to create, update, delete the objects containing the data in it.

We have come across Oracle SELECT queries till now. A SELECT query to fetch all the id, full names, numbers from employees table would look like the following.

select employee_id
     , first_name || ' ' || last_name "Full Name"
     , phone_number
  from employees;

These are the SELECT Queries. These queries neither modify data or Oracle database objects.

This page contains (Skip to topic)..

  • DML commands in Oracle
  • DDL commands in Oracle
  • DML & DDL Commands in Oracle with Syntax & Examples
    • CREATE TABLE DDL Commands In Oracle
      • CREATE TABLE Syntax & Example
    • INSERT INTO – DML Commands In Oracle
    • ALTER – DDL Commands In Oracle
    • UPDATE – DML Commands In Oracle
    • DELETE – DML Commands In Oracle
      • DELETE Syntax & Example
    • DROP – DDL Commands In Oracle
      • DROP Table Syntax & Example
    • TRUNCATE – DDL Commands In Oracle
      • TRUNCATE Syntax & Example

DML commands in Oracle

Sometimes we may want to do insert new data, delete some old data or update old data to latest. We need the DML Commands in Oracle for the same. The Oracle DML commands are listed and briefly explained below.

  • INSERT
  • UPDATE
  • DELETE

DDL commands in Oracle

There are situations when we want to remove a table from the Oracle database, add a column to an existing table or even changing the datatype of a column etc. Whether we want to rename a database object or completely remove from the Oracle database, we need the Data Definition Language also known as DDL commands in Oracle.

  • CREATE
  • ALTER
  • DROP
  • TRUNCATE

Let us understand the DDL and DML commands in Oracle in step by step with syntax.

First of all, let us CREATE a TABLE. We need to know CREATE TABLE DDL Command for the same.

DML & DDL Commands in Oracle with Syntax & Examples

CREATE TABLE DDL Commands In Oracle

CREATE TABLE command allows creating a new table in the Oracle database. Here is its Syntax with examples.

CREATE TABLE Syntax & Example

create table table_name(
column1 datatype1,
column2 datatype2,
column3 datatype3,
...
...
column1 datatypeN
);

Let us create a student_t table. The table contains student_name, student_sex, student_phone number of datatypes varchar2(30), char(1) and number(10) respectively.

create table student_t(
 student_name varchar2(30),
 student_sex char(1),
 student_phone number(10)
);

Result:
Table STUDENT_T created.

Also understand: What are the differences between varchar2 and char datatype in Oracle?

INSERT INTO – DML Commands In Oracle

We created the student_t table. Now, we will insert a row into that table using Oracle INSERT INTO command.

The syntax for the INSERT INTO command is as follows.

insert into table_name(column1, column2, column3, ..., columnN)
values(value1, value2, value3, ..., valueN);

So, here is the query to insert a row or record into the student_t table.

insert into student_t(student_name, student_sex, student_phone)
values('Sameer', 'M', 8249410773);

Result:
1 row inserted.

ALTER – DDL Commands In Oracle

ALTER Command is one of the DDL Commands in Oracle which helps to modify database objects.

Let us say we want to store the country code along with the phone number. Hence the student_phone number(10) datatype needs to be changed. We need to modify the Oracle table student_t’s student_phone datatype to the number(12). So, how do you do that?

Here is the existing student_t structure.

DESC student_t;

Result:
Name          Null? Type         
------------- ----- ------------ 
STUDENT_NAME        VARCHAR2(30) 
STUDENT_SEX         CHAR(1)      
STUDENT_PHONE       NUMBER(10)

Data inside the student_t is as follows.

select * from student_t

Result:
STUDENT_NAME                   S STUDENT_PHONE
------------------------------ - -------------
Sameer                         M    8249410773

We can change the column datatype with the help of ALTER TABLE command.

alter table student_t modify
    student_phone number(12);
DESC student_t;

Result:
Name          Null? Type 
------------- ----- ------------ 
STUDENT_NAME        VARCHAR2(30) 
STUDENT_SEX         CHAR(1) 
STUDENT_PHONE       NUMBER(12)

The column student_phone can now hold 12 digit number i.e. 918249410773. We did not have to remove the data and change. We can always change the datatype to higher if the data present in that column is compliant to the new datatype.

For more please visit, ALTER DDL Commands in Oracle with syntax and examples.

UPDATE – DML Commands In Oracle

UPDATE Oracle command helps to update a row or bunch of rows in a table. Let us see the syntax for the update and understand it with an example.

update table_name
set column_name = value
where ...;

Now we will change the mobile number of Sameer from 8249410773 to 918249401773. We can achieve that with the following query.

update student_t
set student_phone = 918249410773
where student_name = 'Sameer';

Result:
1 row updated.

Now if you query the student_t table. It will show you the updated phone number. As we manipulated or changed or modified data we call this as one on the DML Commands in SQL.

Please note that it did not change the structure or table metadata. It just updated the data inside the table.

DELETE – DML Commands In Oracle

Now let us say we do not need the student_t data anymore. We want to delete or clean up the data. How do we do that?

The answer is the DELETE statement. The DELETE command is one of the DML commands which allows to delete or remove rows from a table in Oracle database.

DELETE Syntax & Example

Delete from table_name where condition;

The query to delete the student with student_name Sameer would be as follows.

Delete from student_t where student_name = ‘Sameer’;

Now let us query the student_t table using “select * from student_t”. Well, it is having no data. Expected right !!

Now I want you to create a new session and try to run the same select query. Please keep the existing one open. You will see the data. The reason is we have not told Oracle database to make the changes permanent. We do that using the TCL Commands in Oracle.

Please note that we need to issue COMMIT command to make permanent changes to Oracle database for DML commands (INSERT, UPDATE, DELETE).

Also understand: What is the difference between DELETE and TRUNCATE command in Oracle?

DROP – DDL Commands In Oracle

DROP command removes the object from the Oracle database. So, if the object is removed then data inside the objects are also removed. Let us see DROP TABLE syntax in Oracle.

DROP Table Syntax & Example

DROP TABLE table_name;

We need to use the following query to remove the table object from the database. Here is the query to drop the table or remove the table from the Oracle database.

drop table student_t;

Also understand: How to recover a dropped table in Oracle?

TRUNCATE – DDL Commands In Oracle

Oracle TRUNCATE DDL Command removes all the rows from the Oracle table. It is faster than a DELETE on a table without the where clause.

TRUNCATE Syntax & Example

truncate table table_name;

Now let us consider the students table. We could have deleted the records in that table using DELETE DML Command without a where clause. But, it is faster and has other benefits as well. The query for the same would be as follows.

truncate tabe students;

We do not need to issue COMMIT command for TRUNCATE. However, we need to execute the COMMIT ( DCL Commands in Oracle ) for DELETE.

Also understand: Can we remove all the rows of a table without using truncate or delete command?

Please note that this oracle tutorial post is to give you a brief idea on DML Commands in Oracle and DDL Commands in Oracle. There are other commands like DCL Commands, TCL commands in Oracle. We will discuss those in the later section.

Filed Under: Oracle Basics Tagged With: oracle 12c

Your turn now. Please share your questions or feedback. :-) Cancel reply

4 × 5 =

  • Web page Design Templates
  • Database Tables
  • Column Datatypes
  • Basic SQL Query Structure
  • Setting up a working environment
  • Installing Sample Schemas And Users In Oracle 12c
  • Oracle SQL SELECT Query
  • SQL SELECT query to Select all columns data
  • SQL SELECT query to Select Some columns data
  • Oracle SELECT something FROM DUAL
  • Use SELECT Query to calculate from columns as a new column
  • Column alias in oracle
  • Oracle WHERE clause to filter rows
  • Use where clause to filter rows based on string patterns
  • Oracle WHERE with Number filters
  • Oracle where clause with filter based on dates
  • Oracle order by one column, multiple columns & column position
  • Oracle Functions
  • Oracle SUBSTR
  • Oracle LENGTH
  • Oracle CONCAT
  • Oracle LOWER
  • Oracle UPPER
  • Oracle INSTR
  • Oracle LPAD
  • Oracle RPAD
  • Oracle TO_CHAR(number)
  • Oracle TO_CHAR(datetime)
  • Oracle TO_CHAR(character)
  • Oracle ROUND(number)
  • Oracle TRUNC(number)
  • Oracle TRUNC (Date)
  • Oracle ROUND (Date)
  • Oracle SYSDATE
  • Oracle SYSTIMESTAMP
  • Oracle MONTHS_BETWEEN
  • Oracle TO_DATE
  • Oracle ADD_MONTHS
  • Oracle SQL JOINs
  • Aggregate functions (MIN, MAX, COUNT, SUM, AVG)
  • Introduction to DML and DDL commands in Oracle
Examples Zone
  1. v$version Usage Tips
  2. How to find Oracle DB Version?
  3. How to find Oracle Database Name?
  4. How to rename a column of a table?
  5. How to modify column datatype, scale or size, visibility, null checks, default value in oracle?
[ Useful Resourses ]
  1. SQL Tutorial

Copyright 2018 - Content Must Not Be Produced Elsewhere. About Our Authors | Privacy Policy | Sitemap