русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование оператора CREATE


Дата добавления: 2015-07-09; просмотров: 641; Нарушение авторских прав


CREATE TABLE tb1(
num1 INT DEFAULT 0,
num2 FLOAT DEFAULT 1.0
)

Как видно из примера, после типа столбца указано ключевое слово DEFAULT. Оно позволяет задать значение поля по умолчанию, так для поля num1 значение по умолчанию выбрано 0, а для num2 — 1.0. Ключевое слово DEFAULT является не обязательным и может не указываться.

Строковые данные

Для строковых типов данныхмаксимальный размер и требования к памяти приведены в таблице. Здесь L — длина хранимой в ячейке строки, а байты приплюсованные к L, накладные расходы для хранения длины строки.

Таблица. Строковые типы данных
Тип Объем памяти Максимальный размер
CHAR(M) M символов M символов
VARCHAR(M) L+1 символов M символов
TINYBLOB, TINYTEXT L+1 символов 28-1 символов
BLOB, TEXT L+2 символов 216-1 символов
MEDIUMBLOB, MEDIUMTEXT L+3 символов 224-1 символов
LONGBLOB, LONGTEXT L+4 символов 232-1 символов
ENUM('value1', 'value2', ...) 1 или 2 байта 65535 элементов
SET('value1', 'value2', ...) 1, 2, 3, 4 или 8 байт 64 элемента

Тип CHAR позволяет хранить строку фиксированной длины М, его дополняет тип VARCHAR, позволяющий хранить переменные строки длиной L. Значение М может принимать значения от 0 до 65535.

Примечание. До версии MySQL 5.0.3 значение М для типов CHAR и VARCHAR могло принимать значения только от 0 до 255.

При выборе строкового типа данных для столбца следует принимать во внимание, что для переменных строкVARCHAR требуется количество символов, равное длине строки плюс один байт, в то время как тип CHAR(М), независимо от длины строки, использует для ее хранения все М символы. В то же время тип CHARобрабатывается эффективней переменных типов, т.к. всегда заранее известно, где заканчивается очередной блок данных. Сравнение типов CHAR и VARCHAR приведено в таблице.



Таблица. Сравнение типов CHAR и VARCHAR  
Значение CHAR(4) VARCHAR(4)  
представление число байт представление число байт  
' ' ' ' 4 байта ' ' 1 байт  
'ab' ' ab' 4 байта 'ab' 3 байта  
'abcd' 'abcd' 4 байта 'abcd' 5 байт  
'abcefgh' 'abcd' 4 байта 'abcd' 5 байт  

При создании таблицы нельзя смешивать столбцы типа CHAR и VARCHAR. Если такое происходит, СУБД MySQL изменит тип столбцов согласно правилу: в случае, когда в таблице присутствует хоть один столбец переменной длины, все столбцы типа CHAR приводятся к типу VARCHAR.

Типы BLOB и TEXT в СУБД MySQL во всем аналогичны и отличаются только в деталях. Например, при выполнении операций над столбцами типа TEXT кодировка учитывается, а для столбцов типа BLOB — нет.

Тип TEXT обычно используется для хранения больших объемов текста, в то время как BLOB — для больших двоичных объектов, таких как электронные документы, изображения, звуки и т.д.

К особым типам данных относятся ENUM и SET. Строки этих типов принимают значения из заранее заданного списка допустимых значений. Основное различие между ними заключается в том, что значение типа ENUMдолжно содержать точно один элемент из указанного множества, тогда как столбцы SET могут содержать любой набор элементов одновременно. Так, ячейки столбца, для которого объявлен тип данных ENUM('y', 'n'), могут принимать только два значения: либо 'y', либо 'n'. Ячейки столбца с типом данных SET с тем же набором допустимых значений могут принимать значения ('y', 'n'), ('y'), ('n') и пустое множество(), где пустое множество означает, что не выбран ни один из элементов.

Типы ENUM и SET можно назвать строковыми лишь отчасти, так как при объявлении они задаются списком строк, но во внутреннем представлении базы данных элементы множеств сохраняются в виде чисел.

Элементы типа ENUM нумеруются последовательно, начмная с 1. В зависимости от количества элементо, в в списке под хранение ячеек столбца может отводиться 1 байт (до 256 элементов) или 2 байта (от 257 до 65536).

Элементы множества SET обрабатываются как биты, размер типа при этом также определяется количеством элементов в списке: 1 байт (от 1 до 8 элементов), 2 байта (от 9 до 16), 3 байта (от17 до 24), 4 байта (от 25 до 32) или 8 байт (от 33 до 64).


 

Cоздание и удаление таблиц MySQL

 

Cоздание таблиц MySQL

Команда CREATE TABLE создает новую таблицу в выбранной базе данных. В простейшем случае команда имеет следующий синтаксис:

CREATE TABLE table_name [(create_definition, ...)][table_options];

Здесь table_name — имя создаваемой таблицы; create_definition — объявление столбца, его типов и атрибутов. В конце оператора может следовать необязательное указание типа таблицы table_options, например, TYPE = MyISAM.

Создадим таблицу базы данных forum, которая называется authors и содержит различные данные о зарегистрированных посетителях форума:

· имя (name);

· пароль (passw);

· e-mail (email);

· web-адрес сайта посетителя (url);

· номер ICQ (isq);

· сведения о посетителе (about);

· строку, содержащую путь к файлу фотографии посетителя (photo);

· время добавления запроса (last_time);

· счетчик сообщений, оставленных посетителем на форуме (themes);

· статус посетителя — является ли он модератором, администратором или обычным посетителем (statussuser);

· кроме перечисленных полей в таблице имеется поле id_author, являющееся первичным ключем таблицы.



<== предыдущая лекция | следующая лекция ==>
Выбор базы данных | Создание таблицы authors базы данных forum


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.075 сек.