Informix rövid bemutatása SQL nyelv

Azonosító (objektum neve) - egy szó, amely betűk, számok és aláhúzás (_), kezdve egy betű vagy karakter (_). A INFORMIX-4GL nem különbözik a kis és nagy betűket. Ezért i_Un1023Tt és I_UN1023TT - az azonos nevet.
Az adatbázis neve nem lehet hosszabb 10.
A nevek más tárgyak SQL - táblák, oszlopok, kilátás (ál). Szinonimák - legfeljebb 18.

Az adatok leírása szereplők leírására használjuk (teremtés), módosítsa a leírás és a pusztítás az adatbázis-objektumok.
Az SQL, az alábbi tárgyak:


Minden objektum a saját nevét - az azonosító. Mindegyik objektum van tulajdonosa - azaz a a felhasználó, aki létrehozta. Az objektum neve finomítható a nevét a tulajdonos (tulajdonos-név) ebben a formában: moshkow.table1
Az alábbi példák az adatok felhasználásának leírását szereplők. A teljes szintaxis megtalálható a „Quick Reference Guide 4GL”, vagy a „Útmutató INFORMIX-4GL”.

Adatbázis létrehozása.


Bármikor férhet hozzá a tárgyak csak egy - a jelenlegi (aktuális) - tárol. DATABASE nyilatkozatot tesz az új bázis áram, a záró a hozzáférést a tárgyak megelőző aktuális adatbázist. CLOSE DATABASE kezelő egyszerűen bezárja az aktuális adatbázisban.


És létrehoz egy táblázatot Kadry CEH, amelyek különböző típusú oszlopok.


A már meglévő táblázat, meg tudjuk változtatni a típusú oszlop, adjunk hozzá egy újat, megsemmisíti a régit.


Megváltoztatása tábla szerkezete eredményezi fizikai átalakulás az azokban található adatok. Ha megváltoztatja a típusát az oszlop, a rajta tárolt adatok alakítja az új típusú, és ha ez nem lehetséges, akkor az ALTER üzemeltető „esik” a hibakódot és az asztal marad változatlan állapotban.
View - „ál” tábla alapján a meglévő táblákat.


Pontosan úgy viselkedik, mint egy igazi asztal, az egyetlen hely a lemezen alatt azt nem vonják vissza, mert az adatok mögött valójában egy táblázatban tárolja, amelyen a nézet alapul.
Index - további szerkezet az oszlopok a táblázatban, akkor fel kell gyorsítani a keresést értékek egy oszlopban.


Mi lehet fizikailag rendezni a táblázat szerint az index. A fürtözött tábla SELECT gyorsabb.


Oszlop neve lehet azonos a különböző táblázatokban. Ha bármilyen SQL említ két oszlop azonos nevű, meg kell határozniuk az asztalra neveket tartalmazza őket. A név előtt bármilyen tárgy lehet (és néha szükséges), hogy jelezze a nevét, a tulajdonos (tulajdonos-neve) - bemenet egy felhasználónevet, aki megalkotta (CREATE) ezen az oldalon.


Szinonimája egy asztal nevet használják rövidség kedvéért.


Most mindenhol lehet (bár nem feltétlenül) a név helyett használt petrow.sostoqnie_postow t1.
Egy adatbázis a rendszer tranzakciós log (logfile).


Ha nincs tranzakciós napló az egész adatbázis, az egyes táblák az adatbázisban ugyanerre a célra, akkor létrehozhat ellenőrzési nyomvonalat.


Persze, hogy bármely, az adatbázisban létrehozott objektum lehet semmisíteni. Elegendő arra emlékezni, hogy az adatok meghatározása kimutatások nem állítja vissza, így ha töröl egy tábla vagy adatbázis tudnia kell, hogy ez az örökre.


Ha a szolgáltató próbál írni egy sorban blokk többi felhasználó, a kezelő „kiírásra”. Beállíthatjuk, hogy a mód a program „Várjon feloldásával a vonalak.”

