Вход/Регистрация
Основы программирования в Linux
вернуться

Мэтью Нейл

Шрифт:

Учтите, что следует быть внимательными при сравнении значений типов

DATE
и
DATETIME
в отношении способа обработки значения времени; результаты могут оказаться неожиданными. Подробности ищите в руководстве по MySQL, поскольку поведение разных версий СУРБД слегка отличается.

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

Имея действующий сервер базы данных, зная как предоставлять права доступа пользователям и как создавать базу данных, а также ознакомившись с основными типами данных, можно переходить к созданию таблиц.

Таблица базы данных — это просто последовательность строк, каждая из которых содержит фиксированный набор столбцов. Она довольно похожа на электронную таблицу за исключением того, что у всех строк должно быть одно и то же число столбцов и одинаковые типы данных и каждая строка каким-то образом должна отличаться от всех остальных строк таблицы.

База данных может, если для этого есть разумные основания, содержать очень много, практически неограниченное количество таблиц. Однако лишь немногим СУРБД требуется более 100 таблиц, а большинству маленьких систем вполне достаточно 25 или около того таблиц.

Синтаксис языка SQL, посвященный созданию объектов баз данных и называемый DDL (data definition language, язык определения данных), невозможно охватить полностью в одной главе; все подробности есть в разделе документации, на Web-сайте MySQL.

Базовый синтаксис для создания таблиц следующий:

CREATE TABLE <таблица> {

 column type [NULL | NOT | NULL] [AUTO_INCREMENT] [PRIMARY KEY]

 [, ...]

 [, PRIMARY KEY (столбец [, ...] ) ]

)

Удалять таблицы можно с помощью очень простой синтаксической формулы

DROP TABLE
.

DROP TABLE <таблица>

Есть всего лишь небольшое число ключевых слов, приведенных в табл. 8.10, которые вам необходимо знать для того, чтобы быстро создать таблицу.

Таблица 8.10

Ключевое слово Описание
AUTO INCREMENT
Это специальное ключевое слово сообщает MySQL о том, что, когда вы пишете в данный столбец
NULL
, следует автоматически заполнить столбец данными с помощью автоматически формируемого числа с наращением. Это чрезвычайно полезное средство; оно позволяет применять MySQL для автоматического назначения уникальных номеров строкам ваших таблиц, хотя оно может применяться только в столбцах, являющихся также первичными ключами. В других системах управления базами данных оно часто реализуется порядковым типом или управляется более явно с помощью последовательности
NULL
Специальное значение в базе данных, обычно применяемое для обозначения "неизвестной" величины, но может также использоваться для обозначения "неподходящего" значения. Например, если вы заполняете таблицу подробными данными о сотрудниках, у вас может быть столбец с адресом электронной почты. В этом случае вы будете хранить
NULL
вместо адреса данного сотрудника, чтобы показать, что для конкретного человека эта информация не известна. Запись
NOT NULL
означает, что в этом столбце нельзя хранить значения
NULL
и может оказаться полезной для того, чтобы помешать вводу в такие столбцы значений
NULL
, если, например, значение всегда должно быть известно, как в случае фамилии сотрудника
PRIMARY KEY
Указывает на то, что данные в этом столбце будут уникальными и разными во всех строках данной таблицы. У каждой таблицы может быть только один первичный ключ

Выполните упражнение 8.1.

Упражнение 8.1. Создание таблицы и вставка данных

Гораздо легче понять создание таблицы на практике, чем смотреть на базовую синтаксическую запись, поэтому сейчас вы сделаете это, создав таблицу с именем

children
, в которой будет храниться уникальный номер для каждого ребенка, его имя и возраст. Номер ребенка вы сделаете первичным ключом.

1. Вам нужен следующий оператор языка SQL

CREATE TABLE children (

 childno INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,

 fname VARCHAR(30),

 age INTEGER

);

Примечание

Обратите внимание на то, что в отличие от большинства языков программирования имя столбца (

childno
) указывается перед типом столбца (
INTEGER
).

2. Вы также можете определить первичный ключ отдельно в определении столбца. Далее приведен пример интерактивного сеанса, в котором показан альтернативный синтаксис:

mysql> use rick

Database changed

mysql> CREATE table children (

– > childno INTEGER AUTO_INCREMENT NOT NULL,

 -> fname varchar(30),

 -> age INTEGER,

 -> PRIMARY KEY(childno)

 -> );

Query OK, 0 rows affected (0.04 sec)

mysql>

Вы можете записать команду или оператор SQL в нескольких строках, и монитор

mysql
применит подсказку
– >
, чтобы показать, что вы находитесь в строке продолжения. Как упоминалось ранее, команда SQL завершается точкой с запятой, чтобы показать, что вы закончили и готовы к обработке вашего запроса сервером базы данных.

Если вы допустили ошибку, MySQL разрешит вернуться назад к предыдущим командам, откорректировать и повторно ввести их простым нажатием клавиши <Enter>.

  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: