Инструменты пользователя

Инструменты сайта


create_table

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

create_table [2013/07/17 18:33] (текущий)
Строка 1: Строка 1:
 +====== Команда CREATE TABLE ======
 +Синтаксис [[SQL]] команды CREATE TABLE:
 +<​file>​
 +      CREATE TABLE <table name>
 +        ( { <column name> <data type> | <​size>​]
 +        [<​colcnstrnt>​ ...]} .,.. );
 +        [<​tabconstrnt>​] .,.. );
 +</​file>​
 +Элементы,​ используемые в команде CREATE TABLE
 +<​file>​
 +ЭЛЕМЕНТ ​            ​ОПРЕДЕЛЕНИЕ
 +                    Имя таблицы создаваемой этой командой.
 +<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> .,.. )] (ССЫЛКА НА имя таблицы [(
 +                    имя столбца) ].
 +
 +</​file>​
 +====== Таблица с вычисляемым полем ======
 +<note important>​Не все базы данных поддерживают таблицы с вычисляемым полем. Например в [[PostgreSQL]] для эмуляции этого нужно использовать view.</​note>​
 +  * Пример:​ [[http://​citforum.ru/​programming/​32less/​les34.shtml|Таблица с вычисляемым полем]]. Данный пример создает таблицу,​ где среди других полей имеется вычисляемое (физически не существующее) поле NEW_SALARY, значение которого вычисляется по значениям двух других полей (OLD_SALARY и PERC_CHANGE).<​file>​
 +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));
 +</​file>​
  
загрузка...
create_table.txt · Последние изменения: 2013/07/17 18:33 (внешнее изменение)