# Course: TiDB SQL for Experienced MySQL Developers (201.A) [Red Path]

## About
+ Course Name: TiDB SQL for Experienced MySQL Developers
+ Version
  + TiDB: 6.0
+ Designed for learners with developing experiences on MySQL database, this course focuses on practical skills and provides guidelines and best practices about developing on TiDB.

## Pre-Requisites
+ You already have the experience of developing applications on top of MySQL compatible databases.

## Outline
+ Sub Course: 201.1 (Introduction to TiDB Architecture)
  + Chapter 01: Introduction to TiDB Architecture
    + Overall TiDB architecture
    + TiDB Servers compute cluster
    + TiKV Servers storage cluster and Placement Driver servers scheduling cluster
    + The advantages and characteristics of TiDB compared to traditional database architectures
+ Sub Course: 201.3 (TiDB SQL for MySQL Users)
  + Chapter 07: DDL for Tables and Indexes
    + Create and drop database
    + Describe database charactersets
    + Create, modify, delete, flashback tables
    + Use table and index related DDL
    + Describe and set column properties, table options
    + Create indexes, primary keys (clustered and non-clustered), unique keys, and constraints
    + Use cached tables
    + Use partitioned table
    + Use placement policy
    + Optimize Analytical Queries with TiFlash
  + Chapter 08: DML and TiDB Transaction Control
    + Add new data to a table using INSERT and REPLACE
    + Use UPDATE to modify data
    + Avoid duplicate records
    + Delete rows using DELETE
    + Control transactions
    + Use pessimistic and optimistic locking
    + Describe SQL injections and prepared statements
+ Sub Course: 201.5 (Best Practices for Developing on TiDB)
  + Chapter 12: Best Practices Summary
    + Describe best practices for using TiDB SQL
    + Describe best practices for developing applications using TiDB (using Java as an example)

## References
+ TiDB documentation: https://docs.pingcap.com/tidb
+ MySQL documentation: https://dev.mysql.com/doc
