Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Создание таблиц

Основы создания таблиц

      Чтобы создать таблицу с помощью оператора CREATE TABLE, нужно указать следующие данные:

     •    имя новой таблицы; оно вводится после ключевого слова CREATE TABLE;
     •    имена и определения столбцов таблицы, разделенные запятыми;
     •    в некоторых СУБД также требуется, чтобы было указано место размещения таблицы.

     Посредством следующего оператора SQL создается таблица Products:

CREATE TABLE Products
prod_id CHAR (10) NOT NULL, 
vend_id CHAR(10) NOT NULL, 
prod_name CHAR(254) NOT NULL, 
prod_price DECIMAL(8,2) NOT NULL,
prod_desc VARCHAR(1000) NULL

      Как видите, имя таблицы указывается сразу же после ключевых СЛОВ CREATE TABLE.Определение таблицы (все ее столбцы) заключается в круглые скобки. Имена столбцов разделяются запятыми. Приведенная в примере таблица состоит из пяти столбцов. Определение каждого столбца начинается с имени столбца (которое должно быть уникальным в пределах данной таблицы), за ним указывается тип данных. (Обратитесь к разделу, "Что такое SQL", чтобы вспомнить, что такое типы данных. Кроме того, в приложении Г, "Использование типов данных SQL", приведен перечень часто используемых типов данных и сведения об их совместимости.) Оператор в целом заканчивается символом "точка с запятой", следующим после закрывающей круглой скобки.

     Ранее уже говорилось, что синтаксис оператора CREATE TABLE весьма различен для разных СУБД, и только что представленный нами простой сценарий доказывает это. В СУБД Oracle, PostgreSQL, SQL Server и Sybase представленный оператор будет работать в той форме, в которой он представлен в примере, а вот в MySQL тип VARCHAR должен быть заменен типом text. В DB2 значение NULL следует удалить из последнего столбца. 

Форматирование оператора

Пробелы игнорируются операторами SQL. Оператор можно ввести в одной длинной строке или разбить ее на несколько строк, разницы между ними не будет. Это позволяет форматировать выражения SQL так, как вам удобно. Показанный выше оператор create table — хороший пример форматирования оператора SQL. Код разбит на несколько строк, определения столбцов разнесены для удобства чтения и редактирования. Форматировать выражения SQL подобным образом не обязательно, но все же настоятельно рекомендуется.

Замена существующих таблиц

Когда вы создаете новую таблицу, указываемое вами имя не должно существовать в СУБД, иначе будет выдано сообщение об ошибке. Чтобы избежать случайной перезаписи, SQL требует, чтобы вы вначале вручную удалили таблицу (подробности освещены в следующем разделе), а затем вновь создали ее, а не просто перезаписали.