SQLite - TWORZENIE tabeli

SQLite CREATE TABLEinstrukcja służy do tworzenia nowej tabeli w dowolnej z podanych baz danych. Tworzenie podstawowej tabeli obejmuje nazwanie tabeli i zdefiniowanie jej kolumn oraz typu danych każdej kolumny.

Składnia

Poniżej przedstawiono podstawową składnię instrukcji CREATE TABLE.

CREATE TABLE database_name.table_name(
   column1 datatype PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype
);

CREATE TABLE to słowo kluczowe nakazujące systemowi bazy danych utworzenie nowej tabeli. Unikalna nazwa lub identyfikator tabeli następuje po instrukcji CREATE TABLE. Opcjonalnie można określić nazwę_bazy_danych wraz z nazwą_tabeli .

Przykład

Poniżej znajduje się przykład tworzenia tabeli COMPANY z identyfikatorem jako kluczem podstawowym i wartością NOT NULL, które pokazują, że te pola nie mogą mieć wartości NULL podczas tworzenia rekordów w tej tabeli.

sqlite> CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

Stwórzmy jeszcze jedną tabelę, której użyjemy w naszych ćwiczeniach w kolejnych rozdziałach.

sqlite> CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

Możesz sprawdzić, czy Twoja tabela została pomyślnie utworzona za pomocą polecenia SQLite .tables polecenie, które zostanie użyte do wyświetlenia wszystkich tabel w dołączonej bazie danych.

sqlite>.tables
COMPANY     DEPARTMENT

Tutaj możesz zobaczyć tabelę COMPANY dwukrotnie, ponieważ pokazuje ona tabelę COMPANY dla głównej bazy danych i tabelę test.COMPANY dla aliasu „test” utworzonego dla twojego testDB.db. Pełne informacje o tabeli można uzyskać za pomocą następującego oprogramowania SQLite.schema Komenda.

sqlite>.schema COMPANY
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);