| | | 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 |