What is SQL and what are its main components?
Answer
SQL (Structured Query Language) is a standardized programming language designed for managing and manipulating relational databases. It provides a way to communicate with database management systems to perform various operations on data.
Main Components of SQL
1. DDL (Data Definition Language)
Commands that define the database structure:
CREATE- Creates database objects (tables, indexes, views)ALTER- Modifies existing database objectsDROP- Deletes database objectsTRUNCATE- Removes all records from a table
-- Example DDL commands
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10,2)
);
ALTER TABLE employees ADD COLUMN department VARCHAR(50);
DROP TABLE employees;2. DML (Data Manipulation Language)
Commands that manipulate data within tables:
SELECT- Retrieves data from tablesINSERT- Adds new recordsUPDATE- Modifies existing recordsDELETE- Removes records
-- Example DML commands
INSERT INTO employees (id, name, salary) VALUES (1, 'John Doe', 50000);
SELECT * FROM employees WHERE salary > 40000;
UPDATE employees SET salary = 55000 WHERE id = 1;
DELETE FROM employees WHERE id = 1;3. DCL (Data Control Language)
Commands that control access to data:
GRANT- Gives user access privilegesREVOKE- Removes user access privileges
-- Example DCL commands
GRANT SELECT, INSERT ON employees TO user1;
REVOKE INSERT ON employees FROM user1;4. TCL (Transaction Control Language)
Commands that manage database transactions:
COMMIT- Saves transaction changesROLLBACK- Undoes transaction changesSAVEPOINT- Creates a point within a transactionSET TRANSACTION- Sets transaction properties
-- Example TCL commands
BEGIN TRANSACTION;
INSERT INTO employees (id, name, salary) VALUES (2, 'Jane Smith', 60000);
SAVEPOINT sp1;
UPDATE employees SET salary = 65000 WHERE id = 2;
ROLLBACK TO sp1;
COMMIT;Key Features of SQL
- Declarative Language: You specify what you want, not how to get it
- Standardized: ANSI/ISO standard with vendor-specific extensions
- Portable: Works across different database systems
- Powerful: Handles complex queries and data operations
- Scalable: Efficient for both small and large datasets
Common SQL Database Systems
- MySQL - Open-source, widely used for web applications
- PostgreSQL - Advanced open-source with extensive features
- Microsoft SQL Server - Enterprise-grade database system
- Oracle Database - High-performance enterprise solution
- SQLite - Lightweight, embedded database
Interview Tips
- Understand that SQL is both a language and a standard
- Know the four main categories of SQL commands
- Be familiar with basic syntax and common operations
- Understand that different database systems may have slight variations
- Practice writing basic queries for each command type
Test Your Knowledge
Take a quick quiz to test your understanding of this topic.