Skip to main content

DML And TCL Queries

DML(Data Manipulation Language)/TCL(Transaction Control Lanuage)

DMLDML 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 a database.
                ➤INSERT
➤UPDATE
➤DELETE
➤MERGE

NOTE:- (ORACLE DO NOT FIRE AUTOCOMMIT FOR ANY DML STATEMENT)

 TCL :- TRANSACTION CONTROL LANGUAGE
      ➤COMMIT
      ➤ROLLBACK
     
SQL> SELECT * FROM TAB;

TNAME                          TABTYPE  CLUSTERID                               
------------------------------ ------- ----------                               
COUNTRIES                          TABLE                                            
DEPARTMENTS                    TABLE                                            
DEPT                                       TABLE                                            
E                                               TABLE                                            
EMPLOYEES                          TABLE                                            
EMP_DETAILS_VIEW           VIEW                                             
JOBS                                        TABLE                                            
JOB_HISTORY                       TABLE                                            
LOCATIONS                           TABLE                                            
REGIONS                                TABLE                                            

10 rows selected.

SQL> DESC E
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPID                                              NUMBER(10)
 FIRST_NAME                                  VARCHAR2(15)
 SALARY                                           NUMBER(7,2)

Insert Query:-

SQL> INSERT INTO E VALUES(1,'RAM',3000);

1 row created.

SQL> INSERT INTO E VALUES(1,'KRISH',NULL);

1 row created.


SQL> INSERT INTO E(EMPID,SALARY) VALUES(2,3000);

1 row created.

SQL> DESC E
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPID                                              NUMBER(10)
 FIRST_NAME                                  VARCHAR2(15)
 SALARY                                           NUMBER(7,2)

SQL> INSERT INTO E (SELECT * FROM EMPLOYEES);
INSERT INTO E (SELECT * FROM EMPLOYEES)
            *
ERROR at line 1:
ORA-00913: too many values 


SQL> DESC E
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPID                                              NUMBER(10)
 FIRST_NAME                                  VARCHAR2(15)
 SALARY                                           NUMBER(7,2)

SQL> DESC EMPLOYEES
 Name                                                Null?                Type
 -----------------------------------------   --------                ----------------------------
 EMPLOYEE_ID                             NOT NULL        NUMBER(6)
 FIRST_NAME                                                            VARCHAR2(20)
 LAST_NAME                                 NOT NULL         VARCHAR2(25)
 EMAIL                                            NOT NULL         VARCHAR2(25)
 PHONE_NUMBER                                                     VARCHAR2(20)
 HIRE_DATE                                   NOT NULL         DATE
 JOB_ID                                           NOT NULL         VARCHAR2(10)
 SALARY                                                                     NUMBER(8,2)
 COMMISSION_PCT                                                  NUMBER(2,2)
 MANAGER_ID                                                          NUMBER(6)
 DEPARTMENT_ID                                                    NUMBER(4)

SQL> INSERT INTO E (SELECT EMPLOYEE_ID,LAST_NAME,SALARY FROM EMPLOYEES WHERE DEPARTMENT_ID=30);

6 rows created.

SQL> SELECT * FROM E;

     EMPID      FIRST_NAME             SALARY                                           
     ----------       ---------------                ----------                                           
         1               RAM                           3000                                           
         1               KRISH                                                                
         2                                                   3000                                           
       114             Raphaely                    11000                                           
       115             Khoo                           3100                                           
       116             Baida                          2900                                           
       117             Tobias                         2800                                           
       118             Himuro                       2600                                           
       119             Colmenares                 2500                                           

9 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM E;

no rows selected

SQL> INSERT INTO E (SELECT EMPLOYEE_ID,LAST_NAME,SALARY FROM EMPLOYEES WHERE DEPARTMENT_ID=30);

6 rows created.

SQL> SELECT * FROM E;

     EMPID           FIRST_NAME          SALARY                                           
     ----------          ---------------               ----------                                           
       114               Raphaely                    11000                                           
       115               Khoo                          3100                                           
       116               Baida                          2900                                           
       117               Tobias                         2800                                           
       118               Himuro                       2600                                           
       119               Colmenares                 2500                                           

6 rows selected.

SQL> COMMIT;

Commit complete.

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM E;

     EMPID              FIRST_NAME          SALARY                                           
----------                  ---------------                ----------                                           
       114                   Raphaely                     11000                                           
       115                   Khoo                           3100                                           
       116                   Baida                          2900                                           
       117                   Tobias                         2800                                           
       118                   Himuro                       2600                                           
       119                   Colmenares                 2500                                           

6 rows selected.
Update queries:-

SQL> UPDATE E SET SALARY=12000;

6 rows updated.

SQL> SELECT * FROM E;

     EMPID              FIRST_NAME    SALARY                                           
----------                   ---------------        ---------                                           
       114                   Raphaely             12000                 115                   Khoo                   12000                 116                   Baida                  12000                 117                   Tobias                 12000                                           
       118                   Himuro               12000                                           
       119                  Colmenares          12000                                           

6 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM E;

     EMPID    FIRST_NAME     SALARY                                           
----------         ---------------        ----------                                           
       114         Raphaely             11000                                           
       115         Khoo                    3100                                           
       116         Baida                   2900                                           
       117         Tobias                  2800                                           
       118         Himuro                2600                                           
       119         Colmenares         2500                                           

6 rows selected.

SQL> UPDATE E SET SALARY=12000 WHERE EMPID=114;

1 row updated.

SQL> SELECT * FROM E;

     EMPID   FIRST_NAME     SALARY                                           
----------       ---------------        ----------                                           
       114       Raphaely             12000                                           
       115       Khoo                    3100                                           
       116       Baida                   2900                                           
       117       Tobias                  2800                                           
       118       Himuro                2600                                           
       119       Colmenares          2500                                           

6 rows selected.

SQL> COMMIT;

Commit complete.

SQL> 
SQL> DELETE FROM E;

6 rows deleted.

SQL> SELECT * FROM E;

no rows selected

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM E;

     EMPID   FIRST_NAME    SALARY                                           
----------      ---------------         ----------                                           
       114      Raphaely                12000                                           
       115      Khoo                      3100                                           
       116     Baida                      2900                                           
       117     Tobias                     2800                                           
       118     Himuro                   2600                                           
       119     Colmenares            2500                                           

6 rows selected.

SQL> DELETE FROM E WHERE EMPID=119;

1 row deleted.

SQL> COMMIT;

Commit complete.

SQL> 
SQL> SELECT * FROM E;

     EMPID   FIRST_NAME      SALARY                                           
----------        ---------------        ----------                                           
       114        Raphaely             12000                                           
       115        Khoo                   3100                                           
       116        Baida                  2900                                           
       117        Tobias                 2800                                           
       118        Himuro               2600                                           


MERGE Query :-

SQL> CREATE TABLE DUP AS SELECT * FROM E;

Table created.

SQL> SELECT * FROM DUP;

     EMPID  FIRST_NAME     SALARY                                           
----------       ---------------         ----------                                           
       114       Raphaely              12000                                           
       115       Khoo                     3100                                           
       116       Baida                    2900                                           
       117       Tobias                   2800                                           
       118       Himuro                 2600                                           

SQL> INSERT INTO E VALUES(119,'Ram',3000);

1 row created.

SQL> UPDATE E SET SALARY=SALARY+3000,FIRST_NAME='Krish' WHERE EMPID=115;

1 row updated.

SQL> SELECT * FROM E;

     EMPID   FIRST_NAME    SALARY                                           
----------       ---------------         ----------                                           
       114        Raphaely             12000                                           
       115        Krish                   6100                                           
       116        Baida                   2900                                           
       117        Tobias                  2800                                           
       118        Himuro                2600                                           
       119        Ram                     3000                                           

6 rows selected.
SQL> COMMIT;
Commit complete.

SQL> SELECT * FROM DUP;

     EMPID   FIRST_NAME     SALARY                                           
----------       ---------------         ----------                                           
       114       Raphaely              12000                                           
       115       Khoo                    3100                                           
       116       Baida                   2900                                           
       117       Tobias                  2800                                           
       118       Himuro                2600                                           

SQL> MERGE INTO DUP USING E ON(E.EMPID=DUP.EMPID)
  2  WHEN MATCHED THEN
  3  UPDATE SET
  4  DUP.FIRST_NAME=E.FIRST_NAME,
  5  DUP.SALARY=E.SALARY
  6  WHEN NOT MATCHED THEN
  7  INSERT VALUES(E.EMPID,E.FIRST_NAME,E.SALARY);

6 rows merged.


SQL> commit;

Commit complete.

SQL> select * from e;

     EMPID   FIRST_NAME     SALARY                                           
----------       ---------------          ----------                                           
       114        Raphaely             12000                                           
       115        Krish                   6100                                           
       116        Baida                  2900                                           
       117        Tobias                 2800                                           
       118        Himuro               2600                                           
       119        Ram                    3000                                           

6 rows selected.

SQL> select * from dup;

     EMPID    FIRST_NAME          SALARY                                           
----------        ---------------               ----------                                           
       114         Raphaely                   12000                                           
       115          Krish                        6100                                           
       116          Baida                       2900                                           
       117          Tobias                      2800                                           
       118          Himuro                    2600                                           
       119           Ram                        3000                                           

6 rows selected.

SQL> COMMIT;

Comments

Popular posts from this blog

DDL Queries

                        DDL(DATA DEFINITION LANGUAGE)             DDL  refers to "Data Definition Language", a subset of SQL statements that change the structure of the database schema in some way, typically by creating, deleting, or modifying schema objects such as databases, tables, and views.    ➤CREATE ➤ALTER ➤DROP ➤TRUNCATE   ➤RENAME ➥ Create Query:- ➧     CREATE TABLE EMP(EMPID NUMBER(5),NAME VARCHAR2(15), SALARY  NUMBER(7,2),EMAIL VARCHAR(20)); ➧    CREATE TABLE DEPT AS SELECT * FROM DEPARTMENTS; "This Query will Create Table when we want to copy the data of any table into new table.Here old table is DEPARTMENTS. ➥ Alter Query :-  ALTER' COMMAND IS USED TO MODIFY TABLE STRUCTURE. ➧     ALTER TABLE EMP MODIFY EMPID NUMBER(10);  "this will change the data type of any attribute in the table." ➧ ALTER TABLE EMP RENAME COLUMN NAME TO FIRST_NAME; ➧  ALTER TABLE EMP DROP COLUMN HIRE_DATE;

Constraints

                                    CONSTRAINTS Constraints is a rule which enforce entry of only valid data in table. Constraints prevent the deletion of a table if there are dependencies. Types of Constraints:-   ➥ PRIMARY KEY= (unique + not null)   ➥ FOREIGN KEY   ➥ NOT NULL   ➥ UNIQUE   ➥ CHECK ➧PRIMARY KEY:- Specifies the column that uniquely identifies a row in the table. The identified columns must be defined as NOT NULL.  ➧FOREIGN KEY:- Specifies that the values in the column must correspond to values in a referenced primary key or unique key column. ➧NOT NULL:- Specifies that this column cannot hold NULL values. ➧UNIQUE:- Specifies that values in the column must be unique. Column can contain NULL value. ➧CHECK:- Specifies Domain for Column values. A CONSTRAINT can be one of the following: * A column-level constraint * A table-level constraint ➮ Primary Key: SQL> CREATE TABLE EMP(ID NUMBER(3) PRIMAR

Aggregate And Numeric Functions.

                   Aggregate And Numeric Functions SQL has many built-in functions for performing processing on string or numeric data. ➥ AGGREGATEE FUNCTIONS:-    ➧ Average function : Returns average value of 'n', ignoring null values.         Example: SE LECT AVG(sell_price) from product;      ➧ COUNT  :Counts rows in a specified table or view.        Example: SELECT    COUNT ( * ) FROM products ;     ➧ MIN  : G ets the minimum value in a set of values.         Example: SELECT MIN ( unitsinstock ) FROM   products ;     ➧ MAX  : Gets the maximum value in a set of values.         Example: SELECT    MAX ( unitsinstock ) FROM    products ;     ➧ SUM  :Ca lculates the sum of values       Example:SELECT  SUM(bal_due) from client_master;         ➥ NUMERIC FUNCTIONS:- ABS(number) Returns the absolute positive value of an expression. Syntax : ABS(expression) Example : SELECT ABS(-1.0), ABS(0.0), ABS(1.0) Output : 1.0   .0   1.0 CEIL(numb