| Acknowledgments | p. xiii |
| Introduction | p. xv |
| Installing MySQL | p. 1 |
| Know Basic Database Terms | p. 2 |
| Understand the Open Source and MySQL Relationship | p. 3 |
| Open Source vs. Proprietary Software | p. 4 |
| MySQL as Open Source | p. 5 |
| Choose Your Development and Deployment Environments | p. 5 |
| Applying Broad Criteria | p. 6 |
| Narrowing the Decision | p. 6 |
| Install MySQL on Windows | p. 8 |
| Install MySQL on Windows and Start the MySQL Service | p. 9 |
| The WinMySQLAdmin Tool | p. 15 |
| Download and Install MyODBC on Windows | p. 19 |
| Install MySQL on Linux | p. 25 |
| Download and Install MySQL on Linux | p. 25 |
| Learn How to Use the Command Line | p. 28 |
| Using the Command Prompt in Windows | p. 29 |
| Using the Command Prompt in Linux | p. 32 |
| Know Your Resources | p. 35 |
| Downloads | p. 35 |
| Documentation | p. 36 |
| Support & Consulting | p. 37 |
| Company | p. 37 |
| Module 1 Mastery Check | p. 38 |
| Defining a Database | p. 39 |
| Understand MySQL Data Types | p. 40 |
| Number Data Types | p. 41 |
| Text Data Types | p. 45 |
| DATE and TIME Data Types | p. 47 |
| Defined Group Data Types: ENUM and SET | p. 51 |
| Plan Your Database | p. 53 |
| Naming Your Database | p. 53 |
| Naming Your Tables | p. 53 |
| Naming and Defining Fields | p. 54 |
| Understanding Table Types | p. 56 |
| Create Your Database and Tables | p. 61 |
| Creating a Database | p. 62 |
| Creating a Table | p. 62 |
| Correcting Mistakes in Commands | p. 63 |
| Formatting Table Data | p. 64 |
| Create a Database and Tables with Data | p. 64 |
| Insert Data into Tables | p. 67 |
| Insert Data in Tables | p. 69 |
| Module 2 Mastery Check | p. 76 |
| Manipulating the Database | p. 77 |
| Add Data to Your Database | p. 78 |
| Copying a Table | p. 78 |
| Inserting Data from a Text File | p. 80 |
| Create Tables Using Existing Table Data | p. 81 |
| Change a Table's Structure and Add an Index | p. 91 |
| Altering a Table | p. 91 |
| Creating an Index | p. 92 |
| Change Table Data | p. 95 |
| Replacing Data | p. 95 |
| Using the safe-updates Option | p. 97 |
| Updating Data | p. 97 |
| Make Changes to a Database | p. 99 |
| Remove a Table or Records | p. 108 |
| Dropping a Table | p. 108 |
| Deleting Table Contents | p. 108 |
| Truncating Tables | p. 109 |
| Remove Data and Revisit Changing Data | p. 110 |
| Module 3 Mastery Check | p. 117 |
| Basic Reporting | p. 119 |
| Shape the Data from Your Tables to Fit Your Needs | p. 120 |
| Testing with the SELECT Command | p. 120 |
| Shaping Data with the SELECT Command | p. 123 |
| Refine Your Data Selection | p. 126 |
| Focusing on Smaller Areas of Your Database | p. 126 |
| Using WHERE to Narrow Your Focus | p. 126 |
| Create Reports Using SELECT ... WHERE to Refine Data | p. 129 |
| Module 4 Mastery Check | p. 138 |
| Advanced Reporting | p. 141 |
| Use Functions in MySQL | p. 142 |
| Using Universal Functions | p. 142 |
| Using Control Flow Functions | p. 145 |
| Using Aggregate Functions | p. 147 |
| Calculating with Mathematical Functions | p. 149 |
| Manipulating Strings with String Functions | p. 155 |
| Using Date Functions | p. 164 |
| Getting Information with Null-related Functions | p. 167 |
| Use MySQL Functions to Create Reports | p. 169 |
| Order and Group Data | p. 176 |
| Using the GROUP BY and ORDER BY Clauses | p. 176 |
| Using Grouping Functions | p. 177 |
| Screening Results with HAVING | p. 179 |
| Use ORDER BY and GROUP BY | p. 181 |
| Join Data in Multiple Tables | p. 183 |
| Understanding Cartesian Proudct vs. Simple Join Operations | p. 184 |
| Deciding Whether to Use LEFT JOIN or RIGHT JOIN | p. 185 |
| Combine Table Data with JOIN | p. 187 |
| Module 5 Mastery Check | p. 190 |
| GUIs for Data Handling and Administration | p. 191 |
| Use MySQL Administrator | p. 192 |
| Choosing MySQL Administrator Menu Options | p. 193 |
| Setting MySQL Administrator Options | p. 194 |
| Viewing Information in MySQL Administrator | p. 197 |
| Download and Install MySQL Administrator on Windows | p. 217 |
| Download and Install MySQL Administrator on Linux | p. 221 |
| Use MySQL Control Center | p. 222 |
| Choosing MySQLCC Menu Options | p. 223 |
| Selecting MySQLCC Options | p. 224 |
| Using the Console Manager | p. 224 |
| Download and Install MySQL Control Center on Windows | p. 234 |
| Download and Install MySQL Control Center on Linux | p. 239 |
| Module 6 Mastery Check | p. 240 |
| Interfacing with Programs | p. 241 |
| Use PHP and MySQL | p. 242 |
| Introducing PHP | p. 242 |
| Create a Web Interface to Accept and Display Information | p. 243 |
| Connecting to a Database | p. 245 |
| Create a Web Interface for a Database | p. 254 |
| Handling Errors | p. 256 |
| Good Design Concepts | p. 258 |
| Maintaining Web Security | p. 259 |
| Using the MySQL Improved Interface (PHP 5 only) | p. 263 |
| Separate Database Functions from Application Code | p. 265 |
| Installing PEAR::DB | p. 266 |
| Connecting to a Database | p. 266 |
| Executing Queries | p. 267 |
| Fetching Results | p. 269 |
| Import MySQL Data into Access and Excel | p. 270 |
| Importing MySQL Data into Excel | p. 271 |
| Importing MySQL Data into Access | p. 273 |
| Import and Link MySQL Data in Access | p. 273 |
| Module 7 Mastery Check | p. 275 |
| Basic Administration and Backups | p. 277 |
| Set Privileges | p. 278 |
| Understanding the Levels of Security | p. 278 |
| Granting and Revoking User Privileges | p. 281 |
| Set Privileges | p. 289 |
| Make Backups | p. 292 |
| Reviewing the Causes of System Failure | p. 292 |
| Planning and Preparing for Backup | p. 293 |
| Understanding the Backup Methods | p. 294 |
| Back Up a Database | p. 299 |
| Recover from a Disaster | p. 301 |
| Knowing the Restore Procedure | p. 301 |
| Dealing with Damaged Tables | p. 302 |
| Performing Preventative Maintenance: A Stitch in Time | p. 306 |
| Simulate Damage and Restore a Table | p. 307 |
| Project Summary | p. 311 |
| Module 8 Mastery Check | p. 311 |
| Answers to Mastery Checks | p. 313 |
| Module 1: Installing MySQL | p. 314 |
| Module 2: Defining a Database | p. 315 |
| Module 3: Manipulating a Database | p. 316 |
| Module 4: Basic Reporting | p. 318 |
| Module 5: Advanced Reporting | p. 320 |
| Module 6: GUI Interfaces for Data Handling and Administration | p. 321 |
| Module 7: Interfacing with Programs | p. 322 |
| Module 8: Basic Administration and Backups | p. 323 |
| Reserved Words | p. 325 |
| PHP Installation and Basic Syntax | p. 329 |
| PHP and MySQL | p. 330 |
| PHP Setup | p. 331 |
| Checking for PHP Activation | p. 331 |
| Verifying PHP Installation | p. 331 |
| PHP in HTML | p. 332 |
| PHP Syntax | p. 333 |
| Variables | p. 334 |
| Operators | p. 338 |
| Functions | p. 341 |
| Control Structures | p. 342 |
| Displaying and Inserting Data in MySQL | p. 345 |
| Index | p. 353 |
| Table of Contents provided by Ingram. All Rights Reserved. |