Online Documentation Server
 ПОИСК
ods.com.ua Web
 КАТЕГОРИИ
Home
Programming
Net technology
Unixes
Security
RFC, HOWTO
Web technology
Data bases
Other docs

 


 ПОДПИСКА

 О КОПИРАЙТАХ
Вся предоставленная на этом сервере информация собрана нами из разных источников. Если Вам кажется, что публикация каких-то документов нарушает чьи-либо авторские права, сообщите нам об этом.




MySQL Chapter One (Introduction)

Documentation Version: 0.95
MySQL Version: 3.20.29

About this manual

This manual is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

This manual may be used freely if it is not sold. If you want to include it as part of a commercial product you must contact me (Michael J. Miller Jr, mke@netcom.com) for terms and conditions.

Now that we've gotten past that, to the good stuff.

I've created a tutorial/sample database that is used in the examples listed throughout this manual. You can find it in Appendix B, currently there aren't a lot of examples.

MySQL has now stabilized and I hope to add a number of examples before making the 1.0 release of this manual.

At the top of each chapter you'll find the following two labels.

Documentation Version: 0.95

MySQL Version: 3.20.29

The first indicates that this is version 0.95 of my manual for MySQL. The second indicates that this manual contains information for MySQL version 3.20.29. If you are using an older version there will be information in this manual that doesn't apply to you. If you are running a newer version there are likely to be features that are not documented by this version.

The latest version of this manual will always be available at

HTTP://mysql.turbolift.com.

A work in progress version can be found at.

HTTP://mysql.turbolift.com/testing/.

The WIP version will be updated as I make corrections and add new stuff. The Index is likely to be the last thing I update before a release, so don't rely on it.

Acknowledgments

I want to thank Michael Widenius for writing MySQL and providing much of the information in this manual, and TcX DataKonsulter AB for letting him :-)

I want to thank David Axmark for maintaining the excellent MySQL FAQ from which much of the content of this manual has been taken.

Next on the list of people to thank is Louis Larry from regex.com for providing space and network bandwidth for the MySQL documentation home page.

Brian Showalter has done extensive work on the C API chapter. As of version .90 of the manual it is much improved.

I also want to thank all the MySQL users who have sent in corrections and suggestions. This sort of help makes a BIG difference. I want to especially thank Bert Vermeulen for extensive help in the formatting of this manual.

What is MySQL?

MySQL was created by Michael Widenius, (monty@analytikerna.se). It is a small, fast and capable relational database in the tradition of Hughes Technologies Mini SQL database. (NOTE that the MySQL database package contains no Mini SQL source code, it does however share some of the same look and feel both in the C API and in the names and function of many of its programs. This has been done to make it relatively easy to port Mini SQL applications and utilities to MySQL.)

The client portion of MySQL has been placed in the public domain while most of the rest of MySQL is distributed under the license listed in appendix A of this document. Small portions are covered by either Berkeley style copyright, or GNU licenses.

David Axmark created and maintains the autoconf portion of MySQL, along with maintaining the MySQL FAQ.

The MySQL database system is free for most uses, but if support is an issue for you, that is an option as well. Having said that, I urge people to register MySQL if they can afford it, even if the license would not require that they do so. Everyone benefits by supporting this sort of product. At this point I know a lot of people out there are making money off of MySQL. If you are one of them than I ask you as a favor to me for writing the manual, and to Monty for writing MySQL PLEASE register. If you need a pragmatic reason, how are you going to feel if MySQL goes away? How are your customers going to feel?

The latest version of MySQL can be found at HTTP://www.tcx.se.

What does MySQL offer?

The following are amongst the features that MySQL supports.

  • Multi-threading. (Supports multiple simultaneous queries.)
  • A Join Optimizer with one pass multi-join.
  • Fixed and variable length records.
  • An ODBC driver. (With source)
  • A flexible privilege and password system.
  • Up to 16 keys per table. Each key may have up to fifteen fields.
  • Support for primary key fields, key fields and unique fields in CREATE.
  • Support for the one to four byte ints, float, double, fixed and variable length strings, time stamps, variable length strings and blobs.
  • C and Perl API.
  • A fast thread based malloc system.
  • A fast table check and repair utility. (isamchk)
  • All data saved in ISO8859_1.
  • All string comparisons for normal string fields are case insensitive. (Binary strings supported.)
  • Aliases on tables and columns.
  • All fields have default values. INSERT may be used on any subset of fields.
  • The capability to easily redefine tables; including adding and deleting keys and fields.

What is SQL?

SQL stands for Structured Query Language. SQL is a language designed for interacting with relational databases. It does this by allowing users to describe the data they wish to see. It is also possible to define and manipulate data in a database by using SQL. The SQL used in MySQL follows the entry level ANSI 92 SQL specification fairly closely.

For more information see Chapter 3.

How do I talk to MySQL?

The most basic way to communicate with the MySQL database engine is by use of the MySQL program. The MySQL program is the client portion of the MySQL database system. It offers the capability to execute SQL commands either on the Unix command line or from within MySQL's interactive mode. For more information on the MySQL client program please see Chapter 2.

The MySQL database system also provides a C library API. You can use the C library API to query a database, insert data, create tables, etc. The C API supports all MySQL functionality. For more information on the C programming API please see Chapter 4 .

PERL is supported in two ways. First of all there is a port of the perl mini-SQL interface written by Andreas Koenig (a.koenig@mind.de). There is also a perl DBD module available. For more information on the PERL API's see Chapter 6 and Chapter 7.

There is also a 32bit ODBC driver available for the MySQL database system. This driver will enable you to load and retrieve data from other data sources that support ODBC. For more information on the ODBC driver see the MySQL home page.



With any suggestions or questions please feel free to contact us