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

$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

$text";

}

?>


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

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

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

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

MySQL - это просто! | | 2010-09-10 00:05:47 | | Базы данных | | Сначала ответим на вопрос - что такое MySQL? Это База Данных (БД), в которой структурировано хранятся данные. Следует второй вопрос - зачем отказываться от простых и удобных файлов к сложной БД? | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: