1. General
Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 About
This Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1
Conventions Used in This Manual
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2 What
Is MySQL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1
History of MySQL . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 5
1.2.2
The Main Features of MySQL
. . . . . . . . . . .
. . . . . . .
. . . . . . . . . .
. . . . . . .
. . . . . . . 5
1.2.3
How Stable Is MySQL?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 7
1.2.4
How Big Can MySQL Tables Be?
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 8
1.2.5
Year 2000 Compliance . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 9
1.3 What
Is MySQL AB? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1
The Business Model and Services
of MySQL AB. . . . . . . . . . . . . . . . . . . . . . . . .11
1.3.1.1
Support . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 12
1.3.1.2
Training and Certification
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .12
1.3.1.3
Consulting . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 13
1.3.1.4
Commercial Licenses . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .13
1.3.1.5
Partnering . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .. 13
1.3.1.6
Advertising . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 14
1.3.2
Contact Information . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 14
1.4 MySQL
Support and Licensing . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . 15
1.4.1
Support Oered by MySQL AB.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 15
1.4.2
Copyrights and Licenses Used
by MySQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16
1.4.3
MySQL Licenses. . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 16
1.4.3.1
Using the MySQL Software
Under a Commercial License . . . . . . . . . . . . . .17
1.4.3.2
Using the MySQL Software
for Free Under GPL . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.4
MySQL AB Logos and Trademarks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
1.4.4.1
The Original MySQL Logo.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .18
1.4.4.2
MySQL Logos that may be Used
Without Written Permission . . . . . . . . . . .18
1.4.4.3
When do you need a Written
Permission to use MySQL Logos? . . . . . . . . 19
1.4.4.4
MySQL AB Partnership Logos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 19
1.4.4.5
Using the word MySQL in Printed
Text or Presentations. . . . . . . . . . . . . . . .19
1.4.4.6
Using the word MySQL in Company
and Product Names . . . . . . . . . . . . . . 20
1.5 MySQL
4.0 In A Nutshell . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.1
Stepwise Rollout. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 20
1.5.2
Ready for Immediate Development
Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5.3
Embedded MySQL . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 20
1.5.4
Other Features Available
From MySQL 4.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
1.5.5
Future MySQL 4.0 Features
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .21
1.5.6
MySQL 4.1, The Following
Development Release . . . . . . . . . . . . . . . . . . . . . . .22
1.6 MySQL
Information Sources . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .22
1.6.1
MySQL Portals . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .22
1.6.2
MySQL Mailing Lists . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .23
1.6.2.1
The MySQL Mailing Lists .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .23
1.6.2.2
Asking Questions or Reporting
Bugs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6.2.3
How to Report Bugs or Problems
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
1.6.2.4
Guidelines for Answering
Questions on the Mailing List . . . . . . . . . . . . . . . 30
1.7 How
Standards-compatible Is MySQL?. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 30
1.7.1
What Standards Does MySQL
Follow? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.7.2
Running MySQL in ANSI Mode
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . .31
1.7.3
MySQL Extensions to ANSI
SQL92 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 32
1.7.4
MySQL Dierences Compared
to ANSI SQL92. . . . . . . . . . . . . . . . . . . . . . . . . . .34
1.7.4.1
SubSELECTs . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .34
1.7.4.2
SELECT INTO TABLE . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .35
1.7.4.3
Transactions and Atomic Operations
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
1.7.4.4
Stored Procedures and Triggers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
1.7.4.5
Foreign Keys . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 38
1.7.4.6
Views . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .39
1.7.4.7
`--' as the Start of a Comment
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 40
1.7.5
Known Errors and Design De
ciencies in MySQL . . . . . . . . . . . . . . . . . . . . . . .40
1.8 MySQL
and The Future (The TODO) . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 43
1.8.1
Things That Should be in
4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .44
1.8.2
Things That Should be in
4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .44
1.8.3
Things That Must be Done
in the Near Future. . . . . . . . . . . . . . . . . . . . . . . . . . .45
1.8.4
Things That Have to be Done
Sometime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.8.5
Things We Don't Plan To Do.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .49
1.9 How
MySQL Compares to Other Databases . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 50
1.9.1
How MySQL Compares to mSQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
1.9.1.1
How to Convert mSQL Tools
for MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
1.9.1.2
How mSQL and MySQL Client/Server
Communications Protocols Dif . . . 53
1.9.1.3
How mSQL 2.0 SQL Syntax Differs
from MySQL . . . . . . . . . . . . . . . . . . . . . . .54
1.9.2
How MySQL Compares to PostgreSQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
1.9.2.1
MySQL and PostgreSQL development
strategies . . . . . . . . . . . . . . . . . . . . . 56
1.9.2.2
Featurewise Comparison of
MySQL and PostgreSQL . . . . . . . . . . . . . . . . . 57
1.9.2.3
Benchmarking MySQL and PostgreSQL
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
| | | | | | | | | | | | | | | | |
![]()
