MySQL – это просто!

Сначала ответим на вопрос – что такое MySQL? Это База Данных (БД), в которой структурировано хранятся данные. Следует второй вопрос – зачем отказываться от простых и удобных файлов к сложной БД? Потому что файлы, генерируемые каким либо скриптом на основе файловой БД (гостевые книги, CMS, форумы), постепенно начинают увеличиваться в размере, а так же их количество неуклонно растет. Поиск сильно затруднен. После преодоления некоторого порога (1000, 10000 файлов..) скрипт начинает жутко тормозить, и приходится подолгу ждать, когда он закончит свою работу. БД лишены этих недостатков – даже если в таблице будет миллион записей, поиск среди них будет идти доли секунды. Так уж они устроены, чтобы манипулировать огромным количеством данных. Но тут и возникает вопрос – а как работать с БД, в данном случае с MySQL? Эта статья как раз об этом..

Подключение к серверу.

Серверу MySQL, чтобы подключиться к нему, нужно передать 4 параметра:

  • Хост. Это серовер, на котором расположен сервер MySQL. В абсолютном большинстве хост равен «localhost».
  • Имя пользователя. Имя пользователя, который может работать с этой таблицей. На локальных компьютерах по дефолту поставлен «root». На хостинге – в зависимости от вас.
  • Пароль. Пароль выбранного пользователя. По умолчания равен пустой строке – «».
  • Имя Базы данных. Имя БД, как вы ее назвали. По умолчанию – «test».

Подключаться к серверу нужно с помощи команды:

$msconnect=mysql_connect(«Хост», «Пользователь», «Пароль»);

Выбирать конкретную Базу данных:

mysql_select_db(«Имя базы данных», $msconnect);

Закрыть подключение нужно командой:

mysql_close($msconnect);

И соответственно полный пример подключения, выбирание нужной таблицы и закрытие подключеиния:

<?
$mshost = «localhost»; // Хост
$msuser = «root»; // Имя пользователя
$mspassword = «»; // Пароль
$msname = «test»; // Имя базы данных

$msconnect = mysql_connect($mshost, $msuser, $mspassword);

mysql_select_db($msname, $msconnect);

mysql_close($msconnect);

?>

Создание таблиц. Заполнение информацией БД

Вот мы подключились к серверу MySQL и выбрали БД. Что дальше? Дальше нужно создать новую таблицу. Управления БД в MySQL управляется с помощью специального языка запросов SQL. Поначалу он кажется страшным, непонятным и сложным, но через некоторое время при активной работе с БД вы сможете легко читать самые сложные с виду SQL-запросы (сам так же путался в начале..). Начнем.

Передача SQL запроса БД. Для этого существует единственная команда:

mysql_query(«SQL-запрос», «подключенная БД»);

Попробуем создать таблицу. Для этого передадим серверу такой SQL запрос:

mysql_query(«CREATE TABLE имя_таблицы ( поле1 типполя1,
поле2 типполя2, поле3 типполя3)»,«подключенная БД»);

Можно создавать сколько угодно полей. Заместо ТипПоля1 пишется:

  • INT – целые числа
  • TEXT – текстовая информация

Это 2 основных типа поля. На самом деле их очень много, но перечислять их – займет лишком много места. Итак, разобрались с созданием таблиц. Пример использования:

mysql_query(«CREATE TABLE test_zero ( num INT, title TEXT,
text TEXT)»,$msconnect);

Добавление информации в БД

Для этого существует та же команда, только другой SQL-запрос:

mysql_query(«INSERT INTO название_таблицы VALUES (‘что засунуть в поле1′,
‘еще что то в поле2′,‘и напоследок в поле3′)», «подключенная БД»);

Думаю, здесь никаких сложностей не возникнет. Единственное, значения поля с типом TEXT вводить в одинарных кавычках. И, как всегда, пример:

mysql_query(«INSERT INTO test_zero VALUES (1, ‘Заголовок статьи’,
‘Текст статьи’)», $msconnect);

Изменение информации в БД

Для этого используется такая команда:

mysql_query(«UPDATE название_таблицы SET(поле1=‘значение1′, поле2=‘значение2′)
WHERE выражение«, «подключенная БД»);

