Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Команда create table



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

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] имя[(спецификация,...)] [опция,...] [ [IGNORE | REPLACE] запрос]

Флаг TEMPORARY задает создание временной таблицы, существующей в течение текущего сеанса. По завершении сеанса таблица удаляется. Временным таблицам можно присваивать имена других таблиц, делая последние временно недоступными. Спецификатор IF NOT EXIST подавляет вывод сообщений об ошибках в случае, если таблица с указанным именем уже существует. Имени таблицы может предшествовать имя базы данных, отделенное точкой. Если это не сделано, таблица будет создана в базе данных, которая установлена по умолчанию.

Чтобы задать имя таблицы с пробелами, необходимо заключить его в обратные кавычки, например 'courses list'. То же самое нужно будет делать во всех ссылках на таблицу, поскольку пробелы используются для разделения идентификаторов.

Разрешается создавать таблицы без столбцов, однако в большинстве случаев спецификация хотя бы одного столбца все же присутствует. Спецификации столбцов и индексов приводятся в круглых скобках и разделяются запятыми. Формат спецификации следующий:

имя тип[NOT NULL | NULL][DEFAULT значение][AUTO_INCREMENT][KEY][ссылка]

Спецификация типа включает название типа и его размерность. По умолчанию столбцы принимают значения NULL. Спецификатор NOT NULL запрещает подобное поведение.

У любого столбца есть значение по умолчанию. Если оно не указано, программа MySQL выберет его самостоятельно. Для столбцов, принимающих значения NULL, значением по умолчанию будет NULL, для строковых столбцов — пустая строка, для численных столбцов — нуль. Изменить эту установку позволяет предложение DEFAULT.

Поля-счетчики, создаваемые с помощью флага AUTO_INCREMENT, игнорируют значения по умолчанию, так как в них записываются порядковые номера. Тип счетчика должен быть беззнаковым целым. В таблице может присутствовать лишь одно поле-счетчик. Им не обязательно является первичный ключ.

Пример 1:

Для базы данных rabotniki определена одна таблица, которая содержит данные компании о сотрудниках. Создадим ее.

Rab_id 1_name 2_name dolgnost vozrast stag zarplata nadbavki email
Идентиф. номер работника Имя Фамилия Должность Возраст Стаж работы Зарплата Надбавки Адрес эл. почты

Команда SQL для создания такой таблицы выглядит следующим образом:

CREATE TABLE rabotniki_data(rab_id int unsigned not null auto_increment primary key,1_name varchar(20),2_name varchar(20),dolgnost varchar(30),vozrast int,stag int,zarplata int,nadbavki int,email varchar(60));

Примечание: в MySQL команды и имена столбцов не различают регистр символов, однако имена таблиц и баз данных могут зависеть от регистра в связи с используемой платформой (как в Linux). Поэтому можно вместо CREATE TABLE использовать create table.

За ключевыми словами CREATE TABLE следует имя создаваемой таблицы rabotniki_data. Каждая строка внутри скобок представляет один столбец. Эти столбцы хранят для каждого сотрудника идентификационный номер (rab_id), фамилию (1_name), имя (2_name), должность (dolgnost itle), возраст (vozrast), стаж работы в компании (stag), зарплату (zarplata), надбавки (nadbavki), и адрес e-mail (email).

За именем каждого столбца следует тип столбца. Типы столбцов определяют тип данных, которые будет содержать столбец. В данном примере столбцы 1_name,2_name, dolgnost и email будут содержать текстовые строки, поэтому тип столбца задан как varchar, что означает переменное количество символов. Максимальное число символов для столбцов varchar определяется числом, заключенным в скобки, которое следует сразу за именем столбца. Столбцы vozrast,stag, zarplata, nadbavki будут содержать числа (целые), поэтому тип столбца задается как int. Первый столбец (emp_id) содержит идентификационный номер (id) сотрудника. Его тип столбца рассмотрим по частям:

· int: определяет тип столбца как целое число.

· unsigned: определяет, что число будет без знака (положительное целое).

· not null: определяет, что значение не может быть null (пустым); то есть каждая строка в этом столбце должна иметь значение.

· auto_increment: когда MySQL встречается со столбцом с атрибутом auto_increment, то генерируется новое значение, которое на единицу больше чем наибольшее значение в столбце. Поэтому мы не должны задавать для этого столбца значения, MySQL генерирует их самостоятельно. Из этого также следует, что каждое значение в этом столбце будет уникальным.

· primary key: помогает при индексировании столбца, что ускоряет поиск значений. Каждое значение должно быть уникально. Ключевой столбец необходим для того, чтобы исключить возможность совпадения данных. Например, два сотрудника могут иметь одно и то же имя, и тогда встанет проблема – как различать этих сотрудников, если не задать им уникальные идентификационные номера. Если имеется столбец с уникальными значениями, то можно легко различить две записи. Лучше всего поручить присваивание уникальных значений самой системе MySQL.

После создания таблицы убедимся, что она существует командой

SHOW TABLES;





Дата публикования: 2014-10-20; Прочитано: 418 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...