Structured Query
Language
DB2 Training Class 02
www.mainframes-online-training.weebly.com
Polsani Anil Kumar
Introduction to SQL
Structured Query Language (SQL) is a standard language used
to work with database objects and the data they contain.
Using SQL, we can define, alter, and delete database objects,
as well as insert, update, delete, and retrieve data values stored
in database tables.
SQL is not case sensitive & require a semicolon at the end of
each SQL statement.
SQL statements can be executed interactively using tools and
they can also be embedded in high-level programming
language source code.
Database Tables
A database most often contains one or more tables. Each table is
identified by a name (e.g. "Customers" or "Orders"). Tables contain
records (rows) with data.
Below is an example of a table called "Persons:
Person_ Last_Nam First_Nam City
Id
e
e
A0001
ANIL
HYD
A0002
SRINU
PUNE
A0003
SUNIL
BANG
Categories of SQL Statements:
DDL
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
DML
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
Categories of SQL Statements:
TCL
TCL is abbreviation of Transactional Control
Language. It is used to manage different transactions
occurring within a database.
Examples: COMMIT, ROLLBACK statements
DCL
DCL is abbreviation of Data Control Language. It is
used to create roles, permissions, and referential
integrity as well it is used to control access to database
by securing it.
Examples: GRANT, REVOKE statements
DDL Statements
The most important DDL statements in SQL are:
CREATE DATABASE - creates a new database
ALTER DATABASE - modifies a database
CREATE TABLE - creates a new table
ALTER TABLE - modifies a table
DROP TABLE - deletes a table
CREATE INDEX - creates an index (search key)
DROP INDEX - deletes an index
CREATE Statement
CREATE TABLE PROJECT
(PROJNO
CHAR(6) NOT NULL,
PROJNAME
VARCHAR(10) NOT NULL,
DEPTNO
SMALLINT,
BUDGET
DECIMAL(6,2),
STARTDATE
DATE,
ENDDATE
DATE) IN FSS197DB.FSS197TS;
CREATE TABLE EMPMAST
(EMPID SAMLLINT NOT NULL,
EFNAME CHAR(15) NOT NULL,
ELNAME VARCHAR(15) NOT NULL,
EMPDOB DATE NOT NULL,
EMPSAL DECIMAL(7,2),
EMPDEPT CHAR(5) NOT NULL,
PRIMARY KEY(EMPID)) IN FSS197DB.FSS197TS;
DB2 COBOL DATATYPES
DB2
COBOL
CHAR(n)
10 FIELD-A PIC X(n)
VARCHAR(n)
10 FIELD-A
49 FIELD-A-LENGTH PIC S9(4)COMP
49 FIELD-A-TEXT
PIC X(n)
SMALLINT
10 FIELD-A PIC S9(4) COMP
INTEGER
10 FIELD-A PIC S9(9) COMP
DECIMAL(p , q )
10 FIELD-A PIC S9(p-q) V 9(q)COMP3
DATE-YYYY-MM-DD
10 FIELD-A PIC X(10)
TIME - HH:MM:SS
10 FIELD-A PIC X(8)
TIME STAMP
10 FIELD-A PIC X(26)
Understanding Constraints
NOT NULL constraints
Default constraints
CHECK constraints
UNIQUE constraints
Referential integrity constraints
Informational constraints
CONSTRAINTs
Constraint is a mechanism to control data.
NULL: Null means unknown, If the value is not supplied
during an insertion of row then null will be inserted into this
column (Null is identified as ).
NOT NULL: We need to mandatorily pass values for the
columns defined with not null constraint. We specify all the
primary keys with Not Null.
NOT NULL WITH DEFAULT: If the value is not supplied
during an insertion of row, then based on the column default
values will be moved into the table.
ALTER and DROP
ALTER is used to modify the Table.
ALTER SYNTAX:
ALTER TABLE TABLENAME ADD COLUMN NAME
DATA TYPE CONSTRAINT;
DROP is used to drop entire Table.
DROP SYNTAX:
DROP TABLE TABLENAME;
DML
It is used to retrieve, store, modify, delete, insert and update
data in database.
INSERT INTO - inserts new data into a database
SELECT - extracts data from a database
UPDATE - updates data in a database
DELETE - deletes data from a database
INSERT
It is used to insert rows in the table.
INSERT SYNTAX:
INSERT INTO TABLE NAME
(COLUMN1, COLUMN2COLUMNn)
VALUES
(COLUMN1 VALUE, COLUMN2 VALUE.COLUMNn VALUE);
UPDATE and DELETE
Update : It is used to update all rows in the table or selective rows.
UPDATE SYNTAX:
UPDATE TABLE NAME SET COLUMN NAME = NEW VALUE
[WHERE CONDITION];
Delete : It is used to delete selective rows from table.
DELETE SYNTAX:
DELETE FROM TABLE NAME WHERE CONDITION;
SELECT
It is used to retrieve rows from the table
SELECT * FROM TABLE NAME
WHERE CONDITION
ORDER BY COLUMN NAME ASC/DESC
GROUP BY COLUMN NAME
HAVING CONDITION;
COMMIT and ROLLBACK
The COMMIT statement commits the database changes that were
made during the current transaction, making the changes
permanent.
SYNTAX:
COMMIT;
The ROLLBACK statement backs out, or cancels, the database
changes that are made by the current transaction and restores
changed data to the state before the transaction began.
SYNTAX :
ROLLBACK;
GRANT and REVOKE
It is used to give privileges on table.
GRANT SYNTAX:
GRANT SELECT, INSERT, DELETE ON TABLENAME FOR
RACFID;
REVOKE SYNTAX:
REVOKE INSERT, DELETE ON TABLENAME FROM RACFID;
Thank you
www.mainframes-online-training.weebly.com
Polsani Anil Kumar