Такой командой мы обновляем записи, указанные в скобках, а данной таблице, если они подходят по какому либо условию (WHERE …). Это мы рассмотри чуть позже. Сейчас – пример:

mysql_query(«UPDATE test_zero SET(num=’2′, title=‘Заголовок 2′)
WHERE num=1«, $msconnect);

Теперь полностью – подключение, создание таблицы, заполнение информации, ее обновление и закрытие подключения:

<?

$mshost = «localhost»; // Хост
$msuser = «root»; // Имя пользователя
$mspassword = «»; // Пароль
$msname = «test»; // Имя базы данных

$msconnect = mysql_connect($mshost, $msuser, $mspassword);

mysql_query(«CREATE TABLE test_zero ( num INT, title TEXT,
text TEXT)»,$msconnect);
mysql_select_db($msname, $msconnect);

mysql_query(«INSERT INTO test_zero VALUES (1, ‘Заголовок статьи’,
‘Текст статьи’)», $msconnect);

mysql_query(«UPDATE test_zero SET(num=’2′, title=‘Заголовок 2′)
WHERE num=1«, $msconnect);
mysql_close($msconnect);

?>

В итоге у нас появится новая таблица test_zero, в которой будет одна запись.

Получение информации из БД.

Допустим, у нас большущая БД, в которой хранятся сотни записей. Как же эти записи получить? Очень просто:

$res=mysql_query(«SELECT поле1, поле2, поле3 FROM имя_таблицы«);
while($row=mysql_fetch_array($res))
{
$поле1=$row[поле1];
$поле2=$row[поле2];
$поле3=$row[поле3];
}

Командой SELECT мы получаем записи таблицы. Заместо строк «поле1, поле2, поле3″ может стоять знак «*», который означает, что нужно читать все поля записей. Можно выбрать только одно поле, которое нужно. Это ускоряет работу БД. Что делает цикл while? Он означает, что пока в таблице есть записи, он будет помещать значения их полей в массив с помощью функции «mysql_fetch_array», а как только записи кончатся, цикл остановится. Чтобы получить из массива данные, можно воспользоваться способом, который я указал в примере. Внутри цикла можно генерировать, к примеру, статьи, вытаскивая данные из БД. Вот пример:

$res=mysql_query(«SELECT * FROM test_zero«);

while($row=mysql_fetch_array($res))
{
$num=$row[num];
$title=$row[title];
$text=$row[text];

echo «($num) – $title <br><p align=justify>$text«;
}


Условия получения информации из БД

Когда в таблице сотни записей, получать все не всегда целесообразно. Для этого вводят какое либо условие:

$res=mysql_query(«SELECT * FROM имя_таблицы WHERE поле1 знак ‘значение’
ОПЕРАТОР поле2 знак ‘значение’«);

Рассмотрим поподробнее строку «поле1 знак ‘значение’». Поле1 – название поля, например «title». Знак – логическое выражение, принимает значения:

  • = – равно
  • > – больше
  • < – меньше
  • != – не равно

lИх так же достаточно много, это основные.

ОПЕРАТОР – логический оператор:

  • AND – логическое «и»
  • OR – логическое «или»

Это так же основные.

Пример вытаскивания из таблицы записей, номер которых больше 10:

$res=mysql_query(«SELECT span style=»color: red;»*/span FROM span style=»color: black;»test_zero/span WHERE span style=»color: red;»num/span > 10«);

И, так сказать, итоговый пример применения БД:

<?
$mshost = «localhost»; // Хост
$msuser = «root»; // Имя пользователя
$mspassword = «»; // Пароль
$msname = «test»; // Имя базы данных

$msconnect = mysql_connect($mshost, $msuser, $mspassword);

mysql_query(«CREATE TABLE test_zero ( num INT, title TEXT,
text TEXT)»,$msconnect);
mysql_select_db($msname, $msconnect);

mysql_query(«INSERT INTO test_zero VALUES (1, ‘Заголовок статьи’,
‘Текст статьи’)», $msconnect);

mysql_query(«UPDATE test_zero SET(num=’2′, title=‘Заголовок 2′)
WHERE num=1«, $msconnect);
mysql_close($msconnect);

$res=mysql_query(«SELECT * FROM test_zero«);

while($row=mysql_fetch_array($res))
{
$num=$row[num];
$title=$row[title];
$text=$row[text];

echo «($num) – $title <br><p align=justify>$text«;

}

?>

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

Если бы мне попалась эта статья пораньше – я бы не стал ее писать. Когда я еще не знал MySQL, я перерыл статей 10. Достаточно быстро научился создавать таблицы и заполнять их. А вывести не получалось. Пришлось практически методом тыка учится. специально для этого я и написал эту статью.

P.S: На оформление этой статьи ушло примерно в три раза больше времени, чем на ее написания. При оформлении я более 50 раз перезагружал статью. Вот так то icon smile MySQL   это просто! .

Внимание!!! Данную статью можно перепечатывать только с указанием автора – Гиацинтов Андрей, а так же прямой ссылки на сайт автора – http://spryt.ru/. Перепечатка должна вестись в HTML коде, начиная от кода <!–Начало статьи–><style>…. и закачивая кодом </div></div><!–Конец статьи–>. Запрещено размещение данной статьи на форумах! Этот абзац так же должен быть указан!

Поделиться в соц. сетях

mailru MySQL   это просто!
facebook MySQL   это просто!
odnoklassniki MySQL   это просто!
livejournal MySQL   это просто!
googlebuzz MySQL   это просто!

Также рекомендуем:

  1. Переполнение буфера и раскрытие данных в MySQL Программа: MySQL 4.1.18, и более ранние версии.MySQL 5.0.20 . Опасность: Средняя Наличие эксплоита: Да Описание: Уязвимость позволяет удаленному авторизованному пользователю получить доступ к важным данным и скомпрометировать уязвимую систему. 1. Уязвимость существует из-за недостаточной обработки данных в команде COM_TABLE_DUMP. Удаленный пользователь может с помощью специально сформированного пакета получить доступ к важным данным на системе (к [...]...
  2. tmp профессиональный дизайн; регистрация домена .RU на 1 год; наполнение до 10 страниц сайта; блок новостей; прайс-лист; форма заказа с сайта; регистрация в поисковых системах; счетчик посещений; срок изготовления 3-5 дней. акция 3990=...
  3. Преимущества локальной оптимизации Займитесь локальной оптимизацией. Зачастую оптимизации локального поиска не уделяется достаточно внимания, а между тем это отличный способ привлечения на ваш сайт местного трафика. Включив локальную информации в свои тэги и страницы, вы можете потенциальным клиентам найти специальную информацию по району и сфере деятельности, какие их интересует.. Что такое оптимизация локального поиска? Оптимизация локального поиска – [...]...
  4. Ловушка для спам-бота Многие спам-боты, чтобы скрыть свои реальные имена (названия), которые легко отследить по записи user_agent, изменяют эту запись, меняя её на записи разных браузеров (например: «mozilla/4.0 (compatible; msie 5.5; windows nt 5.0)» и так далее). Также эти боты игнорируют стандарты записей для файла robots.txt (описание стандарта Вы можете прочесть здесь http://www.robotstxt.org/wc/exclusion.html robots.txt standard).. Можно, конечно, пойти [...]...
  5. Частые ошибки при поисковой оптимизации сайта. Как это избежать? 22 наиболее часто встречаемых ошибок при самостоятельной оптимизации сайта под поисковые системы:. Регистрируемая в поисковой системе страница должна содержать ссылки на другие страницы сайта. В противном случае она будет единственным, что проиндексирует поисковая машина.Не стоит регистрировать сайт в поисковых системах, который находится в стадии разработки (к каталогам, доскам объявлений и форумам это относиться в меньшей [...]...
  6. PHP и формы Ни для кого не является секретом, что наиболее распространенным способом взаимодействия html-страницы с сайтом является форма. Форма (то есть html-элемент образуемый тегом form) используется и бесплатными почтовыми службами, электронными магазинами и многими другими типами сайтов.. Обработка простых форм посредством PHP не представляет никакого труда. Однако время от времени возникает потребность обработать форму, содержащую несколько однотипных [...]...
  7. Работа с SQLite Введение SQLite – это реляционная база данных, запросы к которой можно осуществлять при помощи языка запросов SQL. База данных не поддерживает все особенности SQL и уступает в функциональности другим развитым СУБД, но вполне подходит для хранения и извлечения информации.. Отличие SQLite от MySQL и аналогичных СУБД Классические СУБД, такие как MySQL (а так же MS [...]...
  8. AJAX’овые грабли в Internet Explorer 6 Если передаваемый сервером заголовок с кодировкой не понятен IE, то возникает прекрасная, красноречивая Системная ошибка: -1072896658. IE приводит к нижнему регистру передаваемые custom-заголовки запросов, например X-Requested-With: XMLHttpRequest превращается на сервере в x-requested-with: xmlhttprequest). Нафига? Internet Explorer иногда не кеширует фоновые изображения, полученные через AJAX; повторно загружаемый фон «забывает» посмотреть в кеше. IE некорректно парсит js-код [...]...
  9. Ucoz web service. Как это было… ПРЕЛЮДИЯ Жил был один молодой парень, который даже не слышал о компьютерах и не мог понять, что это такое. Впервые ему удалось лицезреть его в 10лет. Решив удивить своих друзей и преподавателя, он радостно сказал : я знаю что ЭТО… Осциллограф! Но не было в этом моей вины, вы убедитесь в этом увидев ЭВМ «Электрон».. [...]...
  10. К четырехлетию «В Контакте» приготовил несколько новинок Социальная сеть «В Контакте» отметила свой четвертый день рождения 10 октября сразу несколькими полезными новинками. Анонс этих функций был представлен в официальном блоге сервиса.. В первую очередь нововведения коснулись микроблогов, представленных 1 августа. Теперь в них имеется возможность не только оставлять комментарии к статусам друзей, но и оставлять отметку «Мне нравится» для понравившихся статусов, или [...]...
  11. Сайт от идеи до реализации Многие из этих вопросов неизбежно возникают у компаний или частных лиц (далее клиентов), заинтересованных в создании сайта.. В этой статье мы попытаемся рассмотреть этапы, которые, на наш взгляд, преодолевает клиент на пути от принятия решения о создании сайта до оценки результатов его реализации. Мы выделяем пять основных этапов этого пути (рис. 1): Рис. 1. Основные [...]...
  12. Правила хорошего поведения при обмене ссылками Обмен ссылками – один из самых распространенных способов привлечения посетителей на новый сайт.. Некоторые менеджеры сайта, самостоятельно занимающиеся раскруткой и продвижением сайтов, игнорируют данный способ раскрутки, мотивируя это тем, что подобный вид продвижения не принесет на сайт большое количество посетителей, и затраты времени на обмен ссылками с сайтами не принесут ожидаемой качественной и количественной отдачи, [...]...
  13. Смешивание слоев при помощи маски прозрачности Вот попыталась перевести урок, если, что не вышло, не судите строго.С помощью этого урока Вы научитесь комбинировать области различных слоев и создавать композитное изображение.. 1. Откройте в Illustrator изображение, состоящее хотя бы из 2-х слоев. В данном случае картинка состоит из слоя с розовой розой (верхний слой) и желтой (нижний) 2. С помощью пера или [...]...
  14. Раскручиваем url Каким образом Вы осуществляете раскрутку своего сайта?. В течение последних двух месяцев я пытался ответить на этот вопрос относительно около 100 торговых марок, анализируя их рекламные и промоушинговые материалы. Вряд ли следует говорить о том, что мне не удалось прочитать абсолютно все публикации, принадлежащие перу сотрудников этих фирм. Тем не менее, я увидел достаточно, чтобы [...]...
  15. Бизнес на подкастах – уже реальность О подкастинге, как об очень важном явлении в online-маркетинге, сейчас оченьчасто говорят, потому что подкастинг – это маленький, зато очень мощныйбизнес-инструмент. Несмотря на это, большинство людей не уделяют емудолжного внимания, т. к. этот термин звучит уж как-то очень технично дляобычных людей.. В этой статье я попытаюсь немного пролить свет на эту технологию. Давайтеначнём с того, [...]...

Комментарии запрещены.