oreilly.comSafari Books Online.Conferences.


MySQL News & Articles

Introducing [fleXive] - A Complementary Approach to Java EE 5 Web Development by Markus Plesser
This article is an introduction to Flexive, an open source Java EE 5 application development stack. The authors have extracted a complete application template and describe its use. May. 1, 2008

Emulating Analytic (AKA Ranking) Functions with MySQL: Part 2 by Stephane Faroult
Oracle, DB2, and SQL Server all have analytic functions--ways to preserve the details in a record when you use an aggregate. MySQL lacks them, but you can emulate them if you want. Stephane Faroult continues his look at how to do this in the second part of his series. Apr. 13, 2007

Emulating Analytic (AKA Ranking) Functions with MySQL by Stephane Faroult
Oracle, DB2, and SQL Server all have analytic functions, ways to preserve the details in a record when you use an aggregate. MySQL lacks them, but you can emulate them if you want. Stephane Faroult shows some of the ways to go about this in the first of a two part series. Mar. 29, 2007

How to Optimize Rank Data in MySQL by Baron Schwartz
Suppose you need to calculate constantly-changing information based on constantly-updated information in one or more tables. Are you stuck doing everything in multiple expensive queries? By no means. Baron Schwartz demonstrates how careful denormalization and query construction can lower your database load and simplify your code. Mar. 1, 2007

Open Tools for MySQL Administrators by Baron Schwartz
The MySQL distribution provides several tools for database developers and administrators, but they don't always work everywhere. Fortunately, the worldwide MySQL community has produced plenty of useful tools. Baron Schwartz surveys the possibilities and offers suggestions for what you should use. Oct. 19, 2006

Visualizing Database Information with Tableau by Ben Lorica
Although there are several tools available to help users efficiently and easily create pivot tables or cross-tabulations, being able to visualize the cross-tabulations in real time is much more useful. Ben Lorica and the O'Reilly Research team recently tried a visual analysis and reporting tool called Tableau. It worked well for them; might it work in your data warehouse? Aug. 24, 2006

MySQL Federated Tables: The Missing Manual by Giuseppe Maxia
A new MySQL storage engine allows you to use tables in remote servers as if they were local. Unfortunately, the documentation doesn't explain much more than that. Fortunately, Giuseppe Maxia can explain everything you need to know to make federated tables work correctly and efficiently. Aug. 10, 2006

Advanced MySQL Replication Techniques by Giuseppe Maxia
MySQL Cluster is a powerful peering system to add high availability and replication across multiple database servers. It's not perfect, though. Using features of MySQL 5.0 and 5.1, it's possible to build a master/slave replication system with fail-over. Giuseppe Maxia shows how. Apr. 20, 2006

How to Schmooze at OSCON by Robert Bernier
OSCON is next week and you have people to meet, questions to ask, and assistance to offer. Where should you spend your time, and how should you start your valuable hallway, BOF, and party conversations? Robert Bernier offers a schmoozer's guide to effective conference attendance. Jul. 28, 2005

MySQL Triggers Tryout by Peter Gulutzan
MySQL 5.0 promises trigger support. What will it look like? How will it work? Peter Gulutzan takes MySQL triggers for a test-drive. Feb. 3, 2005

Navicat Review by Blane Warrene
Managing a database by hand with command-line tools is possible, but it can also be tedious. Some web-based administrative tools are good, but there are advantages to graphical desktop applications, as well. Blane Warrene reviews the latest release of Navicat, a commercial MySQL administrative tool. Dec. 22, 2004

How to Misuse SQL's FROM Clause by Stephane Faroult
Many SQL queries misuse their FROM clauses. Misuse them? That's right. Stéphane Faroult explains this common mistake and demonstrates how two types of subqueries can improve performance and reliability. Sep. 30, 2004

Hierarchical SQL by Joe Celko
Conventional wisdom claims that it's difficult to model hierarchical relationships in relationally minded SQL. Actually, it's easier than you think. Joe Celko explains one method of representing trees in SQL. Aug. 5, 2004

Planning for Disaster Recovery on LAMP Systems by Robert Jones
The beauty of LAMP systems is that you can develop them as formally or informally as you like. Unfortunately, when it comes time to plan for disaster recovery, that informality can work against you. Robert Jones presents several guidelines for development and configuration that can make recovery easier. Apr. 8, 2004

Using MySQL from PHP, Part 2 by John Coggeshall
One of PHP's prime benefits is its close integration with databases, especially MySQL. Having explained the basics of MySQL, John Coggeshall turns his attention to demonstrating how to use MySQL from PHP. This week, learn how to count results, handle errors, and handle picky details. Mar. 18, 2004

Database Templates with MySQL by Russell Dyer
After designing a few databases for clients, you'll likely start to see design similarities. Why not exploit those patterns to create templates for further customization? Russell Dyer demonstrates how to create and customize generic MySQL table templates. Mar. 18, 2004

Using MySQL to Stop Editing Web Pages by Russell Dyer
It's easy to build a small web site by hand, but what happens when non-techies need to make changes? Russell Dyer demonstrates how to design and build a just-simple-enough web site management system that can alleviate your pain. Feb. 19, 2004

Introducing LAMP Tuning Techniques by Adam Pedersen
Having a successful web site can be a mixed blessing. It's nice to reach more people, but it's painful to run up against hardware limits. Fortunately, LAMP sites have several tuning options, from tweaking parameters to replacing components. Adam Pedersen explains. Feb. 5, 2004

MySQL Crash Course, Part 3 by John Coggeshall
Almost every serious web application uses a relational database to store its data. At some point, you'll have to learn how to use them. John Coggeshall explains how to make the most of the SQL SELECT statement across multiple tables. Jan. 29, 2004

MySQL Crash Course, Part 2 by John Coggeshall
Almost every serious web application uses a relational database to store its data. At some point, you'll have to learn how to use it. John Coggeshall explains how to change tables, select only the data you want, and delete rows from MySQL. Jan. 8, 2004

MySQL Crash Course by John Coggeshall
Almost every serious web application uses a relational database to store its data. At some point, you'll have to learn how to use them. John Coggeshall explains the basics of relational databases with MySQL. Dec. 23, 2003

Generating Database Server-Side Cross Tabulations by Giuseppe Maxia
Normalizing data into a database saves you time and trouble representing information, but actually displaying and reporting that information is trickier. Crosstabs (or pivot tables) make it easier, though trying to pivot on more than two fields is painful. That's where generating crosstab queries can help. Giuseppe Maxia demonstrates. Dec. 4, 2003

Quick and Dirty RDBMS Tuning by Steven Hauser
Your database-backed application is too slow. Panic, upgrade, or rewrite? Steven Hauser suggests a more thoughtful approach: step back and consider the whole system. Then, do the simplest thing with the greatest potential payoff. Hauser explains how to make the most of tuning opportunities. Nov. 13, 2003

Upgrading a MySQL Application by Russell Dyer
Application upgrades aren't always easier. Throw in a database backend and a schema change, and you're in for a world of hurt -- unless you've planned well. Russell Dyer explores techniques for taking the pain out of upgrading database-backed applications. Oct. 16, 2003

The State of Open Source by Daniel H. Steinberg
Luminaries from the open source communities of Perl, Python, PHP, MySQL, Apache, and Linux each presented their take on the current state of their technology and where it is headed. Daniel Steinberg reports from OSCON 2003. Jul. 9, 2003

MySQL FULLTEXT Searching by Joe Stump
Storing text in your database is handy, but searching can be a pain. MySQL's FULLTEXT search can save your sanity. Joe Stump demonstrates how it works and gives several ideas on how to use it in your own applications. Jun. 26, 2003

Cooking with MySQL by Paul DuBois
Paul DuBois has selected sample recipes from the hundreds you'll find in his book, MySQL Cookbook. In this third and final series of excerpts showcasing these recipes, learn how to compute team standings, how to calculate the differences between successive rows, and how to find cumulative sums and running averages.  Dec. 26, 2002

MySQL Vulnerabilities by Noel Davis
Noel Davis looks at a problem with Perl's safe mode; some serious vulnerabilities in MySQL; buffer overflows in wget, tcpdump, Canna, and GTetrinet; and problems in lynx, mICQ, Sun Cobalt RaQ 4 Server Appliances, xdvi, dvips, and Exim. Dec. 16, 2002