Az adatbázis, amelynek nincs rendszer napló nem tudja végrehajtani a tranzakciót, és visszaállítani a jelenlegi referenciapontot.
Mert az összes jó dolgot kell fizetni, a jelenléte a napló az adatbázisban okoz jelentős növekedést fölött, és lassítják lekérdezések. Ezen túlmenően, ha dolgozik az adatbázis rendszer log gyorsan „megduzzad”. Neki, hogy kövesse, és rendszeresen tisztítani.
Adja meg az új alaprendszer naplót.


Restore megsemmisült (például hardverhiba miatt) adatbázis az alábbiak szerint:
UNIX környezetben


Ha egy tranzakció során program „összeesett” a INFORMIX automatikusan, hogy a táv.


Ennek eredményeként a listák törlődik alkalmazottak 4. workshop „Smith”, „Smith”, „Sidorov”, stb Mint látható, a INFORMIX biztosít a nacionalista vezetők elfoglalva hatékony eszközöket megvalósításához elképzeléseiket.
És ez a szolgáltató fogja pusztítani az összes sort a táblázatban Kadry, amelynek tulajdonosa moshkow, de nem maga a táblázat

A legegyszerűbb formája a SELECT utasításban.


A harmadik példa kiválasztja a nevét az alkalmazottak az asztal keretek, és a nevét a bolt, ahol működnek, ettől CEH asztalra.


Ha azt akarjuk, hogy beilleszt egy sort a SERIAL típusú oszlop automatikusan bekerül a következő számláló értékét kell írni ebbe az oszlopba az állandó 0. Ha nem az összes oszlop ki sorral megadott érték (ahogy az a harmadik állítás), az üres oszlopok vannak töltve NULL .


A táblázat az üzletekben CÉH szám 3,4,5, valamint a kanyarodás és öntés az első négy karakter az osztályon kód helyére a részsztring nameceh területén ugyanabban a sorban.

A WHERE záradék jelen lehet bármelyik nyilatkozatok DELETE, UPDATE, SELECT, mikor kell a feltételeket a sorokat kell feldolgozni (illetve megsemmisíti, a változás vagy válassza). Tekintsük a szerkezete és példák használata a WHERE.
A WHERE záradék írásbeli logikai feltételt, amely vegyületet a logikai operátorokat AND, OR és NOT elemi összehasonlítások típusa:


valamint elemi összehasonlítások egy speciális fajtája:


Megtudhatja, hogy a karakterlánc megegyezik az adott minta, vagy sem. Ehhez képest, a két művelet által használt sablon - LIKE és gyufa.


MINT egy egyszerű sablon. Ez használ csak két karaktert (%) tetszőleges számú karakter (_) áll pontosan egy karaktert. Az összes többi karakter a minta magukért. Ha azt akarjuk, hogy tartalmazza a sablon% vagy _ eltörlése speciális jelentését, meg kell tenni eléjük ESC karakter (az alapértelmezett (\)).
Tegyük fel, hogy ki kell választanunk a táblázatból tab8 összes sort, amelyben a karakter oszlop string1 „+” jellel és az utolsó előtti betű benne - „Y”. minta nyilatkozat nézne ki:


MATCHES használ speciális karakterek, mint minta: *. [,], ^, -.


Ha azt szeretnénk, hogy speciális karaktereket, mint egy normális, használható menekülni-char. Ha escape-char = "", akkor \? Ez jelenti csak egy szimbólum. \ * Jelöl szimbólum * \\ jelentése \ karaktert. De az idézőjel ( „) belül a sablont kell kijelölni a két idézet (” „).
Jelölje ki az összes ügyfél adatait a nevét a cég, amely a második levél nem hazudik tartományban G L, a harmadik levél c. (By the way, a kódok az orosz betűk legjobb egyenesen, de ellentétben a latin betűket, oroszt nem betűrendbe.)


Jelölje ki az összes ügyfél adatait a nevét, ahol van egy kérdőjel.


Ez a példa ESC-szimbólum „I”, hogy megszünteti spetssmysla „?” Jellel.


A felhasználási feltételek és segédlekérdezésként.


