• Рубрики
  • Слайдер статей
  • Тест сайта
  • Подписка
  • Сайдбар
  • Прокрутка вверх
  • Как сделать сайт с нуля своими руками (вводная часть)

    1. Причины создания пошаговой инструкции по разработке самописного сайта
    2. Тема создаваемого сайта
    3. В чем будет заключаться монетизация
    4. Функционал
    5. Этапы создания
    6. Текущее состояние создаваемого сайта

    Здравствуйте уважаемый посетитель!

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

    Причем чтобы такой интернет-ресурс был создан не на каком-нибудь стандартном шаблоне бесплатной СMS (Content management system - система управления контентом) типа WordPress, Drupal, Joomla и т.п., а заточенный под себя, с возможностью обеспечить ему должную безопасность и реализовать все свои индивидуальные потребности.

    Часто такие сайты, созданные под конкретные задачи на основе языка разметки веб-страниц HTML, стилей CSS и других инструментов веб-программирования (PHP, JavaScript и т.п.), называют самописными.

    Этой статьей начинается отдельная рубрика "Как сделать сайт с нуля своими руками", где на реальном примере, с предоставлением исходных материалов (программные коды, файлы и т.п.), будет показано, как действительно можно самостоятельно сделать рабочий сайт.

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

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

  • Текущее состояние создаваемого сайта

    1. Проверка при малых разрешениях экрана
    2. Проверка при больших разрешениях экрана
    3. Проверка на выделенном домене

    Здравствуйте уважаемый посетитель!

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

    Для этого предусмотрена возможность оценивать его работу в двух вариантах: с использованием зеркала сайта на поддомене текущего ресурса и на реальном интернет-ресурсе, размещенном на выделенном домене "avtobezugona.ru.

    Следует отметить, что первый вариант, предусматривающий использование зеркала сайта, позволяет наглядно оценить его работу при различных разрешениях экрана в диапазоне от 320px до 1920px. Что очень удобно для проверки адаптации во всем допустимом диапазоне.

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

Самописный сайт своими руками!

Текущее состояние создаваемого сайта

Здесь можно посмотреть текущее состояние тестового самописного сайта, который создается в рамках цикла статей Сделай сайт с нуля своими руками.

Где в дополнительных материалах можно бесплатно скачать исходные файлы сайта с таблицами MySQL.

Вы здесь: Главная → Сборник статей → MySQL → Создаем таблицы MySQL c помощью phpMyAdmin, SQL-команд и в PHP


Автор: / Дата:

Создаем таблицы MySQL c помощью phpMyAdmin, SQL-команд и в PHP

Здравствуйте уважаемый посетитель!

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

В данной статье будут рассмотрены три возможных способа создания таблиц MySQL, а именно: с использованием интерфейса phpMyAdmin, c помощью SQL-запросов, а также используя модуль MySQLi PHP.

Конечно, нет необходимости постоянно использовать все спосбы, каждый сможет выбирать для себя то, что ему удобнее. Но, данная информация о разных возможностях, думаю, для многих будет интересна.

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

При этом следует отметить, что наиболее часто из перечисленных способов используется первые два - с использованием интерфейса phpMyAdmin и c помощью SQL-запросов. Причем первый из них, на мой взгляд, более удобен для небольших таблиц. А использование SQL-запросов, наверное, можно оставить для создания более сложных, с большим количеством полей.

Третий способ - через PHP, встречается значительно реже, в основном, при необходимости создания таблиц программно, при выполнении каких-либо алгоритмов.

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

Наверное, такой значительный объем материала следовало бы разбить на три отдельных статьи. Но, собранная информация по этой теме в одном месте, думаю, будет более удобна для ее использования.

Содержание


  • Определение основных параметров создаваемой таблицы
  • Создание таблицы с помощью интерфейса phpMyAdmin
  • Создание таблицы с помощью SQL-запросов
  • Создание таблицы MySQL в PHP
  • Исходные файлы сайта

Определение основных параметров создаваемой таблицы


Перед тем, как начать создавать таблицу, сначала необходимо определиться с ее основными параметрами, с такими как:

  • количество столбцов (полей);
  • тип информации по каждому полю;
  • максимальное количество символов в каждом поле.

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

Дело в том, что в планах в ближайшем рассмотрении уделить внимание такому немаловажному вопросу, как ЧПУ (человеко-понятный урл).

