MySQL is an open source software which may be modified in any way one desires. This software is available on the Internet for free download and use. Every user may utilize and modify the source code according to his needs. MySQL is available under the terms of the GNU (General Public License), http://www.gnu.org/licenses/, which regulates the use aspects of this software.
Why do programmers prefer MySQL? MySQL is fast, reliable and easy to operate. Among other advantages it has a convenient interface. Originally MySQL was designed to operate large databases at a higher speed than the existing analog applications at that time. Already for several years this software is successfully used in commercial production which has high requirements. MySQL is being constantly updated. At present it has a range of useful functions. Due to its availability, speed and reliability MySQL is an excellent choice to access databases via the Internet.
MySQL technical capacity
MySQL is a client-server system with the integrated multithreaded SQL-server which works on many system platforms and maintains various client applications and libraries, administration features and a wide range of APIs.
MySQL also exists as a multithreaded library which may be integrated into the user application to make it more compact and easy to operate. There is a lot of available software for MySQL, which is for the most part free.
MySQL structure
MySQL consists of two parts: the server and the client.
MySQL server works constantly in the computer. Client applications (like PHP scripts) transmit SQL-queries to MySQL server via sockets (that is via network). The server processes them and stores the result. In other words, the script (client) indicates the information it wishes to receive from the database server. Afterwards the server sends a reply (result) to the client (script).
Why is the result transmitted not in whole? The result can be too large. Consequently its transition via network takes a lot of time. Usually, one doesn’t need to get the whole result at once that is all tuples which satisfy a query expression. For example, one may only need to calculate a number of tuples satisfying a query expression or to select only first ten tuples. Socket application implies client-server technology, which presupposes that one should run MySQL that receives and processes queries from applications. Since it takes only one computer to run the software, the costs of MySQL-server installation and maintenance are quite low.
MySQL consists of three levels: databases, tables, and tuples. Physically, databases and tables are represented with file extensions like frm, MYD, MYI. Logically, table is represented by a total of tuples. MySQL database name is unique within the system. Table name is unique within the database and the field name – within the table. One MySQL server can maintain several databases simultaneously, which can be accessed using login and password. After the access has been granted, one can create or delete a table, add tuples, etc. Usually login and password are provided by hosting providers who secure MySQL support for their users.