Главная · Статьи · Файлы · Фото галерея · Видео онлайн
Библиотека
По авторам
По жанрам
Поиск по названию
Навигация
Главная
Статьи
Файлы
Обратная связь
Фото галерея
Видео онлайн
Поиск

Работа
Заказать сайт или программу

Примеры работ
Последние статьи
Технология уничтожения
«Мы – русские»
Ф.М. Достоевский - Д...
Европа против России...
Первые английские ко...
Reklama

Урок 12. Типы данных MySQL. Создание таблицы. Вставка данных

Типы полей в MySQL



TINYINT[(M)][UNSIGNED][ZEROFILL]
Наименьший целочисленный тип. Диапазон значений - -128..127
(в случае INSIGNED - 0..255)

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Малый целый тип. Диапазон значений - -32768..32767 и соответственно
0..65535 для беззнакового целого.

MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Средний целый тип. Значения могут быть от -8388608 до 8388607 и
от 0 до 16777215 при указании UNSIGNED.

INT[(M)] [UNSIGNED] [ZEROFILL] (INTEGER[(M)] [UNSIGNED] [ZEROFILL])
Обычный целый тип. Значения - -2147483648..2147483647 и 0..4294967295
для беззнакового целого.

BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Большой целочисленный тип. Значения лежат в пределах
от -9223372036854775808 до 9223372036854775807 и от 0
до 18446744073709551615 для UNSIGNED. Впрочем, примите к сведению, что
все арифметический действия производятся при помощи BIGINT со знаком,
поэтому не следует пользоваться значениями, большими, чем 9223372036854775807.



Типы чисел с плавающей точкой

FLOAT(разрядность) [ZEROFILL]
Число с плавающей точкой. Не может быть объявлено беззнаковым.
Разрядность может быть <= 24 (чисел с низкой разрядностью) или
от 25 до 53 (для чисел с двойной разрядностью). Аналогами этих двоих
типов являются описанные ниже типа FLOAT и DOUBLE

FLOAT[(M,D)] [ZEROFILL]
Малое число с плавающей точкой. Разрядность не указывается - для этого
типа она считается <= 24. Значения этого типа лежат в границах
от -3.402823466E+38 до -1.175494351E-38, 0 и от 1.175494351E-38 до
3.402823466E+38.

DOUBLE[(M,D)] [ZEROFILL]
Простое число с плавающей точкой (с двойной размерностью). Значения -
от -1.7976931348623157E+308 до -2.2250738585072014E-308, 0 и
от 2.2250738585072014E-308 до 1.7976931348623157E+308 Синонимами к
DOUBLE являются REAL и DOUBLE PRECISION

DECIMAL[(M[,D])] [ZEROFILL]
Unpacked число с плавающей точкой. Unpacked означает то, что значение
хранится в строке, по символу на каждый разряд числа, точку и знак.
Диапазон значений этого типа такой же, как и у DOUBLE.
Синоним к DECIMAL - NUMERIC.



Типы даты/времени

DATE
Тип для хранения даты. Допустимые значения - от '1000-01-01' до
'9999-12-31'. Дата хранится в виде YYYY-MM-DD.

DATETIME
Комбинация даты и времени. Допустимые значения - от
'1000-01-01 00:00:00' до '9999-12-31 23:59:59'. Данные зранятся в виде
'YYYY-MM-DD HH:MM:SS'.

TIMESTAMP[(M)]
Еще одна дата. Значения лежат в диапазоне от
'1970-01-01 00:00:00' до некоторого времени в 2037-году. В зависимости
от значения параметра M формат хранения данных может быть

YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD или YYMMDD
(значения 14, 12, 8 или 6). По умолчанию в поля такого типа значения
заносятся с текщими датой и временем.

TIME
Время. Значения могут лежать в границах '-838:59:59'..'838:59:59'
и представляются в формате 'HH:MM:SS'.
YEAR[(2 или 4)] Хранит год. В зависимости от значения указанного в
скобках (по умолчанию - 4), год хранится в виде YYYY или YY.



Строковые типы

[NATIONAL] CHAR(M) [BINARY]
Строка, всегда имеющая длину M (в случае, когда занесенное значение
короче, оно дополняется пробелами). M может лежать в пределах от 1 до
255. Приставка NATIONAL указывет на необходимость использования кодовой
таблицы, используемой по умолчанию.

