Команда CREATE TABLE

Синтаксис SQL команды CREATE TABLE:

      CREATE TABLE <table name>
        ( { <column name> <data type> | <size>]
        [<colcnstrnt> ...]} .,.. );
        [<tabconstrnt>] .,.. );

Элементы, используемые в команде CREATE TABLE

ЭЛЕМЕНТ             ОПРЕДЕЛЕНИЕ
                    Имя таблицы создаваемой этой командой.
<table name>
                    Имя столбца таблицы.
<column name>
                    Тип данных, который может содержаться в столбце. Может быть
<data type>
                    любым из следующих:
                                             (ЦЕЛОЕ ЧИСЛО),
                    INTEGER
                    CHARACTER                (СИМВОЛЬНОЕ),
                    DECIMAL                  (ДЕСЯТИЧНОЕ),
                    NUMERIC                  (ЧИСЛОВОЕ),
                    SMALLINT                 (НАИМЕНЬШЕЕ)
                                             (С ПЛАВАЮЩЕЙ ТОЧКОЙ)
                    FLOAT
                    REAL                     (РЕАЛЬНОЕ),
                                             (УДВОЕННАЯ ТОЧНОСТЬ С ПЛАВАЮЩЕЙ ТОЧКОЙ),
                    DOUBLE PRECISION
                    LONG *                   (ДЛИННОЕ *),
                                             (ПЕРЕМЕННОЕ СИМВОЛЬНОЕ *),
                    VARCHAR *
                    DATE *                   (ДАТА *),
                    TIME *                   (ВРЕМЯ *)
                    (* — указывает на нестандартный для SQL тип данных)
                    Размер. Его значение зависит от <data type>.
<size>
                    Может быть любым из следующих:
<colconstrnt>
                                             (НЕ НУЛЕВОЙ),
                    NOT NULL
                    UNIQUE                   (УНИКАЛЬНЫЙ),
                                             (ПЕРВИЧНЫЙ КЛЮЧ),
                    PRIMARY KEY
                                             (ПРОВЕРКА предиката),
                    CHECK(<predicate>)
                                                    (ПО УМОЛЧАНИЮ = значимому выражению)
                    DEFAULT = <value expression>
                    REFERENCES <table name> [(<column name> .,.. )] (ССЫЛКА НА имя таблицы [(
                    имя столбца) ] )
                    Может быть любым из следующих:
<tabconstrnt>
                    UNIQUE (УНИКАЛЬНЫЙ),
                    PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ),
                    CHECK (ПРОВЕРКА предиката )
                    FOREIGN KEY(<column name>) (ВНЕШНИЙ КЛЮЧ)
                    REFERENCES <table name> [(<column name> .,.. )] (ССЫЛКА НА имя таблицы [(
                    имя столбца) ].

Таблица с вычисляемым полем

Не все базы данных поддерживают таблицы с вычисляемым полем. Например в Использование и настройка PostgreSQL для эмуляции этого нужно использовать view.
  • Пример: Таблица с вычисляемым полем. Данный пример создает таблицу, где среди других полей имеется вычисляемое (физически не существующее) поле NEW_SALARY, значение которого вычисляется по значениям двух других полей (OLD_SALARY и PERC_CHANGE).
    CREATE TABLE SALARY_HISTORY (
    	EMP_NO                      EMPNO NOT NULL,
    	CHANGE_DATE       DATE DEFAULT "NOW" NOT NULL,
    	UPDATER_ID            VARCHAR(20) NOT NULL,
    	OLD_SALARY            SALARY NOT NULL,
    	PERC_CHANGE        DOUBLE PRECISION DEFAULT 0 NOT NULL
                  CHECK (PERC_CHANGE BETWEEN -50 AND 50),
    	NEW_SALARY COMPUTED BY
                  (OLD_SALARY + OLD_SALARY * PERC_CHANGE / 100),
    PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATER_ID),
    FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO));
PQ VPS сервера в 28+ странах.