| | Copyright |
| | About the Authors |
| | Acknowledgments |
| | We Want to Hear from You! |
| | Reader Services |
| | Introduction |
| | | Why Use MySQL? |
| | | Why MySQL Instead of Another Database? |
| | | What's Different in MySQL 4.0 and 4.1? |
| | | What Features Are Still to Come in Future Versions? |
| | | Who Should Read This Book? |
| | | How This Book Works |
| | | A Note on MySQL Licensing |
|
| | Part I: MySQL Basics |
| | | Chapter 1. Installing MySQL |
| | | Installing on Linux |
| | | Installing on Windows |
| | | Installing on OS X |
| | | Configuring Your System |
| | | Checking Your System Works |
| | | Setting the Root Password |
| | | Deleting Anonymous Accounts |
| | | Creating an Account for Basic Use |
| | | Summary |
| | | Exercises |
| | | Next |
|
| | | Chapter 2. Quick Tour |
| | | MySQL Directory Structure |
| | | Overview of Executables |
| | | Overview of User Interfaces |
| | | Quick Introduction to the MySQL Monitor |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
|
| | Part II: Designing and Creating Databases with MySQL |
| | | Chapter 3. Database Design Crash Course |
| | | Database Concepts and Terminology |
| | | Database Design Principles |
| | | Normalization |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 4. Creating Databases, Tables, and Indexes |
| | | Case Sensitivity |
| | | Identifiers in MySQL |
| | | Creating a Database |
| | | Selecting a Database |
| | | Creating Tables |
| | | Column and Data Types in MySQL |
| | | Creating Indexes |
| | | Deleting Databases, Tables, and Indexes |
| | | Altering Existing Table Structures |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
|
| | Part III: Using MySQL |
| | | Chapter 5. Inserting, Deleting, and Updating Data |
| | | Using INSERT |
| | | Using REPLACE |
| | | Using DELETE |
| | | Using TRUNCATE |
| | | Using UPDATE |
| | | Uploading Data with LOAD DATA INFILE |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 6. Querying MySQL |
| | | Overview of SELECT |
| | | Simple Queries |
| | | Selecting Particular Columns |
| | | Specifying Absolute Databases and Tables |
| | | Aliases |
| | | Using the WHERE Clause to Select Particular Rows |
| | | Removing Duplicates with DISTINCT |
| | | Using the GROUP BY Clause |
| | | Selecting Particular Groups with HAVING |
| | | Sorting Search Results with ORDER BY |
| | | Limiting Search Results with LIMIT |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 7. Advanced Queries |
| | | Using Joins to Run Queries over Multiple Tables |
| | | Understanding the Different Join Types |
| | | Writing Subqueries |
| | | Using SELECT Statement Options |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 8. Using MySQL Built-In Functions with SELECT |
| | | Operators |
| | | Control Flow Functions |
| | | String Functions |
| | | Numeric Functions |
| | | Date and Time Functions |
| | | Cast Functions |
| | | Other Functions |
| | | Functions for Use with GROUP BY Clauses |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
|
| | Part IV: MySQL Table Types and Transactions |
| | | Chapter 9. Understanding MySQL's Table Types |
| | | ISAM Tables |
| | | MyISAM Tables |
| | | InnoDB Tables |
| | | BerkeleyDB (BDB) Tables |
| | | MERGE Tables |
| | | HEAP Tables |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 10. Using Transactions with InnoDB Tables |
| | | What Are Transactions? |
| | | Using Transactions in MySQL |
| | | The InnoDB Transaction Model |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
|
| | Part V: Administering MySQL |
| | | Chapter 11. Managing User Privileges |
| | | Creating User Accounts with GRANT and REVOKE |
| | | Privilege Levels |
| | | Evaluating Privileges |
| | | Using the REVOKE Statement |
| | | Understanding the Privilege Tables |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 12. Configuring MySQL |
| | | Setting MySQL Configuration Options |
| | | Setting InnoDB Configuration Options |
| | | Multi-Install Configuration Options |
| | | Configuring for Internationalization |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 13. Administering Your Database |
| | | Starting Up and Shutting Down the MySQL Server |
| | | Getting Information About the Server and Databases |
| | | Setting Variables |
| | | Killing Threads |
| | | Clearing Caches |
| | | Understanding the Log Files |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 14. Backup and Disaster Recovery |
| | | Backing Up and Restoring Your Database |
| | | Testing Your Backup |
| | | Checking and Repairing Tables |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 15. Securing Your MySQL Installation |
| | | How the Privilege System Works in Practice |
| | | Securing Accounts |
| | | Securing Your Installation Files |
| | | Filtering User Data |
| | | Other Tips |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 16. Replicating Your Database |
| | | Replication Principles |
| | | Setting Up and Configuring for Replication |
| | | Advanced Topologies |
| | | Replication Future |
| | | Summary |
| | | Quiz |
| | | Answers |
|
|
| | Part VI: Optimizing MySQL |
| | | Chapter 17. Optimizing Your MySQL Server Configuration |
| | | Compiling and Linking for Speed |
| | | Tuning Server Parameters |
| | | Tuning Other Factors |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 18. Optimizing Your Database |
| | | What's Slow in MySQL Databases? |
| | | Making the Right Design Choices |
| | | Indexing for Optimization |
| | | ANALYZE TABLE |
| | | Using OPTIMIZE TABLE |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
| | | Next |
|
| | | Chapter 19. Optimizing Your Queries |
| | | Finding Slow Queries |
| | | Benchmarking Your Queries |
| | | Using the Slow Query Log |
| | | Using EXPLAIN to See How Queries Are Executed |
| | | Understanding MySQL's Built-In Query Optimization |
| | | Optimization Tips |
| | | Summary |
| | | Quiz |
| | | Exercises |
| | | Answers |
|
|
| | Index |