[NATIONAL] VARCHAR(M) [BINARY]
Аналогично посленему, за исключением того, что длина значения может
быть произвольной (от 1 до 255 :), а все пробелы в конце строки
удалаются.

TINYBLOB (TINYTEXT)
Тип BLOB или TEXT, длиной от 1 до 255 символов.

BLOB (TEXT)
Тип BLOB или TEXT, длиной от 1 до 65535 символов.

MEDIUMBLOB (MEDIUMTEXT)
Тип BLOB или TEXT, длиной от 1 до 16777215 символов.

LONGBLOB (LONGTEXT)
Тип BLOB или TEXT, длиной от 1 до 4294967295 символов.


Создание таблицы


Для соединения с базой MySQl используется следующая схема



$sql_host = "localhost";
$sql_user = "user";
$sql_pass = "password";
$sql_db = "baza";


$link = mysql_connect($sql_host, $sql_user, $sql_pass)or die("Связи нет\n");
mysql_select_db($sql_db)or die("Нету связи никакой - лучше связи ....\n");


хост на котором расположена база - $sql_host
юзер которым к базе конектимся - $sql_user
пароль юзера - $sql_pass
база к которой конектимся (их может быть несколько, потому выбираем одну) - $sql_db


соединемся с MySQL если связаться не удается то выводится строка указаная в die и выполнение скрипта останавливается
die можно и не указывать $link = mysql_connect($sql_host, $sql_user, $sql_pass)or die("Связи нет\n");
выбираем и соединяемся с указанной базой - mysql_select_db($sql_db)or die("Нету связи никакой - лучше связи ....\n");


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



Создадим таблицу GMENU (у меня она хранит заголовки блоков меню)

Выполните у себя в phpMyAdmin (этот комплекс есть в DENWER или у вашего провайдера есть что то подобное)
следующий запрос

CREATE TABLE IF NOT EXISTS `gmenu` (
`id` smallint(3) NOT NULL auto_increment,
`name` text NOT NULL,
`mod` varchar(20) NOT NULL default '',
`por` smallint(6) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `por` (`por`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;



Этот запрос создает таблицу gmenu, если она не существует

если вы уверены что она несуществует то достаточно выполнить запрос

CREATE TABLE `gmenu` (
`id` smallint(3) NOT NULL auto_increment,
`name` text NOT NULL,
`mod` varchar(20) NOT NULL default '',
`por` smallint(6) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `por` (`por`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

В запросе мы задаем имена полей, их типы и размеры. так же указываем кодировку (но это не обязательно)
`id` smallint(3) мы создаем поле ID типа smallint и размером 3 символа
NOT NULL - значит значение должно быть обязательно. (если значение отсутствует, то значит она равно NULL)
auto_increment - значит что значение присваимается автоматом. каждая запись приобретает значение равное максимальному значению + 1

PRIMARY KEY (`id`) - устанавливаем первичный индекс на это поле (индексы позволяют делать быструю сортировку по значениям это поля)
Первичный ключ представляет собой один из примеров уникальных индексов и применяется для уникальной идентификации записей таблицы. Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа. Первичный ключ обычно сокращенно обозначают как PK. Как мы уже говорили, в реляционных базах данных практически всегда разные таблицы логически связаны друг с другом. Первичные ключи как раз используются для однозначной организации такой связи.
Т.е. мы получаем у каждой записи уникальный индификатор. (помните как мы для этого использовали время?)
KEY `por` (`por`) - тоже индекс но первичный. мы его будем использовать для сортировки.


id - индефикатор записи
name - название блока
mod - ссылка, если ее указать то заколовок становится ссылкой, если не указывать, то получаем просто заголовок.
por - порядок


Ставка записи в таблицу




INSERT INTO `gmenu` (`id`, `name`, `mod`, `por`) VALUES
('', 'Статистика', '', 3),
('', 'Опросы', '', 2),
('', 'Навигация', '', 1);


Выполняем этот запрос и наполняем таблицу данными.


Способ чтения и вывод данных из таблицы рассмотрим на следующем уроке.


Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь.
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

Пользователей: 1
Не активированный пользователь: 0
новичок: AMD
Статистика
Яндекс.Метрика
Rambler's Top100


PR-CY.ru
Protected by Copyscape Online Plagiarism Checker
Back To Top Back To Top Back To Top

Best Viewed 1280x1024