2.3. Создание новой таблицы#

2.3. Создание новой таблицы

2.3. Создание новой таблицы

Вы можете создать новую таблицу, указав имя таблицы, а также все имена столбцов и их типы:

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

Можно ввести такой блок в psql с разрывами строк. psql распознает, что команда не завершена до точки с запятой.

Символы пробелов (а именно пробелы, табуляции и переносы строк) можно свободно использовать в SQL-командах. Это значит, что можно выравнивать команду произвольно, или даже разместить ее на одной строке. Две тире (--) вводят комментарии. Все, что следует за ними, игнорируется до конца строки. SQL не учитывает регистр ключевых слов и идентификаторов, за исключением случаев, когда идентификаторы заключены в двойные кавычки для сохранения регистра (в примере выше нет таких кавычек).

varchar(80) указывает тип данных, который может хранить произвольные символьные строки длиной до 80 символов. int - это обычный целочисленный тип. real - это тип для хранения чисел с плавающей точкой одинарной точности. date - дата. (Да, столбец типа date также называется date. Это может быть удобным или вызывать путаницу - дело вкуса).

Tantor SE поддерживает стандартные типы int, smallint, real, double precision, char(N), varchar(N), date, time, timestamp и interval, а также другие типы общего назначения и множество геометрических типов. Tantor SE можно настроить с любым количеством пользовательских типов данных. В результате, имена типов не являются ключевыми словами в синтаксисе, за исключением случаев, когда это необходимо в особых случаях по стандарту SQL.

В примере ниже создается таблица с городами и их географическим положением:

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

Тип point является примером специфического для Tantor SE типа данных.

Наконец, следует отметить, что если вам больше не нужна таблица или нужно пересоздать, вы можете удалить ее с помощью следующей команды:

DROP TABLE tablename;