Успешно установив MySQL, вы можете приступить к созданию своей первой таблицы. Таблица, структурированное вместилище данных, является основным понятием реляционных баз. Прежде чем начать вводить данные в таблицу, вы должны определить ее структуру. Рассмотрим следующую таблицу:
books
isbn
varchar(13) not null
author
varchar(30)
title
varchar(60)
price
float
Таблица содержит не только имена колонок, но и тип каждого поля, а также возможные дополнительные сведения о полях. Тип данных поля определяет, какого рода данные могут в нем содержаться. Типы данных SQL сходны с типами данных в других языках программирования. Полный стандарт SQL допускает большое разнообразие типов данных. MySQL реализует большую их часть.
Общий синтаксис для создания таблиц следующий:
CREATE TABLE table_name (column_name1 type [modifiers]
[, column_name2 type [modifiers]] )
Какие идентификаторы - имена таблиц и колонок - являются допустимыми, зависит от конкретной СУБД. В MySQL длина идентификатора может быть до 64 символов, допустим символ «$», и первым символом может быть цифра. Более важно, однако, что MySQL допускает использование любых символов из установленного в системе локального набора. Для хорошей переносимости SQL избегайте имен, начинающихся не с допустимой буквы.
Колонка - это отдельная единица данных в таблице. В таблице может содержаться произвольное число колонок, но использование больших таблиц бывает неэффективным. Создав правильно нормализованные таблицы, можно объединять их («join») для осуществления поиска в данных, размещенных в нескольких таблицах. Механику объединения таблиц мы обсудим позднее.
PhpMyAdmin дает нам возможность создавать таблицы двумя способами. Во первых, мы можем использовать команду создать таблицу, указав ее название и число полей:
Затем мы должны описать каждое из полей:
Мы можем создать ту же таблицу, используя команду SQL CREATE TABLE, выбрав вкладку SQL:
CREATE TABLE `books` (
`isbn` VARCHAR( 13 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, `author` VARCHAR( 30 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, `title` VARCHAR( 60 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, `price` FLOAT NOT NULL , PRIMARY KEY ( `isbn` )
);
Создадим еще две таблицы (author и books2):
CREATE TABLE `author` (
`id` INT( 3 ) NOT NULL AUTO_INCREMENT , `name` VARCHAR( 30 ) NOT NULL , `citizen` VARCHAR( 2 ) NOT NULL , PRIMARY KEY ( `id` )
);
CREATE TABLE `books2` (
`id` INT( 3 ) NOT NULL AUTO_INCREMENT, `title` VARCHAR( 60 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, `author` INT( 3 ) NOT NULL, `pages` INT( 4 ) NOT NULL, PRIMARY KEY ( `id` )
);
Как и бывает в жизни, разрушить легче, чем создать. Следующая команда удаляет таблицу:
DROP TABLE table_name
MySQL уничтожит все данные удаленной таблицы. Если у вас не осталось резервной копии, нет абсолютно никакого способа отменить действие данной операции. Поэтому всегда храните резервные копии и будьте очень внимательны при удалении таблиц. В один «прекрасный» день это вам пригодится.
В MySQL можно одной командой удалить несколько таблиц, разделяя их имена запятыми. Например, DROP TABLE books, author, books2 удалит эти три таблицы. Можно также использовать модификатор IF EXISTS для подавления ошибки в случае отсутствия удаляемой таблицы. Этот модификатор полезен в больших сценариях, предназначенных для создания базы данных и всех ее таблиц. Прежде чем создавать таблицу, выполните команду DROP TABLE table_name IF EXISTS.