|
Программирование >> Создание клиентов mysql
SQL- это язык взаимодействия с базами даннтх, применяемый в большинстве реляционных СУБД, включая MySQL. Основной стандарт языка был принят в 1992 г. и называется SQL2 или SQL-92. Продолжается также работа над наиболее современным стандартом SQL3. В MySQL команде! SQL вводятся с помощью одного из клиентов, описанных в главе 3, Взаимодействие с MySQL . В настоящей же главе будут рассмотрены основные возможности языка. Подробное знакомство со всеми поддерживаемыми инструкциями SQL произойдет в главе 13, Инструкции SQL . SQL - язык четвертого поколения SQL больше напоминает человеческий язык, чем С, РНР илиJava, так как это язык четвертого поколения. К языкам первого поколения относятся платформно-зависимые машинные коды, напрямую воспринимаемые центральным процессором. Второе поколение - это ассемблерные языки. Языки третьего поколения считаются высокоуровневыми, и на них работают большинство программистов. Одна из задач SQL - быть понятным непрограммистам. Поэтому запросы читаются как обычные предложения. Словарь SQL относительно невелик, а его команды являются словами английского языка. Таким образом, SQL несложно изучить. Обычно ключевые слова SQL записывают прописными буквами, чтобы отличать их от названий таблиц и столбцов. Но для MySQL это не имеет никакого значения. Часто для удобства восприятия инструкции SQL записывают в нескольких строках, что допускается синтаксическим анализатором. В программе mysql конец инструкции помечается специальной командой. Проще всего ввести точку с запятой (;), но можно также набрать \д или до. Все эти команды не являются частью языка, они необходимы лишь интерпретатору mysql. Определение данных Для определения структуры базы данных предназначена команда CREATE. Если база данных еще не бтла создана посредством утилиты mysqladmin, то это можно сделать с помощью инструкции CREATE DATABASE. Единственным ее аргументом является имя базы данных (она создается пустой). Естественно, если база с таким именем уже существует, будет выдано сообщение об ошибке. В листинге 6.1 демонстрируется создание базы store. CREATE DATABASE store Инструкция DROP DATABASE удаляет базу данных вместе со всеми таблицами. Это необратимое действие, так что будьте осторожны. Таблица создается с помощью инструкции CREATE TABLE. Ей нужно указать не только имя таблицы, но и ее полно е определение, состоящее из определений отдельных полей. Имя таблицы может быть полным либо неполным. К полномуимени добавляется имя базы данных, например store.item. Точно так же полное имя столбца включает в себя имена базы данных и таблицы: store.item.price. Но гораздо удобнее назначить стандартную базу данных, тогда отпадет необходимость в полных именах. Для этого предназначена инструкция USE. Имя базы данных можно задать и при вызове программы mysql. Подробнее об этом рассказывается в главе 14, Утилиты командной строки . Общий формат инструкции CREATE TABLE таков: CREATE TABLE имятаблицы (определение столбца, ...) Определение столбца включает в себя имя столбца и спецификацию его типа. Таблица, создаваемая в листинге 6.2, содержит четыре столбца: ID, Name, Price и Description. CREATE TABLE item ( ID INT(6) NOT NULL AUTO INCREMENT, Name CHAR(32) NOT NULL, Price DECIMAL(4,2) NOT NULL, Description CHAR(255) DEFAULT No Description, PRIMARY KEY(ID), KEY (Name) Определение данных 73 Определение существующей таблицы можно узнать с помощью инструкции DESCRIBE (сокращенный вариант- DESC). В листинге 6.3 показан результат, в1да-ваемый этой инструкцией в случае таблицы item. Аналогичную информацию выдает инструкция SHOW COLUMNS, общий формат которой таков: SHOW COLUMNS FROM имя таблицы Существует много разных инструкций семейства SHOW. Например, инструкция SHOW DATABASES выдает список всех баз данных, доступных текущему пользователю. С помощью инструкции SHOW TABLES можно получить список таблиц, существующих в стандартной базе данных. Столбец ID созданной выше таблицы item содержит целые числа в диапазоне от О до 999999. Значения NULL в нем недопустимы, на что указывает спецификатор NOT NULL. Кроме того, столбец работает в режиме счетчика (флаг AUTOINCREMENT). Это означает, что при вставке в таблицу новой строки значение ее столбца ID будет вычислено автоматически на основании значения в предыдущей строке. Нумерация начинается с единицы. Это хороший способ присвоения записям уникальных идентификаторов. У читателей может возникнуть вопрос: почему MySQL сообщает, что по умолчанию значение столбца ID равно NULL? Ведь в инструкции CREATE TABLE стандартное значение не было задано, более того, явно указано, что столбец не может содержать значения NULL. На самом деле значение по умолчанию есть у каждого столбца. Если оно не указано, MySQL сделает выбор самостоятельно. В случае столбцов-счетчиков NULL - это хороший выбор, так как при вставке самой первой строки в столбец будет записано значение 1. Столбец Name содержит строку из 32-х символов. У каждого элемента таблицы должно быть имя, поэтому столбец помечен спецификатором NOT NULL. Столбец Price хранит значение стоимости в десятичном формате: четыре цифры до запятой и две - после. Тип с плавающей запятой в данном случае не подходит, потому что он не обеспечивает точность вычислений. Столбец Description представляет собоекстовое поле максимальной длины: 255 символов. Он может принимать значения NULL, но благодаря наличию предложения DEFAULT они будут преобразовываться в строку No Description .
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |