SQL

Structured Query Language (SQL) on IBM:n kehittämä standardoitu kyselykieli, jolla relaatiotietokantaan voi tehdä erilaisia hakuja, muutoksia ja lisäyksiä. 

SQL-kieltä ehdottivat vuonna 1974 Donald D. Chamberlin ja Raymond F. Boyce IBM:n tutkimuslaboratoriossa, jolloin sitä kutsuttiin nimellä SEQUEL (Structured English Query Language). Kieli oli suunnattu uudelle ryhmälle käyttäjiä, jotka eivät halunneet opetella kyselykieltä ja kieli perustui englanninkielisille malleille. Kiinnostus kielen kehittämiseen tuli Edgar F. Coddin esittämästä relaatiomallista. Nimi muutettiin lyhyempään muotoon vuonna 1977 tavaramerkkisyistä. Kieli on kehitetty System R -tietokantajärjestelmää varten.

SQL-kielestä on useita murteita: esimerkiksi Oraclella on PL/SQL, Microsoftilla Transact-SQL ja ANSI-standardi ANSI SQL.
ISO/IEC on julkaissut standardoidun version SQL:stä, jonka uusin versio on ISO/IEC 9075-1:2016. Eri tietokantojen hallintajärjestelmissä on lukuisia eroja SQL-kielen toteutuksissa.http://troels.arvin.dk/db/rdbms/

SQL-kieli ei määritä verkkoprotokollaa tai standardia, jolla SQL-komentoja välitetään. ODBC on ohjelmointirajapinta, joka tarjoaa tietokantajärjestelmästä riippumattoman rajapinnan ja vaatii tietokantajärjestelmälle sopivan ODBC-ajurin asiakasohjelmalle. ODBC on osa SQL/CLI-standardia. LDAP on esimerkki tietokannasta, jossa myös verkkoprotokolla on standardoitu.

Tärkeimmät käyttökäskyt ovat SELECT, UPDATE, INSERT ja DELETE. Tärkeimmät tiedon määrittelykäskyt ovat CREATE TABLE, CREATE VIEW, joilla luodaan uusia tietokantaobjekteja (taulu ja näkymä, vastaavasti). ALTER-käskyllä voidaan muuttaa objektia (esim. lisätä tauluun jälkeenpäin uusi sarake).

 Esimerkkejä 
 SELECT id, tietue FROM taulu WHERE quux = 'xyzzy' ORDER BY id DESC;
 UPDATE taulu SET kentta = 'esimerkki' WHERE id = 42;
 INSERT INTO taulu (kentta,toinenkentta) VALUES ('tietoa', 5);
 DELETE FROM taulu WHERE kentta = 123;

 Käytännön toteutuksia 

 SQL-palvelimia 

Suljettu lähdekoodi
 Oracle
 Microsoft SQL Server
 Sybase ASE
 IBM DB2

Avoin lähdekoodi
 Firebird
 MySQL
 PostgreSQL
 MariaDB

 Muita 
 SQLite
 Microsoft Access

 Katso myös 
 Tietokanta
 Tietokannan hallintajärjestelmä

 Lähteet 

 Aiheesta muualla 

*
Luokka:IBM
Luokka:Seulonnan keskeiset artikkelit