Linux: Полное руководство
Шрифт:
Естественно, пользователь admin должен существовать и обладать соответствующими правами. Откройте созданную базу:
Каждый запрос MySQL должен заканчиваться точкой с запятой. Если вы введете SELECT * FROM test, клиент mysql будет ждать ввода точки с запятой:
Давайте договоримся, что будем писать запросы согласно стандарту SQL, то есть для улучшения
в программе mysql можно записать так:
Теперь создадим три таблицы — Товар, Клиенты и Заказы.
Таблица CLIENTS содержит поля C_NO (номер клиента), FIO (Фамилия, Имя, Отчество), Адрес, Город и Телефон. Все эти поля не могут содержать пустого значения (NOT NULL).
Большинство серверов не требуют явного указания NOT NULL, но при этом значение по умолчанию может быть разным: одни сервер инициализируют столбцы значением NULL, а другие — NOT NULL, Поэтому лучше явно указать NOT NULL.
Эта таблица будет содержать данные о товарах. Тип numeric (9,2) означает, что 9 знаков отводятся под целую часть и два — под дробную, QTY — это количество товара на складе.
Эта таблица содержит сведения о заказах — номер заказа (O_NO), дату заказа (DATE), номер клиента (C_NO), номер товара (T_NO), количество (QUANTITY) и стоимость заказа AMOUNT.
Теперь добавим данные в наши таблицы. Добавить данные можно с помощью оператора INSERT:
Добавляемые значения должны соответствовать тому порядку, в котором поля перечислены в операторе CREATE. Если вы хотите добавлять информацию в другом порядке, то вы должны указать этот порядок в операторе INSERT:
С помощью INSERT мы можем устанавливать значения только некоторых полей:
В нашем примере этот запрос выполнен не будет, поскольку все остальные поля равны NULL (пустое значение), а наша таблица пустых значений не допускает.
Добавим данные в таблицу TOVAR:
Обратите внимание, что мы пока еще не указали первичные ключи таблицы, поэтому нам никто не мешает добавить в таблицу одинаковые записи.
Добавить дату в поле DATE можно с помощью функции TO_DATE:
Данная запись означает, что первого января 2002 года Иванов И.П. (С_NO = 1) заказал один (QUANTITY = 1) монитор LG (T_NO = l).
Предположим, что нам нужно обновить запись, например, клиент Иванов переехал в другой город. Это делается так:
Теперь удалим всех клиентов, номера которых превышают 10:
Если вторая часть запроса DELETE — WHERE — не указана, значит, действие оператора распространяется на все записи указанной таблицы.
Добавление, изменение и удаление записей — это, безусловно, очень важные команды, но чаще всего вы будете использовать запрос SELECT, который выбирает из таблицы данные, удовлетворяющие условию.
Например, для вывода всех записей из таблицы CLIENTS, введите:
В результате вы получите такой ответ от сервера:
Обратите внимание на первые две записи — они одинаковые. Теоретически добавление одинаковых записей возможно — мы ведь не указали первичный ключ таблицы. Если вы хотите исключить одинаковые записи из ответа сервера (но не из таблицы!), введите запрос: