MySQL is an open source, relational database management system. Co-founder Monty Widenius named the software after his daughter, My. It is a client/server system that supports multiple administrative tools, programs and libraries, and application programming interfaces. You can download MySQL for free from the MySQL website or pay for a commercial release with additional functionality.
MySQL runs on many different platforms, including Windows, Mac OS X and Linux. You can download and install MySQL on your own computer. Also, many Web hosting services provide an implementation of MySQL as part of their packages, each with a unique interface that connects you to databases. If you use MySQL as part of a website or application, visitors to the site do not need to download any additional software to take advantage of the features in MySQL.
MySQL is written in C and C++ and uses kernel threads which allows full multi-threading so it can take advantage of multiple CPUs if available. It uses thread-based memory allocation and optimized nested-loop joins to improve speed. MySQL also uses hash tables as temporary tables during execution of queries. To query tables in a database, MySQL uses SQL functions in an optimized class library to improve speed and reduce or eliminate the need for accessing memory.
MySQL allows you to add, access, modify and delete data stored within databases on a MySQL server. You have no limit on the number of databases you can create on a MySQL server while the limit on the number of tables depends on the file system. You can partition large MySQL databases to improve performance and management. When querying, you can include tables from multiple databases in the same query.
When designing tables, you can create up to 4,096 columns and store thousands of records. Each field can be of several different data types, including integers, floats, chars, text, date or time stamps or enum types that you define. You can also fix the length of a field, require that they have values, set primary and index keys and auto increment numbers. To query tables, you use SQL syntax and can use select, insert, update, delete, show, join or any other syntax allowed by SQL languages.