MySQL Clients
- MySQL General Architecture
- How MySQL Uses Disk Space and Memory
- Invoking Client Programs
- Using Option Files
- The MySQL Client
- MySQL Query Browser
- MySQL Connectors
- Third-Party APIs
Querying for Table Data and Handling Errors and Warnings
- The SELECT Statement
- Aggregating Query Results
- Using UNION
- SQL Modes
- Handling Missing or Invalid Data Values
- Interpreting Error Messages
Data Types
- Data Type Overview
- Numeric Data Types
- Character String Data Types
- Binary String Data Types
- Temporal Data Types
- NULLs
SQL Expressions
- SQL Comparisons
- Functions in SQL Expressions
- Comments in SQL Statements
MySQL Advanced Architecture
- MySQL Architecture Overview
- Client/Server Architecture
- SQL Parser and Storage Engine Tiers
- How MySQL Uses Disk Space
- How MySQL Uses Memory
The MySQL Server
- Types of MySQL Distributions
- Starting and Stopping MySQL on Windows
- Starting and Stopping MySQL on Unix(R)
- Upgrading MySQL
Configuring the MySQL Server
- MySQL Configuration
- Dynamic Server Variables
- Server SQL Modes
- Log and Status Files
- Binary Logging
Obtaining Metadata
- Metadata Access Methods
- The INFORMATION_SCHEMA Database/Schema
- Using SHOW and DESCRIBE
- The mysqlshow Command
Databases
- Database Properties
- Good Design Practices
- Identifiers
- Creating Databases
- Altering Databases
- Dropping Databases
Tables
- Creating Tables
- Table Properties
- Column Options
- Creating Tables Based on Existing Tables
- Altering Tables
- Dropping Tables
- Foreign Keys
Manipulating Table Data
- The INSERT Statement
- The DELETE Statement
- The UPDATE Statement
- The REPLACE Statement
- INSERT with ON DUPLICATE KEY UPDATE
- The TRUNCATE TABLE Statement
Joins
- What is a Join?
- Joining Tables in SQL
- Basic Join Syntax
- Inner Joins
- Outer Joins
- Other Types of Joins
- Joins in UPDATE and DELETE statements
Transactions
- What is a Transaction?
- Transaction Commands
- Isolation Levels
- Locking
Sub queries and Query Optimization
- Types of Sub queries
- Table Sub query Operators
- Correlated and Non-Correlated Sub queries
- Converting Sub queries to Joins TOPIC22 Query Performance (DBA 2.1 - Chapter 17)
- Using Indexes for Optimization
- Identifying Candidates for Query Analysis
- Using EXPLAIN to Analyze Queries
Backup and Recovery
- Planning for Recovery Backup
- Introduction to MySQL Backup Types
- Backup Tools Overview
- Making Raw Backups and Logical (Text) Backups
- Backup Log and Status Files
- Replication as an Aid to Backup
- Backup Method Comparison
- Data Recovery
Security and User Account Management
- Security Risks
- Security Measures
- Privileges
- Access Levels
- User Account Maintenance
- Client Access Control
- Using Secure Connections
Stored Routines
- What is a Stored Routine?
- Creating Stored Routines
- Compound Statements
- Variables and Parameter Declarations
- Execute, Examine and Delete Stored Routines
- Flow Control Statements
- Declare and Use Handlers
- Cursors
Triggers
- What are Triggers?
- Delete Triggers
- Restrictions on Triggers
Views
- What Are Views?
- Creating Views
- Updatable Views
- Managing Views
- Obtaining View Metadata
Optimizing Databases
- General Table Optimizations
- MyISAM-Specific Optimizations
- InnoDB-Specific Optimizations
- MEMORY-Specific Optimizations
Server Optimization
- Interpreting mysqld Server Information
- Measuring Server Load
- Tuning Memory Parameters
- Using the Query Cache