Не будем сейчас вдаваться в подробности такого технического решения, а только отметим, что отсутствие в сайте ЧПУ существенно влияет на его качество. И на мой взгляд, в настоящее время делать сайт без ЧПУ и использовать в качестве url-страниц названия файлов и get-параметры, мягко говоря, несерьезно.

Так вот, для того, чтобы заменять в url-страницах непонятные для человека get-параметры на понятные аналоги названия страниц, используя "транслит" (сокращенно от "транслитерация" - метод написания нелатинского текста латинскими символами), необходимо где-то иметь соответствие этих двух разных обозначений адресов. И при необходимости обращаться к этой информации.

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

Следует отметить, рассмотрение вопроса об ЧПУ не является темой данной статьи. Здесь мы коснулись этого вопроса поверхностно, только для того, чтобы увязать наши действия по созданию таблицы БД с последующей работой над сайтом. Поэтому, более подробно о ЧПУ будем говорить позднее, в соответствующих статьях.

На данный момент наш сайт имеет пять страниц. На рис.1 показана таблица соответствия заголовков страниц к их url-адресам (именам файлов).


пп
Заголовок страницы Адрес страницы (имя файла)
1 Главная index.php
2 Статистика угонов article.php
3 Способы маркировки action.php
4 Получить скидку righting.php
5 Контакты contacts.php

Рис.1

А, теперь составим с помощью транслита человеко-понятные урлы (ЧПУ), соответствующие заголовкам страниц и поместим их в таблицу соответствия ЧПУ.

Кроме того, дополним заголовки наименованиями будущих полей таблицы БД с использованием латинского алфавита: "id", "title", "file" и "url", соответственно.

id
(№
пп)
title (Заголовок страницы) file (имя файла) url (ЧПУ)
1 Главная index.php (см. примечание *)
2 Статистика угонов article.php statistika-ugonov
3 Способы маркировки action.php sposobi-markirovki
4 Получить скидку righting.php poluchity-skidku
5 Контакты contacts.php kontakti

Рис.2

* - url главной страницы обычно имеет вид доменного имени без добавления каких-либо символов. В нашем случае - это "avtobezugona.ru".

Вот такую таблицу БД мы и будем сейчас создавать, в которой будут использоваться следующие параметры:

  • количество столбцов - 4;
  • тип информации:
    • поле "id" - целое положительное число (в данном поле значения будут являться уникальным идентификатором для каждой строки (записи));
    • поля "title", "file" и "url" - строки переменной длины;
  • максимальное количество символов:
    • поле "id" - 2 знака, что соответствует максимальному значению 99 (в данном случае количество знаков ориентировочно определено из расчета максимального числа параметров url1 адресов страниц сайта, на данный момент их всего 5). Но это не принципиально, тем более, что в дальнейшем, в случае нехватки в этом поле знаков, в любое время можно будет увеличить этот параметр. А вообще, на практике, обычно для поля "id" устанавливают значение по умолчанию, равное 10 символам;
    • поля "title", "file" и "url" - 100 знаков (из расчета, что значения этих полей не превысят данное значение). Ведь, нет смысла задавать чрезмерный размер этих полей, который заведомо не будет востребован.

Таким образом, мы определились с основными параметрами нашей будущей таблицы и теперь сможем перейти к ее созданию.

Создание таблицы с помощью интерфейса phpMyAdmin


Перед тем, как начать создавать новую таблицу, необходимо войти в приложение phpMyAdmin, аналогично тому, как было показано в статье " Создаем базу данных MySQL ". Для варианта с локальным веб-сервером, это можно найти в разделе Создаем базу данных на локальном веб-сервере Denwer, а в случае работы с базой данных на хостинге - в разделе Создаем базу данных на хостинге.

Выбрав в главном меню phpMyAdmin нужную базу данных (в нашем случае, это "avtobezugona"), для создания таблицы введем ее наименование (назовем ее "url"), количество столбцов (ранее было определено в количестве 4) и нажмем "OK", как показано на рис.3.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 1

Рис.3

После чего мы попадем на новую вкладку панели phpMyAdmin, в которой требуется ввести параметры по заданным полям. Ниже показан скриншот с параметрами полей, которые заполнены в соответствии с таблицей, изображенной на рис.2.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 2

Рис.4

