The spread of dynamic websites on the World Wide Web today is largely due to the possibility for their content to be handled through databases. Database management is a complicated process, which has been considerably rationalized by the SQL programming language. As its full name (Structured Query Language) implies, SQL is responsible for querying and editing information stored in a certain database management system.
The origins of the SQL take us back to the 1970s, when in the IBM laboratories, new database software was created - System R. And to manage the data stored in System R, the SQL language was created. At first it was called SEQUEL, a name which is still used as an alternative pronunciation for SQL, but was later renamed to just SQL.
In 1979, a company called Relational Software, which later became Oracle, saw the commercial potential of SQL and released its own modified version, named Oracle V2.
Now into its third decade of existence, SQL offers great flexibility to users by supporting distributed databases, i.e. databases that can be run on several computer networks at a time. Certified by ANSI and ISO, SQL has become a database query language standard, lying in the basis of a variety of well established database applications on the Internet today. It serves both industry-level and academic needs and is used on both individual computers and corporate servers. With the progress in database technology SQL-based applications have become increasingly affordable for the regular user. This is due to the introduction of various open-source SQL database solutions such as MySQL, PostgreSQL, SQLite, Firebird, and many more.
The SQL Standard has gone through a lot of changes during the years, which have added a great deal of new functionality to the standard, such as support for XML, triggers, regular expression matching, recursive queries, standardized sequences and much more. Due to SQL Standard’s sheer volume, a lot of database solutions based on it, such as MySQL or PostgreSQL, do not implement the whole standard. In a lot of cases, the database behavior for file storage or indexes is not well defined and it's up to the vendors of the various SQL implementations to decide how the database will behave. This is the reason why, even though all SQL implementations have the same base, they are rarely compatible.
SQL Language elements
The SQL language is based on several elements. For the convenience of SQL developers all necessary language commands in the corresponding database management systems are usually executed through a specific SQL command-line interface (CLI).
Clauses - the clauses are components of the statements and the queries
Expressions - the expressions can produce scalar values or tables, which consist of columns and rows of data
Predicates - they specify conditions, which are used to limit the effects of the statements and the queries, or to change the program flow
Queries - a query will retrieve data, based on a given criteria
Statements - with the statements one can control transactions, program flow, connections, sessions, or diagnostics. In database systems the SQL statements are used for sending queries from a client program to a server where the databases are stored. In response, the server processes the SQL statements and returns replies to the client program. This allows users to execute a wide range of amazingly fast data manipulation operations from simple data inputs to complicated queries.
The SQL queries are the most common and essential SQL operations. Via an SQL query, one can search the database for the information needed. SQL queries are executed with the “SELECT” statement. An SQL query can be more specific, with the help of several clauses:
- FROM - it indicates the table where the search will be made.
- WHERE - it's used to define the rows, in which the search will be carried. All rows, for which the WHERE clause is not true, will be excluded.
- ORDER BY - this is the only way to sort the results in SQL. Otherwise, they will be returned in a random order.
An SQL query exampleSELECT * FROM
ORDER BY LastName, FirstName
SQL data control, definition and manipulation
SQL is a language designed to store data, but the data stored in an SQL database is not static. It can be modified at any time with the use of several very simple commands. The SQL syntax is pretty much self explanatory, which makes it much easier to read and understand.
SQL data manipulation
Data manipulation is essential for SQL tables - it allows you to modify an already created table with new information, update the already existing values or delete them.
With the INSERT statement, you can add new rows to an already existing table. New rows can contain information from the start, or can be with a NULL value.
An example of an SQL INSERTINSERT INTO phonebook(phone, firstname, lastname, address) VALUES('+1 123 456 7890', 'John', 'Doe', 'North America');
With the UPDATE statement, you can easily modify the already existing information in an SQL table.
An example of an SQL UPDATEUPDATE phonebook SET address = 'North America', phone = '+1 123 456 7890' WHERE firstname = 'John' AND lastname = 'Doe';
With the DELETE statement you can remove unneeded rows from a table.
An example of an SQL DELETEDELETE FROM phonebook WHERE WHERE firstname = 'John' AND lastname = 'Doe';
SQL data definition
Data definition allows the user to define new tables and elements.
CREATE - with the CREATE statement you can create a new table in an existing database.
An example of an SQL CREATECREATE TABLE phonebook(phone VARCHAR(32), firstname VARCHAR(32), lastname VARCHAR(32), address VARCHAR(64));
DROP - with the DROP statement in SQL you can delete tables, which you no longer need
An example of an SQL DROPDROP TABLE phonebook;
TRUNCATE - with the TRUNCATE statement, you can delete all the content in the table, but keep the actual table intact and ready for further use
An example of an SQL TRUNCATETRUNCATE TABLE phonebook;
The ALTER statement permits the user to modify an existing object in various ways -- for example, by adding a column to an existing table.ALTER TABLE phonebook RENAME TO contacts
SQL data control
SQL allows the user to define the access each of the table users can have to the actual table.
GRANT - with the GRANT statement, you can authorize users to modify the selected table
An example of an SQL GRANTGRANT ALL PRIVILEGES ON database_name TO database_user;
REVOKE - with the REVOKE statement you can remove all privileges, previously granted to a user.
An example of an SQL REVOKEREVOKE ALL PRIVILEGES ON database_name TO database_user ;
SQL with NTC Hosting
MySQL, one of the most famous SQL distributions used by the majority of the scripts on the Internet, is included in all web hosting plans offered by NTC Hosting. And for those who demand a more professional solution, each plan can be upgraded with PostgreSQL. Each web hosting package comes with special graphical interface tools for managing tables - phpMyAdmin and phpPgAdmin, for MySQL and PostgreSQL, respectively.