Itt a allekérdezés egyetlen érték - a maximális érték a bérek. A külső SELECT találja a nevét ezek birtokosainak.


Itt kérhet kimenetek adatokat a vezetők, akik kapott támogatást és a munka az Urál.


Ezt a kérelmet (a korrelált allekérdezés) felsorolja az összes termék, amelynek teljes ár nem kevesebb, mint kétszerese a minimális ár a felsorolt ​​termékek ugyanabban a sorrendben.
Akkor csatlakoztatható bármilyen számot a fenti feltételek együttesen használ logikai operátorokat NOT, AND, OR.

UNLOAD nyilatkozat visszaállítja az adatokat a tábla egy fájlt a nyomtatási kép. Minden sor alakítjuk külön számlán, az értéke az oszlopok választják el „|”.
Végrehajtása után a nyilatkozat


A kadry19.unl fájl lehet kimutatni az alábbiak szerint:

Ajánlatok INTO, INTO TEMP, FROM.


Lehet választani több asztalt. Ebben az esetben mi minden lehetséges kombinációját sorok az első táblázat a második. Tegyük fel, hogy a táblázat tab1 6 sorból és tab2 - 7 sor. Az eredmény a következő példa - egy táblázat, amely három oszlopot, és a 7 * 6 = 42 sorok.


Nem fogjuk megadni, hogy hol a kapott táblázat kerül. De lehet használni különböző módokon: lehet desztillált (INTO TEMP) egy ideiglenes táblát, akkor lehet adni a feldolgozás egy másik szer (ha végzett mintavétel az al-lekérdezés), akkor létrehozhat egy kurzort ( „puffer” egy mutató a jelenlegi sort), és akkor tedd (be), hogy az egyszerű programozni változó (ha nem több, mint egy sor van kijelölve).
A kiválasztott sorok is rendelhető növekvő (csökkenő) oszlopban lévő értékeket (oszlopok)


Az ORDER BY záradék helyett az oszlop nevét, megadhatja a sorozatszámot a kiválasztáslistán (select-lista). A fenti állítások ekvivalensek.
Tedd értékeit az oszlopok a változók: (A lname használják, mint egy változó nevét, és az oszlop nevét, az oszlop neve előzi meg a jel (@)

Egy kiválasztott sor lehet alkalmazni összesítő függvények COUNT (*) - száma, MAX (oszlop) és MIN (oszlop) - a legnagyobb és legkisebb érték az oszlop, SUM (oszlop) - összessége értékek egy oszlopban, AVG (oszlop) - a középérték oszlopban.
Tedd egy változó num sorok számát a megrendelések táblázat, amelyben az oszlopban customer_num 101:


Példa szerinti vegyületek a táblázatok segítségével. Található fizetés átlagos értéke meghaladja a 300 (zarplata oszlop tartozik az egyik asztal), feltéve véletlen dolvnost oszlopok a két asztal.


Szerezd meg a foglalkoztatottak száma és az átlagos fizetés minden helyzetben munkaerő.


Azonos munkakörbe.
HAVING szab további feltételeket a csoportot.


Ez a lekérdezés visszaadja a megrendelések száma és az átlagos TOTAL_PRICE alkalmazások minden megbízás legalább két alkalmazás.

Külső kapcsolat asztal.


Lekérdezés megkeresi a cégek nevét és a megrendelések száma küldött. Ha a vállalat nem küld megrendeléseket, az ő neve továbbra is választható, és a megrendelés számát ebben a sorban egyenlő lesz a NULL. (És ha a lekérdezés futtatásához használata nélkül a külső, a nevét ezek a cégek nem létezne a mintában.)

Az üzemeltetők az adatok manipulálása - a legerősebb összetevője SQL.
A következő példa kiküszöböli Kadry ugyanabban a sorban a táblázatban.


Az alábbi példa módosítja az információt a sorok kulcs értéke:


Ugyanez a művelet elvégezhető egy UPDATE utasítás allekérdezés:


Példa változik információk vonalai a kulcs értékét, ha a feltételek. kényszerít rám a sor:

Kapcsolódó cikkek