Здесь, что касается параметров полей, более подробно следует остановиться на поле "id", а именно:

  • параметр "Тип" установлен в значение "INT", означающее любое целое число;
  • для параметра длины задано максимальное значение 10 (в случае, если поле не заполнено, по умолчанию оно будет установлено в это же значение, равное 10-ти символам);
  • в параметре "Атрибуты" задано беззнаковое значение "UNSIGNED, при котором будут использоваться только положительные числа;
  • в параметре "Индекс" установлено "PRIMARY", означающее первичный ключ, при котором одинаковых значений в этом поле быть не может. Таким образом будет обеспечиваться уникальность индексов всех записей;
  • в параметре "AI" (autoincrement) отмечено использование автоматического приращения, при котором "id" будет увеличиваться на единицу при каждом создании новой записи;

Таким образом поле идентификатора "id" определено таким образом, что ее значения будут принимать только уникальные положительные целые числа, автоматически увеличиваясь на единицу при каждом создании новой записи.

С остальными полями, несколько проще. Достаточно для них лишь указать тип данных "VARCHAR", означающее строку переменной длины и выбрать нужную кодировку "ult8_general_ci".

По вопросу же длины полей "title", "file" и "url" стоит отметить, что начиная с версии MySQL 5.0.3 максимальная длина полей типа "VARCHAR" увеличена с 255 до 65535 символов, и будет не логично для заведомо небольшой длины записей назначать такой максимальный размер полей. Поэтому, их длина здесь назначена в соответствии с ранее определенным значением, равным 100 символов.

Далее, после определения всех параметров, для завершения создания таблицы осталось только установить ее кодировку в "ult8_general_ci" и сохранить введенные параметры с помощью кнопки "Сохранить.

В результате, наша первая таблица базы данных с именем "url" создана. О чем свидетельствуют соответствующие обозначения в главном меню phpMyAdmin и в перечне таблиц раздела "Структура" базы данных, как показано на следующем скриншоте.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 3

Рис.5

А теперь, если кликом мышки выберем в меню phpMyAdmin эту таблицу, то сможем увидеть ее структуру, отражающую в полной мере те настройки, которые мы сделали при ее создании.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 4

Рис.6

При этом, как видно на рис.6, с помощью действий "Изменить" или "Удалить" мы в любое время можем вносить изменения в параметры существующих полей, либо при необходимости удалять их. И что немаловажно, используя соответствующий набор инструментов, можем также в любое место таблицы добавлять новые поля. Не правда ли, очень удобно для дальнейшей работы с созданными таблицами MySQL.

Создание таблицы с помощью SQL-запросов


Теперь будем создавать таблицу в phpMyAdmin не в ручную, как это делали мы в предыдущем случае, а использовать для этого SQL-запросы. И воспользуемся имеющейся в SQL командой "CREATE TABLE", которая и предназначена для создания и описания структуры таблицы.

На рис.7 показан SQL-запрос, который соответствует созданию аналогичной таблицы, созданной в предыдущем случае. Только этим запросом создадим ее не под существующим именем "url", а с изменённым "url_sql", так как при наличие существующей таблицы, создания другой, с таким же именем невозможно.

  1. CREATE TABLE url_sql

  2. (

  3. id int(10) unsigned auto_increment primary key,

  4. title varchar(100) not null,

  5. file varchar(100) not null,

  6. url varchar(100) not null,

  7. )

Рис.7

Как видно, для того, чтобы создать таблицу достаточно сделать лишь один запрос к базе данных с использованием команды "CREATE TABLE".

При этом, все параметры, которые мы вводили вручную, здесь можно назначить в параметрах этой команды, а именно:

  • id int(10);
  • unsigned;
  • auto_increment;
  • varchar(100)

Поскольку наименования этих параметров идентичны тем, которые мы использовали в интерфейсе phpMyAdmin, нет смысла их здесь снова разбирать.

А, теперь выполним данный запрос.

Для этого, в phpMyAdmin откроем поле для ввода SQL-запросов, выбрав раздел SQL, и запишем в него соответствующую команду, как показано на скриншоте.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 5

Рис.6

После нажатия на кнопку "OK" заданная таблица должна быть создана. В этом можно убедиться в появившимся обозначении в меню phpMyAdmin и указанием в разделе SQL созданных полей.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 6

Рис.6

А после открытия ее структуры, можно увидеть, что количество полей и их параметры полностью соответствуют аналогичной таблице, которую мы создали ранее с использованием интерфейса phpMyAdmin.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 7

Рис.8

Как видим, результат этих двух вариантов одинаков. И теперь осталось проверить третий способ, с использованием модуля MySQLi PHP.

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


По существу, этот вариант, как и предыдущий, основывается на выполнении SQL-запроса "CREATE TABLE". Но, в отличие от него, выполнение этой команды будет происходить не в ручном режиме, а программно, с использованием функции выполнения запроса к базе данных query модуля MySQLi.