Cooking with MySQL by Paul DuBois
Paul DuBois has selected sample recipes from the hundreds you'll find in his book, MySQL Cookbook. In this second article in a three-part series showcasing these recipes, find out how to manage simultaneous AUTO_INCREMENT values, and how to use AUTO_INCREMENT values and related tables. Dec. 12, 2002

MySQL Recipes, CVS Tools, and Disk Images by chromatic
Online version of the Linux Newsletter for November 25, 2002. Nov. 25, 2002

Cooking with MySQL by Paul DuBois
Paul DuBois has selected sample recipes from the hundreds you'll find in his book, MySQL Cookbook. In this first in a three-part series showcasing these sample recipes, find out how to interpret results from summaries and NULL values and how to identify duplicates in a table or record.  Nov. 21, 2002

Ten MySQL Best Practices by George Reese
George Reese, coauthor of Managing & Using MySQL, 2nd Edition, offers a set of best practices for MySQL administrators that will help with the security, maintenance, and performance of a MySQL installation. Jul. 11, 2002

Tips for Building Web Database Applications with PHP and MySQL by Hugh E. Williams
Here are eight tips for enhancing Web database applications by using PHP and MySQL. Apr. 4, 2002

SQL Data Types by John Paul Ashenfelter
Most database products support ANSI-SQL for manipulating data, but there is far more variance in the details of how DDL is implemented. John Paul Ashenfelter discusses data types for different SQL platforms. Sep. 13, 2001

Working With Tables by John Paul Ashenfelter
In the last aboutSQL column, John Paul Ashenfelter introduced the Data Definition Language (DDL) and how to create database containers. This week, he moves on to creating tables and populating them with data. Sep. 6, 2001

Data Definition Language by John Paul Ashenfelter
GUI-based database management tools are great, but it's also important to understand the broad strokes of directly manipulating database structure. In this week's aboutSQL, John Paul Ashenfelter describes how to use SQL to define the database, its component tables, and other artifacts.  Aug. 30, 2001

Introducing SQL Sets by John Paul Ashenfelter
Because SQL is based on relational algebra, it should come as no surprise that the standard contains several set-oriented operators. In that spirit, it's time we take a look at the UNION operator. Aug. 2, 2001

SQL Subqueries by John Paul Ashenfelter
Subqueries are extremely useful in web-based database applications where you need to combine two queries and manually put them together to achieve a desired result. Subqueries allow SQL to do all of the heavy lifting! Jul. 26, 2001

Self-Inflicted SQL by John Paul Ashenfelter
This week, John Paul Ashenfelter looks at the "self-join," a tool that is particularly useful in certain situations, such as when you have a normalized database table that needs to be flattened. Jul. 12, 2001

The Outer Limits of SQL JOINs by John Paul Ashenfelter
In the last column, John Paul Ashenfelter showed you how to use inner joins and cross joins. This week he tackles outer joins. Jun. 27, 2001

Types of JOINs by John Paul Ashenfelter
A look at what's going on behind the scenes when you perform a "join" in MySQL. John Paul Ashenfelter uses the cross join as an example of how joins work in general. Jun. 15, 2001

More on JOINS by John Paul Ashenfelter
The exploration into JOIN statements continues with a look at INNER JOIN, the most commonly used SQL join.  Jun. 1, 2001

An Introduction to PEAR by Joao Prado Maia
Find yourself wishing PHP had an easy way to manage additional modules? Joao Prado Maia explains PEAR and shows how it fills this role.  May. 25, 2001

JOINed at the Hip by John Paul Ashenfelter
The JOIN clause is probably one of the most used -- as well as one of the most confusing -- facets of SQL. John Paul Ashenfelter introduces the JOIN clause.  May. 24, 2001

MySQL File Overwrite Vulnerability by Noel Davis
Noel Davis shows us a buffer overflow in ASPSeek; a denial of service attack against timed; a new version of OpenSSH with many improvements; an attack against the private keys used by GnuPG; a race condition in the UFS and EXT2FS file systems; and problems with MySQL, VIM, FCheck, Solaris perfmon, Interchange, and Compaq's management software.  Mar. 27, 2001

