Программирование >>  Создание клиентов mysql 

1 ... 66 67 68 [ 69 ] 70 71 72 ... 201


CREATE TABLE marchSales (

ID INT NOT NULL AUTO INCREMENT PRIMARY KEY, Item INT,

Price DECIMAL(6,2)

CREATE TABLE aprilSales (

ID INT NOT NULL AUTO INCREMENT PRIMARY KEY, Item INT,

Price DECIMAL(6,2)

CREATE TABLE totalSales ID INT NOT NULL, Item INT,

Price DECIMAL(6,2), KEY(ID)

) TYPE=MERGE UNION=(marchSales, aprilSales);

Запрос на выборку

В конце инструкции CREATE TABL жет находиться инструкция SELECT. Результаты запроса на выборку будут занесены в создаваемую таблицу. Если в самой инструкции CREATE TABLE отсутствуют спецификации столбцов, то вид создаваемой таблицы будет соответствовать таблице результатов запроса. В противном случае столбцы результатов запроса будут добавлены к определенным ранее столбцам.

Флаги IGNORE и REPLACE определяют порядок обработки дублирующихся записей, извлекаемых инструкцией SELECT.

Незаметные изменения

Программа MySQLменяет определения некоторых столбцов. При этом не выдается никакихпредупреждений, ноесли выполнить инструкцию DESCRIBE,можно будет увидеть изменения.

Например, столбцы типа TIMESTAMP должны иметь размерность 6, 8, 12 или 14 символов, поэтому нечетное значение размерности в интервале от 7 до 13 будет преобразовано в ближайшее большее четное число. Кроме того, флаги NULL и NOT NULL для таких столбцов игнорируются, а значения NULL преобразуются в текущее время.

Столбцы типа CHAR и VARCHAR тоже могут подвергаться определенным изменениям, что объясняется особенностями их хранения. Столбцы типа VARCHAR размерностью менее четырех символов будут приведены к типу CHAR. Если в таблице содержатся строки переменной длины, то столбцы типа CHAR размерностью более трех символов приводятся к типу VARCHAR.

В главе 11, Типы столбцов и индексов , говорилось о том, что у некоторых типов столбцов есть синонимы. Все эти синонимы будут автоматически преобразованы в эквивалентные имтипы.

С помощью инструкции SHOW TABLES можно получить список таблиц базы данных, а с помощью инструкции DESCRIBE - просмотреть информацию о заданной таблице.



Полный список инструкций 221

DELETE

Инструкция DELETE удаляет записи из таблицы. Ее синтаксис таков:

DELETE [LOW PRIORITY] FROM таблица [WHERE условия] [LIMIT ч1лсло зап111сей\

Фла lORITY говорит о том, что операция удаления должна быть отложена до того момента, пока не завершатся все операции чтения таблицы. Предложение WHERE имеет такой мат, как и в инструкции SELECT.

С помощью предложения LIMIT можно ограничить число удаляемых записей. Это позволяет разбивать длинные операции удаления на ряд более мелких операций, которые проще контролировать. Например, в листинге 13.23 удаляется по 10 записей за раз, ведь всего могут существовать сотни пользователей, которые не регистрировались в системе за прошедший месяц, к тому операция сравнения дат тоже занимает определенное время.

DELETE lORITY FROM user WHERE LastLogin < (NOW() - INTERVAL 30 DAY) LIMIT 10

Если предложения WHERE и LIMIT отсутствуют, будут удалены все записи таблицы. То же самое делает инструкция TRUNCATE, но она выполняется гораздо быстрее. При удалении записей подобным образом программа MySQL не сообщит об их числе. Если эта информация важна, задайте предложение WHERE, условие отбора которого всегда истинно.

Программа MySQL лишь помечает удаляемую строку как освобожденную. Пока она не будет затерта новой строкой, ее данные останутся на диске. Это повышает производительность за счет менее экономного использования дискового пространства. Инструкция OPTIMIZE TABLE удаляет неиспользуемые строки и восстанавливает правильный формат таблицы.

DESCRIBE

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

{DESCRIBE №SC} таблица [столбец I у еловые от6ора\

Для ленивых: вместо слова DESCRIBE можно указывать его сокращенную форму DESC.

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

Допускается указывать конкретный столбец или шаблон имени. Шаблон заключается в кавхчки и имеет такой же вид, как и в операторе LIKE (см. главу 10, Типы данных, переменные и выражения ). Аналогичные результата: в1дает инструкция SHOW COLUMNS.



В листинге 13.24 приведены результаты инструкции DESCRIBE. В первых двухко-лонках указаны имя и тип каждого столбца. В колонке Null будет стоять если столбец допускает значения NULL. Для столбцов, являющихся частью первичного ключа, в четвертой колонке будет стоять PRI. Если же столбец входит в состав другого индекса, то в этой колонке будет указана ШЪ. В пятой колонке отображается значение по умолчанию. В последней колонке приводится дополнительная информация о столбце. В частности, здесь указывается, является ли столбец

mysql> DESCRIBE mysql-user; н-----------------+


DROP DATABASE

Инструкция DROP DATABASE удаляет базу данныхиз системы: DROP DATABASE [IF EXISTS] имя

Вместе с базой данных удаляются все таблицы и вся хранимая информация. Спецификация IF EXISTS подавляет вывод сообщения об ошибке, в1даваемого в случае, если указанная база данных не существует.

Базы данных реализованы в виде каталогов, содержащих файлы данных и индексов. Инструкция DROP DATABASE удаляет в заданном каталоге все файлы, созданные программой MySQL. Другие файлы остаются. Если каталог пуст, он тоже удаляется. Таким образом, можно удалить все таблицы, но сама база данных останется, если в ней есть посторонние файлы. Удаление соответствующего каталога файловой системы тоже приводит к удалению базы данных.

Таблицы типа нужно удалять вручную.



1 ... 66 67 68 [ 69 ] 70 71 72 ... 201

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика