Основы программирования в Linux
Шрифт:
Учтите, что следует быть внимательными при сравнении значений типов
Создание таблицы
Имея действующий сервер базы данных, зная как предоставлять права доступа пользователям и как создавать базу данных, а также ознакомившись с основными типами данных, можно переходить к созданию таблиц.
Таблица базы данных — это просто последовательность строк, каждая из которых содержит фиксированный набор столбцов. Она довольно похожа на электронную таблицу за исключением того, что
База данных может, если для этого есть разумные основания, содержать очень много, практически неограниченное количество таблиц. Однако лишь немногим СУРБД требуется более 100 таблиц, а большинству маленьких систем вполне достаточно 25 или около того таблиц.
Синтаксис языка SQL, посвященный созданию объектов баз данных и называемый DDL (data definition language, язык определения данных), невозможно охватить полностью в одной главе; все подробности есть в разделе документации, на Web-сайте MySQL.
Базовый синтаксис для создания таблиц следующий:
Удалять таблицы можно с помощью очень простой синтаксической формулы
Есть всего лишь небольшое число ключевых слов, приведенных в табл. 8.10, которые вам необходимо знать для того, чтобы быстро создать таблицу.
Таблица 8.10
Ключевое слово | Описание |
---|---|
AUTO INCREMENT | Это специальное ключевое слово сообщает MySQL о том, что, когда вы пишете в данный столбец NULL , следует автоматически заполнить столбец данными с помощью автоматически формируемого числа с наращением. Это чрезвычайно полезное средство; оно позволяет применять MySQL для автоматического назначения уникальных номеров строкам ваших таблиц, хотя оно может применяться только в столбцах, являющихся также первичными ключами. В других системах управления базами данных оно часто реализуется порядковым типом или управляется более явно с помощью последовательности |
NULL | Специальное значение в базе данных, обычно применяемое для обозначения "неизвестной" величины, но может также использоваться для обозначения "неподходящего" значения. Например, если вы заполняете таблицу подробными данными о сотрудниках, у вас может быть столбец с адресом электронной почты. В этом случае вы будете хранить NULL вместо адреса данного сотрудника, чтобы показать, что для конкретного человека эта информация не известна. Запись NOT NULL означает, что в этом столбце нельзя хранить значения NULL и может оказаться полезной для того, чтобы помешать вводу в такие столбцы значений NULL , если, например, значение всегда должно быть известно, как в случае фамилии сотрудника |
PRIMARY KEY | Указывает на то, что данные в этом столбце будут уникальными и разными во всех строках данной таблицы. У каждой таблицы может быть только один первичный ключ |
Выполните упражнение 8.1.
Гораздо легче понять создание таблицы на практике, чем смотреть на базовую синтаксическую запись, поэтому сейчас вы сделаете это, создав таблицу с именем
1. Вам нужен следующий оператор языка SQL
Обратите
внимание на то, что в отличие от большинства языков программирования имя столбца (2. Вы также можете определить первичный ключ отдельно в определении столбца. Далее приведен пример интерактивного сеанса, в котором показан альтернативный синтаксис:
Вы можете записать команду или оператор SQL в нескольких строках, и монитор
Если вы допустили ошибку, MySQL разрешит вернуться назад к предыдущим командам, откорректировать и повторно ввести их простым нажатием клавиши <Enter>.
3. Теперь у вас есть таблица, в которую можно вводить данные. Данные добавляются с помощью SQL-команды
Для того чтобы убедиться в том, что данные введены корректно, можно снова извлечь их. Выбираются данные из таблицы командой
Вместо явного перечисления столбцов для выборки вы могли бы применить для указания столбцов звездочку (*), которая перечислит все столбцы в названной таблице. Это очень удобно в интерактивном режиме, но в рабочем программном коде всегда следует явно называть столбец или столбцы, предназначенные для выборки.
Как это работает
Вы открыли интерактивный сеанс подключения к серверу базы данных и переключились на базу данных