Таким образом, для создания таблицы в PHP, откроем файл "connect.php", полученный в предыдущей статье Подключаем базу данных MySQL с использованием процедурного и объектно-ориентированного стиля "MySQLi, и добавим в него при использовании объектно-ориентированного стиля следующий код:

  1. <?php

  2. //----Создание таблицы "url_php" -------------

  3. //----Объектно-ориентированный стиль-------------

  4. if (!$mysqli->query("CREATE TABLE url_php (id int(10) unsigned auto_increment primary key, title varchar(100) not null, file varchar(100) not null, url varchar(100) not null)")) {

  5. echo "Таблица url_php c заданными параметрами успешно создана";

  6. }

Рис.7

Для тех, кто использует процедурный стиль, функция query в этом скрипте примет несколько другой вид:

  1. <?php

  2. //----Создание таблицы "url_php"-------------

  3. //----Процедурный стиль-------------

  4. if (!mysqli_query($link, "CREATE TABLE url_php (id int(10) unsigned auto_increment primary key, title varchar(100) not null, file varchar(100) not null, url varchar(100) not null)")) {

  5. echo "Таблица url_php c заданными параметрами успешно создана";

  6. }

  7. ?>

Рис.8

Если внимательно посмотреть, то можно увидеть, что синтаксис и все параметры команды "CREATE TABLE" в строгом соответствии повторяют тот запрос, который мы делали в предыдущем варианте.

Отличие заключается лишь в том, сейчас эта команда сама является параметром функции query модуля MySQLi и сформирована она в данном скрипте в одну строку (написание параметров функции в одну строку необязательное условия, просто на мой взгляд, такое оформление кода PHP более компактно и удобно).

При этом, имя создаваемой таблицы здесь заменено на "url_php". Это обусловлено тем, что как и в случае с SQL-запросами, при имеющейся в базе данных существующей таблицы, создания другой, с таким же именем выполнено не будет.

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

Теперь, если откроем главную страницу сайта на локальном веб-сервере, в которой у нас подключен файл "connect.php", то в верхней части страницы должно появиться сообщение "Таблица url_php c заданными параметрами успешно создана", как показано на следующем скриншоте.

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 8

Рис.8

Это означает, что таблицы создана. В этом можно будет убедиться используя панель phpMyAdmin.

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

Для увеличения / уменьшения размера изображения кликните по картинке
Создание таблицы БД MySQL, картинка 9

Рис.8

Таким образом, используя три различных способа мы создали три одинаковых таблицы базы данных MySQL, что и требовалось в данной статье. А каким вариантом пользоваться, и в каких случаях, каждый должен решать для себя сам.

На этом мы завершим рассмотрение данного вопроса, а в следующей статье мы наполним созданную таблицу содержимом и сформируем необходимые запросы для возможности извлечения из неё данных.

Исходные файлы сайта


Знак папкиИсходные файлы сайта с обновлениями, которые были сделаны в данной статье, можно скачать из прилагаемых дополнительных материалов:

  • Файлы каталога www
  • Таблицы базы данных MySQL

Следует отметить, что в файле "connect.php", созданные в этой статье фрагменты кода по созданию таблицы MySQL в объектно-ориентированном и процедурном стиле закомментированы. При их использовании следует раскомментировать соответствующую часть кода.

В связи с тем, что теперь для работы сайта будет необходима база данных MySQL, начиная с этой статьи в дополнительных материалах будут размещаться ее копии на текущее состояние.

В данном случае в базе данных находятся все три таблицы MySQL, которые были созданы по ходу рассмотрения данного материала. Причем, две их них: "url_sql" и "url_php" созданы временно для демонстрации способов работы с БД MySQL. В последствии, по мере ненадобности они будут удалены.

Исходные файлы бесплатно предоставляются только зарегистрированным пользователям.

Для того, чтобы скачать дополнительные материалы необходимо войти на сайт указав свой логин и пароль в форме на главной панели.

С уважением, Николай Гришин


Комментарии


Если у Вас возникли вопросы, или есть какие-либо пожелания по представлению материала, либо заметили какие-нибудь ошибки, а быть может просто хотите выразить свое мнение, пожалуйста, оставьте свои комментарии. Такая обратная связь очень важна для возможности учитывать в дальнейшем мнение посетителей.

Буду Вам за это очень признателен!

comments powered by HyperComments