The Most Complete and Practical Guide to MySQL Version 5’s Powerful SQL Dialect
MySQL version 5 offers a SQL dialect with immense power. In SQL for MySQL Developers, Rick F. van der Lans helps you master this version ofSQL and take advantage of its full potential. Using case study examplesand hands-on exercises, van der Lans illuminates every key concept,technique, and statement–including advanced features that make iteasier to create even the most complex statements and programs.
Drawing on decades of experience as an SQL standards team member and enterprise consultant, he reveals exactly why MySQL’s dialect works as it does–and how to get the most out of it. You’ll gain powerful insight into everything from basic queries to stored procedures, transactions to data security.
Whether you’re a programmer, Web developer, analyst, DBA, or database user, this book can take you from “apprentice” to true SQL expert. If you’ve used SQL in older versions of MySQL, you’ll become dramatically more effective–and if you’re migrating from other database platforms, you’ll gain practical mastery fast.
Rick F. van der Lans is author of the classic Introduction to SQL, the definitive SQL guide that database developers have relied on for more than 20 years. He is a consultant, author, and lecturer specializing in database technology, development tools, data warehousing, and XML. As managing director of the Netherlands-based R20/Consultancy, he has advised many large companies on defining their IT architectures. He chairs the European Meta Data Conference, and writes columns for several magazines.
About the Author xix
Preface xx
PART I Introduction 1
CHAPTER 1 Introduction to MySQL 3
CHAPTER 2 The Tennis Club Sample Database 29
CHAPTER 3 Installing the Software 37
CHAPTER 4 SQL in a Nutshell 41
PART II Querying and Updating Data 71
CHAPTER 5 SELECT Statement: Common Elements 73
CHAPTER 6 SELECT Statements, Table Expressions, and Subqueries 145
CHAPTER 7 SELECT Statement:The FROM Clause 171
CHAPTER 8 SELECT Statement: The WHERE Clause 213
CHAPTER 9 SELECT Statement: SELECT Clause and Aggregation Functions 315
CHAPTER 10 SELECT Statement: The GROUP BY Clause 349
CHAPTER 11 SELECT Statement: The HAVING Clause 375
CHAPTER 12 SELECT Statement: The ORDER BY Clause 383
CHAPTER 13 SELECT Statement: The LIMIT Clause 395
CHAPTER 14 Combining Table Expressions 409
CHAPTER 15 The User Variable and the SET Statement 421
CHAPTER 16 The HANDLER Statement 429
CHAPTER 17 Updating Tables 437
CHAPTER 18 Loading and Unloading Data 461
CHAPTER 19 Working with XML Documents 471
PART III Creating Database Objects 491
CHAPTER 20 Creating Tables 493
CHAPTER 21 Specifying Integrity Constraints 539
CHAPTER 22 Character Sets and Collations 561
CHAPTER 23 The ENUM and SET Types 577
CHAPTER 24 Changing and Dropping Tables 591
CHAPTER 25 Using Indexes 603
CHAPTER 26 Views 631
CHAPTER 27 Creating Databases 653
CHAPTER 28 Users and Data Security 659
CHAPTER 29 Statements for Table Maintenance 683
CHAPTER 30 The SHOW, DESCRIBE, and HELP Statements 693
PART IV Procedural Database Objects 701
CHAPTER 31 Stored Procedures 703
CHAPTER 32 Stored Functions 745
CHAPTER 33 Triggers 755
CHAPTER 34 Events 767
PART V Programming with SQL 783
CHAPTER 35 MySQL and PHP 785
CHAPTER 36 Dynamic SQL with Prepared Statement 807
CHAPTER 37 Transactions and Multiuser Usage 815
APPENDIX A Syntax of SQL 839
APPENDIX B Scalar Functions 903
APPENDIX C System Variables 953
APPENDIX D Bibliography 963
Index 967