Types of Relationships by John Paul Ashenfelter
How well are your database tables communicating with one another? This week John Paul discusses three key relationships: one to one, one to many, and many to many. Mar. 20, 2001

Good Relations by John Paul Ashenfelter
John Paul Ashenfelter looks at how keys are used to construct relationships between tables in a relational database.  Mar. 13, 2001

The "Key" to Good SQL by John Paul Ashenfelter
Database "keys" help eliminate confusion among records. Here's how to best incorporate these essential identifiers in your database. Mar. 6, 2001

Group By by John Paul Ashenfelter
The GROUP BY clause is the next step after mastering ORDER BY. John Paul Ashenfelter shows you how to combine database records into a single record to calculate an aggregate function.  Feb. 23, 2001

MySQL Buffer Overflow; Secure PHP Coding by Noel Davis
Noel Davis shows us buffer overflows in MySQL, analog, vixie cron, and Kerberos IV; problems with kicq, licq, and kaim; root exploits in NetBSD i386 kernels; and insecure coding with PHP and MySQL.  Feb. 20, 2001

Controlling Data Display with ORDER BY by John Paul Ashenfelter
This week, John Paul Ashenfelter revisits the ORDER BY clause to help you control the display of your MySQL data.  Feb. 13, 2001

Aggregate Functions by John Paul Ashenfelter
John Paul Ashenfelter looks at a specific class of SQL functions that operate on entire columns of data instead of discrete values -- the aggregate functions.  Jan. 30, 2001

LAMP: The Open Source Web Platform by Dale Dougherty
O'Reilly Network runs a LAMP web site, and the chances are good that your organization does, too. LAMP = Linux + Apache + MySQL + (PHP | Perl | Python), and is our new site dedicated to the platform. Jan. 26, 2001

Using Functions by John Paul Ashenfelter
John Paul Ashenfelter continues his SQL tutorial with one of the most useful but most frustrating areas of SQL: built-in functions.  Jan. 12, 2001

Where to Use WHERE by John Paul Ashenfelter
We're continuing our exploration of the WHERE clause by digging a little deeper into its capabilities to see what it can really do. Jan. 5, 2001

DELETE Tips and Tricks by John Paul Ashenfelter
This week John Paul Ashenfelter discusses the most dangerous of the core SQL statements: DELETE. Proceed with caution. Dec. 29, 2000

The Universal Web Form Processor by Urb LeJeune
Urb LeJeune embarks on a quest to create the ultimate script to process forms from web pages. Dec. 29, 2000

UPDATE that Data! by John Paul Ashenfelter
Now that you have your data in MySQL, how do you change it? We'll show you step by step. Dec. 22, 2000

LAMP Lighter: The Apache Toolbox by Rael Dornfest
An overview of the Apache Toolbox, a Swiss army knife of a script, providing a customizable, menu-driven interface to downloading and compiling a LAMP (Linux, Apache, MySQL, PHPherlthon) -- minus the Linux -- installation. Nov. 17, 2000

INSERTing Data by John Paul Ashenfelter
We've spent a fair amount of time discussing how to get data out of MySQL. But can you enter data directly into this database? You can using the INSERT command. Nov. 10, 2000

Filtering SELECTed Data with WHERE by John Paul Ashenfelter
SQL databases can be filtered by virtually any set of criteria using a single clause. This week, John Paul Ashenfelter shows us how to use the SELECT command to return subsets of data. Nov. 3, 2000

Introducing SELECT by John Paul Ashenfelter
The SELECT command helps you find the data in your database. Here's a hands-on tutorial on how it works. Oct. 27, 2000

What's the Big Deal about SQL? by John Paul Ashenfelter
SQL, the Structured English Query Language, is a standard for building relational databases. In this short introduction, author John Paul Ashenfelter explains relational databases and offers a history of the development and implementation of SQL.  Oct. 20, 2000

Getting Started with SQL by John Paul Ashenfelter
In the second half of his inaugural column, John Paul Ashenfelter introduces us to several good SQL learning tools and begins to define database terms.  Oct. 20, 2000

OpenBSD as a Database Server by David Jorm
David Jorm explains the basics of setting up OpenBSD as a database server using MySQL/PostgreSQL and PHP. Oct. 17, 2000

Sponsored by: