Comprehensive SQL Tutorial
1. Introduction to SQL
SQL (Structured Query Language) is a standard programming language designed for managing and
manipulating
databases. It enables developers to interact with relational database systems to retrieve, update,
and manage data.
Key Features of SQL:
- Supports RDBMS (Relational Database Management Systems).
- Allows for complex querying of data using SELECT statements.
- Facilitates data manipulation (insert, update, delete) and definition (create, alter, drop).
Advantages of SQL:
- Simple and easy to learn.
- Compatible with multiple database systems (MySQL, PostgreSQL, SQL Server, etc.).
- Allows for transaction control and user permissions management.
2. Types of SQL Commands
SQL commands are categorized into five main types:
1. Data Definition Language (DDL): Used for defining and modifying database structure.
- CREATE, ALTER, DROP, TRUNCATE.
2. Data Manipulation Language (DML): Used for managing data within tables.
- INSERT, UPDATE, DELETE.
3. Data Query Language (DQL): Used for querying data from the database.
- SELECT.
4. Transaction Control Language (TCL): Used for managing database transactions.
- COMMIT, ROLLBACK, SAVEPOINT.
5. Data Control Language (DCL): Used for managing user access permissions.
- GRANT, REVOKE.
3. SQL Commands and Syntax
A. Data Definition Language (DDL)
----------------------------------
1. CREATE: Used to create databases or tables.
Syntax:
CREATE DATABASE database_name;
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
...
);
2. ALTER: Modify table structure.
Syntax:
ALTER TABLE table_name ADD column_name datatype;
3. DROP: Delete database or table.
Syntax:
DROP DATABASE database_name;
DROP TABLE table_name;
B. Data Manipulation Language (DML)
------------------------------------
1. INSERT: Add records to a table.
Syntax:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
2. UPDATE: Modify existing records.
Syntax:
UPDATE table_name SET column1 = value1 WHERE condition;
3. DELETE: Remove records.
Syntax:
DELETE FROM table_name WHERE condition;
C. Data Query Language (DQL)
-----------------------------
1. SELECT: Retrieve data.
Syntax:
SELECT column1, column2 FROM table_name WHERE condition;
D. Transaction Control Language (TCL)
--------------------------------------
1. COMMIT: Save changes.
Syntax:
COMMIT;
2. ROLLBACK: Undo changes.
Syntax:
ROLLBACK;
E. Data Control Language (DCL)
-------------------------------
1. GRANT: Provide user permissions.
Syntax:
GRANT permission_type ON object_name TO user_name;
2. REVOKE: Remove user permissions.
Syntax:
REVOKE permission_type ON object_name FROM user_name;
4. Practical Examples with 'DBMS' and 'student' Table
1. Creating a Database and Table
---------------------------------
CREATE DATABASE DBMS;
USE DBMS;
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
course VARCHAR(50),
admission_date DATE,
city VARCHAR(50)
);
2. Inserting Data
------------------
INSERT INTO student (id, name, age, course, admission_date, city) VALUES
(1, 'Amit Sharma', 20, 'Computer Science', '2023-06-15', 'Mumbai'),
(2, 'Priya Singh', 22, 'Electronics', '2023-07-01', 'Delhi');
3. Querying Data
-----------------
SELECT * FROM student;
SELECT name, city FROM student WHERE city = 'Mumbai';
4. Updating Data
-----------------
UPDATE student SET city = 'Pune' WHERE id = 1;
5. Deleting Data
-----------------
DELETE FROM student WHERE id = 2;