# TiDB SQL for Developers

## About
+ Course Name: TiDB SQL for Developers
+ Version
  + TiDB: 5.3.0
  + Course: 0.1.0
+ This course focuses on practical skills and provides a detailed introduction to how to perform various operations on data using SQL language and Connectors API on TiDB for backend developers or learners who intend to become backend developers.

## Pre-Requisites
+ There are no prerequisites for learners in this course. Learners with various working experiences and knowledge bases can take different guided paths to jump in and study.
  + If you are a **Beginner**, please complete all chapters in order.
  + Because TiDB is compatible with MySQL in various ways, if you are already **familiar with MySQL SQL or standard SQL**, but are relatively new to the `Database Connector API`, please start with Chapter 7 after completing Chapter 1.
  + Additionally, if you already have **extensive experience developing applications on top of MySQL databases**, there are 4 chapters for you - Chapter 1, 7, 8 and 12.

## Outline
+ Section I: Introduction
  + Chapter 01: Introduction to TiDB Architecture
+ Section II: TiDB SQL Basics
  + Chapter 02: Querying Table Data
  + Chapter 03: Data Types and Expressions
  + Chapter 04: Functions
  + Chapter 05: Joins
  + Chapter 06: Subqueries
  + Chapter 07: DDL for Tables and Indexes
  + Chapter 08: DML and TiDB Transaction Control
+ Section III: Connecting to and Developing on TiDB (Java and Python programming API)
  + Chapter 09: Using Database Connectors API
  + Chapter 10: Using Prepared Statements
  + Chapter 11: Handling Exceptions
+ Section IV: Best Practices for Developing on TiDB
  + Chapter 12: Best Practices Summary

## References
+ TiDB documentation: https://docs.pingcap.com/tidb
+ MySQL documentation: https://dev.mysql.com/doc
+ Sample schema download and installation: https://dev.mysql.com/doc/index-other.html
  + world

## Additional Resources for Extended Practices
+ WIP: *github workshop demo*
+ Sample schema download and installation: https://dev.mysql.com/doc/index-other.html
  + world_x
  + Employee: https://github.com/datacharmer/test_db
    + `git clone https://github.com/datacharmer/test_db.git`