Sqlite3, create table (táblázat létrehozása)

PRIMARY KEY (oszlop lista) [konfliktus-klauzula] |

EGYEDI (oszlop lista) [konfliktus-klauzula] |

A konfliktus konfliktus-algoritmus

A CREATE TABLE parancs a kulcsszó „CREATE TABLE” általában követi a tábla nevét és a meghatározások listáját mezők és feltételekkel. A tábla neve lehet egy azonosító vagy egy string. Kezdődő nevek „sqlite_” számára vannak fenntartva a motort.







Minden meghatározás területén táblázat tartalmazza a nevét, típusát, és egy vagy több további feltételek. Az adattípust a területen nem korlátozza a rendszer az adatok ott. További információkért lásd adattípusok az SQLite 3. verzió egyedi restrikciós okoz létrehozását az index az adott területeken. LEVÁLOGAT üzemeltetője határozza meg az összehasonlító függvényt fogja használni ezen a területen. Alapértelmezésben a beépített bináris.

DEFAULT kikötés egy alapértéket használt behelyezésekor az INSERT. Az érték lehet NULL, egy szövegben vagy egy számot. 3.1.0-es verziótól kezdődően, az alapértelmezett érték is kaphat speciális kulcsszavak CURRENT_TIME, CURRENT_DATE vagy CURRENT_TIMESTAMP. Ha az érték NULL, karakterlánc vagy szám, akkor be anélkül, hogy bármilyen változás a területen, ha egy INSERT utasítás nem érték ezen a területen. Ha az érték CURRENT_TIME, CURRENT_DATE vagy CURRENT_TIMESTAMP, akkor az aktuális UTC dátum és / vagy idő be van dugva a területen. A CURRENT_TIME, hh formátumban: MM: SS. A CURRENT_DATE, HH-MM-DD. Formátuma CURRENT_TIMESTAMP - "ÉÉÉÉ-HH-NN HH: MM: SS".

Meghatározása az elsődleges kulcs általában csak létrehoz egy egyedi index a megadott területeken. Azonban, ha az elsődleges kulcs egy oszlop típusú egész szám, akkor ez az oszlop belül fel kell használni az igazi kulcs a B-fa (B-fa) asztal. Ez azt jelenti, hogy a területen csak tartalmazhatnak egyedi egész szám. (Kivéve egy esetet, SQLite figyelmen kívül hagyja a mezőt típusú adatok tárolására képes bármilyen típusú adat, függetlenül azok leírását.) Ha a tábla nem rendelkezik mezők INTEGER PRIMARY KEY, akkor az egész kulcsot B-fa (B-fa) automatikusan létrehozásra kerül. Hozzáférés a legfontosabb B-fa bejegyzéseket mindig elő speciális nevek „ROWID”, „OID”, vagy „_ROWID_”. Ez igaz, függetlenül attól, INTEGER elsődleges kulcs. Miután INTEGER PRIMARY KEY is tartalmazhat kulcsszó AUTOINCREMENT. AUTOINCREMENT kulcsszó megváltoztatja az utat az automatikus generációs B-fa. További információkat az automatikus generációs B-fa külön érhető el.







Összhangban az SQL szabvány, elsődleges kulcs magában foglalja NOT NULL. Sajnos, a hosszú távú felügyelet, ez nem így van abban az esetben, SQLite. SQLite teszi NULL értékeket oszlopok elsődleges kulcs. Meg tudjuk változtatni a SQLite szabványnak megfelelő (és talán ez fog történni a jövőben), de addig, SQLite volt annyira elterjedt, hogy félünk, hogy rossz kódot, amely most a helyes, ha a probléma megoldásához. Tehát most úgy döntöttünk, hogy a NULL oszlopokat elsődleges kulcs. A fejlesztők szabad elfelejtenünk, hogy tudjuk módosítani SQLite összhangban az SQL szabvány a jövőben is, és ki kell dolgoznia az új programok összhangban van.

Ha a kulcsszavak „TEMP” vagy „ideiglenes” között használt „CREATE” és „asztal”, akkor a táblázat csak akkor jön létre a kapcsolat az adatbázissal, és automatikusan törlődik, amikor bezárja azt. Minden indexek létre egy ideiglenes táblát is átmeneti. Ideiglenes táblák és indexek vannak tárolva egy külön fájlban elkülönül a fő adatbázis fájlt.

ha határoztuk meg, majd a tábla jön létre a megadott adatbázisban. Tévesen meg egyszerre és a TEMP kulcsszó, kivéve, ha nem "temp". Ha az adatbázis neve nincs megadva, a TEMP kulcsszó nem használható, a tábla jön létre az aktuális adatbázisban.

CHECK megszorítás támogatott verzió 3.3.0. Előtt változat 3.3.0, ellenőrizze lehetne határozni, de nem volt megfigyelhető.

Nincs kifejezett korlátozás a mezők számát, illetve a számos korlátozást a táblázatban. A teljes méretű adatokat egy felvétel csak mintegy 1 MB verzió 2.8. A 3.0-s verzió, nincs nehéz határt, hogy mennyi adatot tárol a rekordot.

Forma táblázat definíciója CREATE TABLE AS létrehoz egy táblázatot a lekérdezés eredményét. A nevét az asztal mezők származnak nevét mezők lekérdezés eredményét.

A pontos szövegét CREATE TABLE sqlite_master kérés a táblázatban tárolt. Minden alkalommal, amikor megnyit egy adatbázist, az összes kérés olvasható a CREATE TABLE sqlite_master asztal és használjuk egy belső ábrázolása SQLite. Ha az eredeti csapat CREATE TABLE AS, majd hozzon létre az egyenértékű CREATE TABLE, amely a tárolt sqlite_master helyett az eredeti kérelem. Szöveg létre ideiglenes TABLE sqlite_temp_master egy táblázatban tárolja.

Ha megadja a kötelező HA NEM LÉTEZIK szereplő, és már van egy másik tábla azonos nevű, a parancs nem kerül végrehajtásra.