PHP создание MySQL базы данных

База данных содержит одну или несколько таблиц.

Создание базы данных

Предложение CREATE DATABASE используется для создания базы данных в MySQL.

Грамматика

CREATE DATABASE database_name

Чтобы выполнить上面的 команду в PHP,我们必须 использовать функцию mysql_query(). Эта функция используется для отправки запросов или команд в соединение MySQL.

Пример

В следующем примере мы создаем базу данных с именем "my_db":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Не удалось подключиться: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "База данных создана";
  }
else
  {
  echo "Ошибка создания базы данных: " . mysql_error();
  }
mysql_close($con);
?>

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

CREATE TABLE используется для создания таблиц базы данных MySQL.

Грамматика

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
......
)

Чтобы выполнить эту команду, я должен добавить предложение CREATE TABLE в функцию mysql_query().

Пример

Ниже приведен пример того, как создать таблицу с именем "Persons", которая имеет три столбца. Имена столбцов: "FirstName", "LastName" и "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Не удалось подключиться: ' . mysql_error());
  }
// Создание базы данных
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "База данных создана";
  }
else
  {
  echo "Ошибка создания базы данных: " . mysql_error();
  }
// Создать таблицу в базе данных my_db
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons" 
(
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);
mysql_close($con);
?>

Важно:до создания таблицы необходимо сначала выбрать базу данных. Выбор базы данных выполняется функцией mysql_select_db().

Примечание:при создании поля типа varchar в базе данных необходимо указать максимальную длину поля, например: varchar(15).

тип данных MySQL

ниже приведены различные доступные типы данных MySQL:

тип данных числовых значений Описание
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
поддерживает только целые числа. Максимальное значение числа указывается в параметре size.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

поддерживает числа с плавающей запятой.

максимальное значение числа указывается в параметре size. Максимальное количество знаков после запятой указывается в параметре d.

тип данных текста Описание
char(size)

поддерживает фиксированной длины строки. (Может содержать буквы, цифры и специальные символы).

фиксированная длина указывается в параметре size.

varchar(size)

поддерживает строки переменной длины. (Может содержать буквы, цифры и специальные символы).

максимальная длина указывается в параметре size.

tinytext поддерживает строки переменной длины, максимальная длина 255 символов.
  • text
  • blob
поддерживает строки переменной длины, максимальная длина 65535 символов.
  • mediumtext
  • mediumblob
поддерживает строки переменной длины, максимальная длина 16777215 символов.
  • longtext
  • longblob
поддерживает строки переменной длины, максимальная длина 4294967295 символов.
тип данных даты Описание
  • date(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • timestamp(yyyymmddhhmmss)
  • time(hh:mm:ss)
Поддерживает даты или время
Разные типы данных Описание
enum(value1,value2,ect) ENUM является аббревиатурой от ENUMERATED списка. Максимальное количество значений, которое можно хранить, составляет 65535.
set SET подобен ENUM. Но SET может иметь до 64 элементов списка и может хранить больше одного выбора

PRIMARY KEY и автоматическое увеличение

Каждая таблица должна иметь поле PRIMARY KEY.

PRIMARY KEY используется для уникальной идентификации строк в таблице. Каждый значений PRIMARY KEY в таблице должен быть уникальным. Кроме того, поле PRIMARY KEY не может быть пустым, так как двигатель базы данных需要一个 значения для定位 записи.

Поле PRIMARY KEY всегда должно быть включено в индекс. Это правило не имеет исключений. Вы должны создать индекс для поля PRIMARY KEY, чтобы двигатель базы данных мог быстро находить строки с данными, соответствующими данному ключу.

В следующем примере field personID устанавливается в качестве поля PRIMARY KEY. Поле PRIMARY KEY обычно является ID и обычно используется AUTO_INCREMENT для его установки. AUTO_INCREMENT будет постепенно увеличивать значение поля при добавлении нового записи. Чтобы обеспечить, что поле PRIMARY KEY не будет пустым,我们必须 добавить установку NOT NULL к этому полю.

Пример

$sql = "CREATE TABLE Persons" 
(
personID int NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql,$con);