# SQL

SQL (Structured Query Language) a zo ur yezh programmiñ despizañ roadennoù (saozneg : DDL - Data Definition Language), un areg dazverañ (embreg) roadennoù (DML - Data Manipulation Language) hag ul lavar gwiriañ roadennoù (DCL - Data control Language) evit ar stlennvonoù daveaduriek.
Ijinet e oa bet an delvan (pe patrom) daveaduriek gant E.F. Codd a oa rener kreizenn imbourc'h IBM e San Jose e 1970. Da heul e oa bet ergrafet yezhoù :
* IBM Sequel (Structured English Query Language) e 1977 ;
* IBM Sequel/2 ;
* IBM System/R ;
* IBM DB2.
Al lavaroù-se eo o deus lakaet da vezañ ijinet ar skoueriegezh SQL skoueriekaet e 1986 gant an ANSI d'ober SQL/86 ha war-lerc'h e 1989 an handelv SQL/89. SQL 2 a vezer oc'h envel reolad SQL/92 deuet er-maez e 1992. SQL/99 an handelv (pe stumm) diwezhañ a zo deuet er-maez e 1999 dindan ar reolad ISO/IEC 9075X:1999. Hogen ne heuilh ket un darn eus embannerien meziantoù ar reolad a-bezh. E-gizh-se e vez kefloueret (~ emboudet) spesadelioù e-barzh ul lodenn eus aregoù SQL gant embannerien 'zo. Da skouer an areg SQL implijet gant Microsoft ACCESS a zo ennañ diforc'hioù e-keñver ar reolad ANSI.

## Despizañ al lavar SQL

* Ul lavar despizañ roadennoù eo SQL : eleze e ro an tu da grouiñ taolennoù roadennoù e-barzh ur stlennvon daveaduriek hag ouzhpenn daskemmañ pe dilemel anezhe.
* Ul lavar dazverañ roadennoù eo SQL : eleze e kevaraez da ziuzañ, da ensoc'hañ, da zaskemmañ pe da zilemel roadennoù e-barzh taolennoù ur stlennvon.
* Ul lavar gwareziñ haezerezh eo SQL : gallout a reer gant SQL savelañ aotreoù war ar roadennoù evit an arveriaded.

## Stumm hag arc'hadoù SQL

Dindan stumm rekedoù eo e vez skrivet an areg SQL.
Gallout a reer kevanaat ar rekedoù SQL e-barzh goulevioù skrivet war-bouez aregoù arall evel da skouer C pe PHP pe kas rag-eeun rekedoù SQL d'ar RASV (Reizhiad Ardeiñ ar StlennVon).
* An areg despizañ roadennoù :
Da zeraouiñ e c'heller diverrañ luniad an delvan daveaduriek en ur iskouniañ e urzhaz : rezoù ha bannoù e endalc'h an taolennoù, taolennoù e endalc'h ar selled pe goulun ergrafañ, selledoù ergrafañ e endalc'h ar rollad ha rolladoù e endalc'h ar stlennvon.
Gallout a reer krouiñ taolennoù gant an arc'had : CREATE TABLE
Da skouer, evit krouiñ un daolenn oc'h enderc'hel roadennoù a-zivout levrioù ul levraoueg :
| CREATE TABLE LEVRIOU ( | CREATE TABLE LEVRIOU ( | CREATE TABLE LEVRIOU ( |
| (doareennoù) | (rizh roadennoù) | (destrizhoù) |
| LEVR-ID | INTEGER | NOT NULL, |
| TITL-LEVR | CHARACTERE (20) | NOT NULL, |
| SKRIVAGNER | CHARACTERE (20), |
| NV-PAJENNOU | INTEGER, |
| AMPRESTET | BOOLEAN ); |
Gallout a reer sellout ouzh taolennoù gant an arc'had CREATE VIEW. Evit daskemmañ un daolenn e reer gant ALTER TABLE, evit dilemel anezhi : DROP TABLE.
* An areg daskemmañ roadennoù :
An arc'hadoù arveret a zo : SELECT, INSERT, UPDATE, DELETE.
Da skouer, evit gwereañ titloù ha niver a pajennoù levrioù bet skrivet gant X. Grall eus an doalenn LEVRIOU :
| SELECT | TITL-LEVR, | NV-PAJENNOU |
| FROM | LEVRIOU |
| WHERE | SKRIVAGNER = | X.Grall; |
Ur reked eztennañ roadennoù eo. An hini eeunañ a zo : SELECT * FROM LEVRIOU evit eztennañ pep doareenn eus an daolenn LEVRIOU.
Ma hon eus c'hoant ouzhpennañ roadennoù nevez d'un daolenn (ur marilhadur) :
| SELECT INTO | LEVRIOU ([ID-LEVR, TITL-LEVR, SKRIVAGNER, NV-PAJENNOU, AMPRESTET)] |
| VALUES | (3267, Ar Pembroke, J. Priel, 280, N); |
Pe daskemmañ roadennoù, da skouer :
* UPDATE LEVRIOU
* SET NV-PAJENNOU = '253', TITL-LEVR = 'An teirgwern Pembroke'
* WHERE ID-LEVR = '3267'

## Liammoù diavaez

* Kelennskridoù evit deskiñ implij an SQL