SQL inherently

SQL, or Structured Query Language, is not really a language. It does not follow all the rules of the typical
 computer programming language. There are no constructs in SQL to allow decision branches.
You can't go to a specific piece of code or execute that code if a decision has been made.

On the other hand, SQL is ideal for getting data out of a database using complicated rules.
If you team SQL with other languages such as PHP or C/C++, the combination is very powerful.
 With this kind of combination, you can accomplish any programming task.

SQL is inherently simple. The most commonly used commands in SQL are CREATE, DROP, GRANT, INSERT, SELECT, and UPDATE. The modifiers for most of these commands are WHERE, AND, OR, LIKE, GROUP BY, or ORDER BY.
A few helper functions such as, but not limited to, COUNT(), AVG(), MIN(), MAX(), and SUM() also exist.

After you have mastered this list of commands, you are ready to use SQL for most tasks. In almost all cases,
 by using some thought, complex statements can be boiled down to simpler statements. Very rarely do you require some of the more complex constructs.

MySQL Implements a Subset of SQL
Not all ANSI SQL features are implemented in MySQL. As of the 3.22 version of MySQL, the following
features are left out:



In VARCHAR columns, trailing spaces are removed when stored in the database.

In some cases CHAR columns are changed to VARCHAR columns without notification.

Privileges stay after a table is deleted. They must be explicitly revoked using the REVOKE command.
 This is because privileges are stored in the mysql database tables.

NULL and FALSE both evaluate to NULL.

MySQL 3.22 doesn't support transactions. However, it does do its work using "atomic operations."
 The authors of MySQL believe this provides "equal or better integrity," with better performance.
 MySQL version 3.23 is having transactions added to it.


You can simulate COMMIT and ROLLBACK. A COMMIT on an operation is a way of saying all the conditions are
 good, store the data. To do this in a multiuser environment, you LOCK the tables to prevent any other user
 from changing them. You then make your changes and test all the conditions.


The MySQL server version 3.22 and below is under the MySQL Free Public license, which is applicable
 to non-Microsoft platforms, and is included at the end of this book. It is a very liberal license,
 requiring payment under limited circumstances.

Some parts of the MySQL tools are under the GNU public license. Some parts of the MySQL tools are
 in the public domain. The MySQL server itself is not under the GNU license or in the public domain.
 On Microsoft platforms, the license for version 3.22 and below is a different license and requires
payment after a trial period. Check their Web site for details concerning the Microsoft licensing details.

MySQL server version 3.23 is now released under the GPL license. Version 3.23 is still in alpha as of
this writing, but should be released soon. It is in your best interest to upgrade to version 3.23 as
soon as it is stable because the GPL license is less restrictive than the MySQL license.