SQL
Introduction
Structured Query Language (SQL) is a standardized programming language used for managing and manipulating relational databases. SQL is a declarative language, meaning it describes what needs to be accomplished, rather than detailing a step-by-step process to achieve it.
History
SQL was initially developed at IBM by Donald D. Chamberlin and Raymond F. Boyce in the early 1970s. The initial version was called SEQUEL (Structured English Query Language) and was designed to manipulate and retrieve data stored in IBM's original quasi-relational database management system, System R. Later, the name was changed to SQL to avoid trademark conflicts.
SQL Language Elements
SQL is composed of a number of language elements, including:
- Keywords: SQL has a set of reserved words, or keywords, that have special meanings. These cannot be used as identifiers unless they are quoted.
- Identifiers: Identifiers are names of database objects such as tables, views, columns, schemas, and databases.
- Data types: SQL supports a number of data types that define the kind of data that can be stored in a database column.
- Operators: SQL uses operators to perform operations on data. These include arithmetic, comparison, and logical operators.
- Expressions: An expression combines one or more values, operators, and SQL functions to generate a value.
- Clauses: A clause is a component of a SQL statement. For example, the SELECT and WHERE clauses in a SELECT statement.
- Statements: A SQL statement is a command that tells the database to perform a certain action. For example, the SELECT statement retrieves data from the database.
SQL Commands
SQL commands can be categorized into several types, including:
- Data Definition Language (DDL): These commands are used to define or alter the structure of database objects. Examples include CREATE, ALTER, and DROP.
- Data Manipulation Language (DML): These commands are used to retrieve, insert, delete, and modify data in the database. Examples include SELECT, INSERT, DELETE, and UPDATE.
- Data Control Language (DCL): These commands are used to control access to data stored in a database. Examples include GRANT and REVOKE.
- Transaction Control Language (TCL): These commands are used to manage transactions within a database. Examples include COMMIT and ROLLBACK.
SQL Standards
SQL has been standardized by both the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO). The SQL standard has undergone several revisions since its initial standardization, including SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2006, SQL:2008, SQL:2011, and SQL:2016.
SQL Implementations
There are many different implementations of SQL, each with their own additional proprietary extensions. Some of the most popular SQL database management systems include MySQL, Oracle Database, Microsoft SQL Server, and PostgreSQL.
SQL in Practice
In practice, SQL is used by database administrators, data analysts, and developers to create, manipulate, and manage relational databases. SQL skills are highly sought after in a variety of fields, including business, data science, and software development.