Talk:MySQL

Contents

Questions

I have a lot of questions:

Does MySQL support the full SQL command set?

No --fweep 06:24, 2004 Jun 6 (UTC)

Does it support indexing?

Yes. Depending on the specific configuration or feature, B-tree, R-tree, T-tree and bitmap indexes are used. B-trees are the primary form of index. --fweep 06:24, 2004 Jun 6 (UTC)

Is there an ODBC driver available?

Yes. There is also a JDBC driver along with many other APIs, including C, C++, Perl DBI, Python, Ruby, Common Lisp, Matlab, etc. --fweep 06:24, 2004 Jun 6 (UTC)

Is there a MySQL-specific implementation of SQL commands, as with other major RDBMS platforms?

MySQL does use a variant of ANSI standard SQL (http://dev.mysql.com/doc/mysql/en/Extensions_to_ANSI.html and http://dev.mysql.com/doc/mysql/en/Differences_from_ANSI.html) --fweep 06:24, 2004 Jun 6 (UTC)
MySQL can be made more standards compliant by enabling the ANSI mode (http://dev.mysql.com/doc/mysql/en/ANSI_mode.html) --fweep 06:24, 2004 Jun 6 (UTC)

IS the platform scalable? Can it support multi-processing?

MySQL is a threaded application that supports multiple processors --fweep 06:24, 2004 Jun 6 (UTC)

Is there an original author?

Monty Widenius, who currently is one of the owners and CTO of MySQL --fweep 06:24, 2004 Jun 6 (UTC)

NPOV

This page could use some NPOV editing. The database is described as "fast", but fast is a relative term. It should be qualified by benchmarks, comparison to other database engines, or at least discuss which types of operations it performs particularly quickly. Regarding transactions and other recent features; the article should specify the version numbers at which features were added. Since transactions are only supported on certain types of tables, this should also be mentioned. It wouldn't hurt to mention Monty Widenius; isn't he at least one of the primary developers?

Please, go ahead and make the additions. --AxelBoldt

Anytime we discuss specific software packages, we have to do it objectively as third-party reviewers, rather than let the article sound like sales copy.

The only independent benchmark that compares MySQL to other major databases was published by eWeek/Ziff Davis in 2002. It compares DB2, MySQL, Oracle, SQL Server and Sybase. The article can be found at http://www.eweek.com/article2/0,4149,293,00.asp --fweep 06:24, 2004 Jun 6 (UTC)

It is less than forthright to delete or undermine fair criticisms on the grounds that the underlying issues are fixed in a forthcoming, presently unstable, release. It smacks of the reputation-management problems that I thought MySQL had overcome -- for instance, claims in past versions of the documentation that referential integrity constraints were "for lazy programmers", or that transactions were unnecessary as they could be emulated reliably in application code (which is false). The article should focus on the released software, with history and planned improvements as asides. --FOo 22:18, 15 Aug 2003 (UTC)


It is less than forthright to imply criticisms were deleted when they weren't! What criticisms were deleted? What does this 'it' that 'smacks of the reputation-management problems' have to do with the article? You mention the past criticisms and then claim the article should focus on the current version? A problem with the article was that it was confusing and mistaken in its comments about features/missing features. It didn't specifically mention which version these comments applied to - previously the article seemed to imply that MySQL does not support foreign key integrity in the current version, which is not the case (if you choose InnoDB tables). That problem with the article has been fixed, with additional facts added. Feel free to add more about the past criticisms and more more details about the current lacks to the appropriate sections. The article could do with more detail on MySQL's unconvincing early attempts to squirm out of the need for transactions/ref.integrity. And more details about the differences between InnoDB and MyISAM tables (then, now and in the future!) would be useful too. It could do with details about the relationship with SAP as well. I agree with the earlier comment too about the word 'very' - should be taken out and context substantiated by benchmarks.

Heh. The joke at MySQL about transactions is that at first we tried to convince Monty that he was wrong about transactions. This failed and we then managed to convince him that everyone else was wrong, but that they still wanted transactions. This seems to have worked. ;) More seriously, like most projects, we exist to serve the needs of our users. While Monty did used to consider transactions a waste of time, lots of users making a solid case for transactions, combined with a fast and robust transactional engine for us to use changed his mind. --fweep 06:24, 2004 Jun 6 (UTC)

Removed a criticism

I removed Another section claimed that transaction support would be useless since it would not prevent data loss if the database server lost power. [1] (http://sunsite.univie.ac.at/textbooks/mysql/manual.html#IDX340) after checking the cite. The claim is inconsistent with the cite given. Please read [2] (http://sunsite.univie.ac.at/textbooks/mysql/manual_toc.html#Missing_Transactions) (fixed link to the same thing, I think) before continuing. They do not say that transactions are useless. What they say is that they provide other ways to accomplish the same goals, such as using lock tables or atomic updates. The merits of that position are debatable but it's not the same as suggesting that they made the obviously wrong statement which I removed. Something about this might be very useful in a history of MySQL section but it doesn't seem very appropriate for the main body of the article now it's out of date information. Jamesday 00:18, 26 May 2004 (UTC)

Thanks! Also, you can find the most up-to-date information at the main MySQL website, rather than at a mirror - which can be days or years out of date. --fweep 06:24, 2004 Jun 6 (UTC)

And another one

I removed One section, entitled "Reasons NOT to use Foreign Keys constraints" (sic) claimed that relational-integrity constraints "make life very complicated" and that their only useful purpose is to allow client software to diagram the relationships between database tables. [3] (http://sunsite.univie.ac.at/textbooks/mysql/manual.html#Broken_Foreign_KEY) Since this claim contradicted basic principles of relational database design, they brought MySQL under ridicule from database experts. Please read the linked text before continuing. They cited reasons for including them as it gives ODBC and some other client programs the ability to see how a table is connected and to use this to show connection diagrams and to help in building applications. ... At a later stage we will implement the foreign key constraints for application that can't easily be coded to avoid them. It's fine to criticise MySQL but please do it without misrepresenting their statements or selecting only the most ridiculous and misleading portion of them - we're an encyclopedia, not a press release by their competitors. Jamesday 00:34, 26 May 2004 (UTC)

I'm the person who added that text (and returned it, somewhat toned down, just now) and I don't think you're representing it fairly. I'm certainly not a "competitor" of MySQL's -- I'm simply trying to fairly represent the fact that MySQL did have false and misleading material in its previous manuals. That is, presumably, the reason they removed that material after it came under fire. I think it's important to point out that these passages in the manuals (and supporting comments made by MySQL people in the press and forums) were a large part of why database gurus did ridicule MySQL. --FOo 01:18, 26 May 2004 (UTC)
To clarify -- I think it's important to preserve not only the fact that MySQL AB formerly made certain claims which they have since ceased to make, but also the fact that these claims were materially false. This isn't a matter of "point of view" -- I don't think anyone from MySQL AB would now dispute the assertion that transactional integrity is a valuable feature (after all, they did add it to their product). Rather, it's a matter of explaining why (older versions of) MySQL drew certain criticisms: not only were certain ACID features missing, but the MySQL people made erroneous claims in defense of these absences -- not "we haven't gotten around to implementing this yet" but "this is harmful, you should not want it" -- which claims they subsequently ceased to make, and implemented the missing features. --FOo 01:49, 26 May 2004 (UTC)
While I hate to see us publicly flogged for past mistakes, the information presented is not really inaccurate. In the past, Monty found the implementation and use of transactions and referential integrity to be flawed. However, as a company and community that now serves a lot of different users needs, we know that it is what our users need, rather than what how our lead developer would use the product, that matters most. --fweep 06:24, 2004 Jun 6 (UTC)

brands inside article

We don't need to include the brands inside the article. They are listed at the bottom. - Tεxτurε 00:02, 28 May 2004 (UTC)

Suggested edits

Given my lack of familarity with WikiPedia and my association with MySQL, I have made a set of suggested edits here, rather than on the main page. I will suggest additional enhancements after getting my toes wet here. --fweep 07:24, 2004 Jun 6 (UTC)

MySQL is a computer software product, a cross-platform, multithreaded, multi-user, SQL (Structured Query Language) relational database management system. MySQL is distributed as either free software/open source software under the terms and conditions of the GNU General Public License, or is sold as proprietary software. MySQL is a key component of the LAMP application stack.

HP now officially certifies and supports MySQL on some of their platforms. This is the extent of the arrangment. --fweep 07:24, 2004 Jun 6 (UTC)

Unlike other free software and open source projects such as Apache or PHP, MySQL is owned and sponsored by a single for-profit firm (called MySQL AB). The company develops and maintains the system, selling support and service contracts, as well as non-GPL-licensed copies of MySQL, and employing people all over the world who communicate over the internet. MySQL AB owns the MySQL trademark and complete copyright on the MySQL codebase. Two Swedes and a Finn founded MySQL AB: David Axmark, Allan Larsson and Michael "Monty" Widenius.

Despite the widespread pronunciation of "SQL" as "sequel," professionals generally pronounce "MySQL" as "my ess-que-ell," not "my-sequel."

Platforms

MySQL works on many different platforms—including AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, and more recent versions of Windows.

Struck the open source reference - it is clearly stated above the MySQL is FLOSS --fweep 07:24, 2004 Jun 6 (UTC)

Programming languages

Programming languages—which can access MySQL databases—include C, C++, Eiffel, Smalltalk, Java/JDBC, Perl, PHP, Python, Ruby, and Tcl; each of these using a specific API. An ODBC interface called MyODBC also exists which allows additional programming languages that support the ODBC interface to communicate with a MySQL database. MySQL uses ANSI C as its "native" language. The JDBC driver is also a native, pure-Java implementation.

Uses

MySQL is popular for web applications and acts as the database component of LAMP.

The latest production version

As of 2004, MySQL offers production version 4.0. It includes the following features:

  • A broad subset of ANSI SQL 99, as well as extensions
  • Cross-platform support
  • Independent storage engines (MyISAM for read speed, InnoDB for transactions and referential integrity)
  • Transactions
  • SSL Support
  • Query caching
  • Replication
  • Full-text indexing and searching
  • Embedded database library

It does not include the following features:

The development version

As of 2004, the development version, Version 4.1, includes support for the following features:

  • Sub-QUERIES
  • UTF-8 support
  • Support for geographical data (OpenGIS)
  • Multi-statement queries

Future releases

MySQL 5.0 will contain support for the following features:

  • Stored procedures
  • Triggers
  • Cursors
  • True VARCHAR support
  • Easier GIS access

MySQL 5.1 will contain support for:

  • Foreign key support for all table types
  • Online backup
  • Fail-safe replication
  • Column-level constraints
  • Views


Criticisms of MySQL

Early versions of MySQL included few standard DBMS features, and the current production version still lacks many properties found in other SQL RDBMSes. This has led some database experts, such as Chris Date and Fabian Pascal, to criticize MySQL as falling short of being a RDBMS. [4] (http://www.dbdebunk.com/)

Note the change to RDBMS from DBMS. Anything that manages a structured data file is a DBMS - being a RDBMS has a larger set of constraints. As for dbdebunk, what DBMS claiming to be a RDBMS hasn't Fabian taken a potshot at? --fweep 07:24, 2004 Jun 6 (UTC)

Many of the early criticisms have been remedied in later versions of the software, including the lack of transactions and relational integrity constraints. These are features necessary to support the "ACID properties" for relational databases, which allow the RDBMS to ensure that client applications cannot interfere with one another or insert inconsistent values. [5] (http://www.service-architecture.com/database/articles/acid_properties.html) Other criticisms include MySQL's divergence from the SQL standard on the subject of treatment of NULL values and default values. [6] (http://sql-info.de/mysql/gotchas.html)

Interestingly, the MySQL gotchas provided a very excellent and documented set of bugs or features that users found confusing. AFAIK, most of these are addressed in the current alpha trees.

Earlier versions of the MySQL manual included claims that certain essential missing features were useless or even harmful, and that users were better off without them. One section, entitled "Reasons NOT to use Foreign Keys constraints" (sic) advised users that relational-integrity checking was difficult to use and complicated a database application, and that its only useful purpose was to allow client software to diagram the relationships between database tables. [7] (http://sunsite.univie.ac.at/textbooks/mysql/manual.html#Broken_Foreign_KEY) Another section claimed that a DBMS lacking transactions can provide as reliable of data-integrity assurances as one supporting them -- conflating the issue of transactional integrity with that of saving data when the database server loses power. [8] (http://sunsite.univie.ac.at/textbooks/mysql/manual.html#IDX340) Since these claims contradicted basic principles of relational database design, they brought MySQL under ridicule from database experts. These claims have since been removed in more recent versions of the manual, and MySQL today supports the previously-dismissed features of relational integrity checking and transactions.

Critics find MySQL's popularity surprising in the light of the existence of other open-source database projects with comparable performance and in closer compliance to the SQL standards. MySQL advocates reply that the program serves its purpose for its users, who are willing to accept the program's limitations (which decrease with every major revision) in exchange for speed, simplicity, and rapid development.

Heh. As one of the prime MySQL advocates, I often reply that usability is our killer feature. --fweep 07:24, 2004 Jun 6 (UTC)

Some users have also criticized MySQL AB's position on the licensing of the software.

Licensing

Both the MySQL server software itself and the client libraries are distributed under the GNU General Public License. According to MySQL AB's interpretation of the license, this forbids users from writing proprietary software which uses a MySQL database without obtaining a separate commercial license. This is in contrast to many GPL-licensed server projects in which only proprietary modifications of the server software itself are prohibited.

We don't go that far! We do always recommend that proprietary software use a proprietary version of MySQL, but it is not a requirement of the licensing. Instead, any derivative or collective work that includes GPL-licensed MySQL software must also be GPL-licensed (or under one of a set of various other licenses that are primarily FLOSS). --fweep 07:24, 2004 Jun 6 (UTC)

Some users have independently continued to develop an earlier version of the client libraries, which was distributed under the less-restrictive Lesser General Public License. [9] (http://packages.debian.org/testing/libs/libmysqlclient10)

Wikipedia on MySQL

In August 2001, a test version of the Wikipedia software using PHP and MySQL appeared; in January 2002 it became the new software running Wikipedia. See the MediaWiki page. In May 2003, this codebase underwent an upgrade to MySQL version 4.0.12 from the previous version 3.x.

See also

External links

de:MySQL eo:MySQL es:MySQL fr:MySQL he:MySQL ja:MySQL nl:MySQL pl:MySQL sv:MySQL uk:MySQL zh-cn:MySQL


fweep, it sounds like you have a lot to contribute. If you have specific improvements, be bold and just make them to the article page. Use the edit summary and this talk page to explain edits. (Everyone can see the substance of the edits from the history page much better than they can above.) Since you have access to better factual information (e.g. about the licensing) that's the most important to put in, especially where it can be backed up with citations.

My understanding on the licensing issue was that the MySQL client libraries were (in the current version) licensed under the GPL, and that MySQL AB's position was that any application which linked against those libraries needed to be released under the GPL. This is indeed a contrast to some other GPLed software such as the Linux kernel -- where it has not been the author's intention that software which uses kernel headers (e.g.) has to be GPLed. However, it agrees with the GNU Project's interpretation of the license for substantive libraries such as readline.

The more important point there (as far as that section is concerned) is that there was change in licensing -- and that it led some MySQL users to fork the client libraries into the continuing LGPL version. This appears to be some sort of point in the history of it as an open-source project (or, now, a few projects ...) --FOo 03:45, 8 Jun 2004 (UTC)


Greetings FOo,

Thanks for the advice! Given that I work for MySQL AB as their community advocate, I was rather hesitant about making public wholesale changes. My viewpoint - despite attempts to be fair and moderate - is definitely biased. I will try to get the input above integrated over the weekend.

Cheers! --fweep 06:20, 2004 Jun 10 (UTC)

Date handling?

Jamesday, you changed the article text to read:

Its handling of dates allowed invalid dates to be stored

Are you sure that this MySQL gotcha is no longer true? (It still applies in the 4.1.3 installation I have handy). Neilc 08:26, 17 Aug 2004 (UTC)

Even more recent?

The article says: "...Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, and more recent versions of Windows.". How many more recent versions of Windows than Windows XP are there?

Windows Server 2003, for one. —FOo 03:09, 20 Sep 2004 (UTC)

History of MySQL & a little NPOV

How about getting some information together dealing with the history of MySQL. Perhaps this should follow the model used by the entry for PostgreSQL. I think it helps with the NPOV all of the SQL database entries followed the same format. --164.82.144.3 21:43, 2 Feb 2005 (UTC)

Pronunciation

The page for SQL indicates that the ANSI-standard pronunciation is "S-Q-L" not "Sequel". --FOo 19:21, 9 Aug 2003 (UTC)

Despite the widespread pronunciation of "SQL" as the word "sequel," MySQL AB recommends that "MySQL" be pronounced as mī ěs-kyōō-ěl, not mī sē'kwǝl [10] (http://dev.mysql.com/doc/mysql/en/What-is.html#IDX25).
Don't we usually use IPA and SAMPA to designate pronunciation? I'm not even sure what system this is.
It looks like the phonetic spelling used to describe pronunciation in some American dictionaries. Ick. --FOo 15:01, 3 Mar 2005 (UTC)
I put in what I knew... old American English standard (silly me, this is the English Wikipedia). I know it was "wrong", but I don't know IPA/SAMPA and don't have time to learn it. Besides, what I put there was more informative than what was there before. Be bold, change it to IPA. — Stevie is the man! Talk | Contrib 16:52, 3 Mar 2005 (UTC)

Manuals

Template:Wikibookspar I've removed the link to a (very badly written) attempt at a MySQL manual article, and removed the redlink tempting people to create further manuals. Software manuals belong in Wikibooks, not here. Those that are interested in writing a manual, please feel free to contribute to a GFDL "Using MySQL" manual at Wikibooks. I've added a link to the Wikibooks manual on SQL programming, in an attempt to head off this sort of thing. My preference would be for this article to link to a real MySQL manual, however. Uncle G 12:30, 2005 Mar 17 (UTC)

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools