ПРИМЕР СОЗДАНИЯ БАЗЫ ДАННЫХ И ТАБЛИЦЫ В БАЗЕ MYSQL
подключение к базе MySQL, создание и удаление базы, создание и удаление таблиц из базы

# параметры подключения к базе MySQL
$mysql=
"hostname";
// база mysql
$user_db="username"; // логин
$pass_db=
"password";
// пароль

$name_db="name"; // имя базы
$tabl="name_tabl"; //имя таблицы в базе

# подключение к базе MySQL
$db=mysql_connect($mysql,$user_db,$pass_db) or die (mysql_error()); // создаём соединение с базой mysql, указываем имя базы, логин и пароль

# закрыть соединение с базой MySQL
// mysql_close($db); 

# устраняем проблемы с кодировкой
mysql_set_charset("utf8",$db); // указываем кодировку базы. Иногда этого достаточно, если нет, то:

mysql_query("set character_set_client", $db); // в какой кодировке приходят данные в базу
mysql_query("set character_set_results", $db); // в какой кодировке выдавать данные из базы
// или если эти кодировки совпадают, то можно писать один запрос:
mysql_query("SET NAMES utf8", $db);

# создаём базу в базе MySQL
mysql_query
("CREATE DATABASE $name_db", $db) or die(mysql_error());
// $db можно нигде не указывать, если одно соединение

# удаляем базу $name_db из базы MySQL $db
// mysql_query("DROP DATABASE $name_db", $db) or die(mysql_error());

# выбираем базу с которой будем работать
mysql_select_db
($name_db, $db) or die(mysql_error());
// выбор базы $name_db из базы MySQL $db

создаём таблицу $tabl со столбцами id,stolbec1,stolbec2 в базы MySQL $db
mysql_query
("CREATE TABLE $tabl (id INT AUTO_INCREMENT, stolbec1 VARCHAR(36) NOT NULL, stolbec2 TEXT DEFAULT 'Не указано', PRIMARY KEY (id))", $db));
// создаём таблицу со столбцами id и stolbec1 и stolbec2 имеющие модификаторы, которые задают "поведение" и те операции, которые можно (или, наоборот, запрещено) выполнять с соответствующими столбцами:
/*
NOT NULL - поле не может содержать неопределенное значение, т.е. поле обязательно должно быть инициализировано при вставке новой записи в таблицу (если не задано значение по умолчанию).
PRIMARY KEY - поле является первичным ключом, т.е. идентификатором записи, на который можно ссылаться.
AUTO_INCREMENT - при вставке новой записи поле получит уникальное значение, так что в таблице никогда не будут существовать два поля с одинаковыми номерами.
DEFAULT - задаёт значение по умолчанию для поля, которое будет использовано, если при вставке записи для этого поля не было явно указано значение.

# добавление текстовой колонки в таблице $tabl
mysql_query("ALTER TABLE `
$tabl` ADD `nazvanie_kolonki` TEXT", $db);

# удаление таблицы из базы данных со всеми столбцами
// 
mysql_query("DROP TABLE $tabl
", $db); 

Типы данных:

Целые числа
Общий вид указания типа данных: префикс INT [UNSIGNED]
Необязательный флаг UNSIGNED задает, что будет создано поле для хранения беззнаковых чисел (больших или равных 0).
TINYINT Может хранить числа от -128 до 127
SMALLINT Диапазон от -32 768 до 32 767
MEDIUMINT Диапазон от -8 388 608 до 8 388 607
INT Диапазон от -2 147 483 648 до 2 147 483 647
BIGINT Диапазон от -9 223 372 036 854 775 808 до
9 223 372 036 854 775 807
Дробные числа
Общий вид: ИмяТипа[(length, decimals)] [UNSIGNED]
Здесь length - количество знакомест (ширина поля), в которых будет размещено дробное число при его передаче.
decimals - количество знаков после десятичной точки, которые будут учитываться.
UNSIGNED - задает беззнаковые числа.
FLOAT Число с плавающей точкой небольшой точности.
DOUBLE Число с плавающей точкой двойной точности.
REAL Синоним для DOUBLE.
DECIMAL Дробное число, хранящееся в виде строки.
NUMERIC Синоним для DECIMAL.
Строки
Строки представляют собой массивы символов. Обычно при поиске по текстовым полям по запросу SELECT не берется в рассмотрение регистр символов, т.е. строки "Вася" и "ВАСЯ" считаются одинаковыми. Кроме того, если база данных настроена на автоматическую перекодировку текста при его помещении и извлечении, эти поля будут храниться в указанной вами кодировке.
Для начала ознакомимся с типом строки, которая может хранить не более length символов, где length принадлежит диапазону от 1 до 255.
VARCHAR (length) [BINARY]
При занесении некоторого значения в поле такого типа из него автоматически вырезаются концевые пробелы. Если указан флаг BINARY, то при запросе SELECT строка будет сравниваться с учетом регистра.
VARCHAR Может хранить не более 255 символов.
TINYTEXT Может хранить не более 255 символов.
TEXT Может хранить не более 65 535 символов.
MEDIUMTEXT Может хранить не более 16 777 215 символов.
LONGTEXT Может хранить не более 4 294 967 295 символов.
Чаще всего применяется тип TEXT, но если вы не уверены, что данные не будут превышать 65 536 символов, используйте LONGTEXT.
Бинарные данные
Бинарные данные - это почти то же самое, что и данные в формате TEXT, но только при поиске в них учитывается регистр символов.
TINYBLOB Может хранить не более 255 символов.
BLOB Может хранить не более 65 535 символов.
MEDIUMBLOB Может хранить не более 16 777 215 символов.
LONGBLOB Может хранить не более 4 294 967 295 символов.
BLOD-данные не перекодируются автоматически, если при работе с установленным соединением включена возможность перекодирования текста "на лету".

Дата и время

MySQL поддерживает несколько типов полей, специально приспособленных для хранения дат и времени в различных форматах.
DATE Дата в формате ГГГГ-ММ-ДД
TIME Время в формате ЧЧ:ММ:СС
DATETIME Дата и время в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС
TIMESTAMP Дата и время в формате timestamp. Однако при получении значения поля оно отображается не в формате timestamp, а в виде ГГГГММДДЧЧММСС, что сильно умаляет преимущества его использования в PHP