1. Introduction to MySQL
Overview
What is MySQL?
History and Evolution of MySQL
Features of MySQL
MySQL Editions (Community, Enterprise, Cluster, etc.)
Database Basics
Database, Table, Row, and Column
Relational Database Concepts
SQL vs MySQL
2. Installation and Setup
Installing MySQL
MySQL Installer for Windows
Installing on Linux/MacOS (Using apt or yum)
MySQL Configuration
Setting Up Environment Variables
MySQL Server and Client
Starting and Stopping MySQL Service
MySQL Tools
MySQL Workbench
phpMyAdmin
Command-Line Client
3. MySQL Basics
Connecting to MySQL
Logging In and Out of MySQL
Selecting a Database
Basic Commands
Creating a Database
Showing Databases and Tables
Selecting, Using, and Dropping Databases
Data Types
Numeric Data Types (INT, FLOAT, DECIMAL, etc.)
String Data Types (CHAR, VARCHAR, TEXT, etc.)
Date and Time Data Types (DATE, DATETIME, TIMESTAMP)
4. Working with Tables
Creating Tables
Syntax for CREATE TABLE
Defining Primary Keys and Constraints
Auto-Increment Fields
Modifying Tables
Adding, Dropping, and Modifying Columns
Renaming Tables
Deleting Tables
Dropping Tables
Truncating Tables
5. CRUD Operations
Insert Operations
Using INSERT INTO Syntax
Inserting Multiple Rows
Read Operations
Using SELECT Statements
Filtering Data with WHERE
Sorting Results with ORDER BY
Limiting Results with LIMIT
Update Operations
Updating Records with UPDATE
Using Conditions in Updates
Delete Operations
Deleting Records with DELETE
Using Conditions in Deletes
6. Querying Data
Joins
Inner Join
Left Join
Right Join
Full Outer Join
Cross Join
Subqueries
Single Row Subqueries
Multiple Row Subqueries
Correlated Subqueries
Union and Intersect
Combining Queries with UNION
Using UNION ALL
INTERSECT and EXCEPT
Grouping Data
Using GROUP BY
Aggregate Functions (SUM, AVG, COUNT, MIN, MAX)
Filtering Groups with HAVING
7. Constraints and Indexing
Constraints
Primary Key
Foreign Key
Unique Key
Not Null
Check Constraint
Indexes
Creating Indexes
Types of Indexes (Unique, Composite, Full-Text)
Dropping Indexes
Advantages and Disadvantages of Indexing