Меню главная>>>Статьи и учебники>>>Работа с MySQL - наполнение данными
 
  • Главная
  • Уроки PhotoShop
  • Статьи и учебники
  • JavaScript скрипты
  • Софт Web-мастера
  • Шаблоны сайтов
  • Стройматериалы
  • Форум для web-мастеров
  • Гостевая
  • Карта сайта
  • Хостинг

  • Подпишитесь на нашу рассылку для web-мастеров:
    Форма для подписки на
    Maillist.ru

    Определение тИЦ и PR вашего сайта


    Введите адрес сайта, тИЦ и PR которого вы хотите определить

    без http:// !!!
    http://
    Автор: Alexander Suhhinin
    Сайт:
    Когда добавлено: 19.07.07

    Работа с MySQL - наполнение данными

    Работа с MySQL - наполнение данными

    Таблицы готовы. Теперь в них надо что-то записать. Чтобы записать, нужно туда что-то передать. вообщем, формат записи следующий:


    INSERT INTO category (id, name) VALUES ('', 'Интернет')
    и, соответственно, perl инструкция:
    $dbh->do("INSERT INTO category (id, name) VALUES ('', 'Интернет')");
    девушки порно фото | Негритянки порно | Азиатки порно | Порно Звезды фото | Большие сиськи фото | Молоденькие порно | домашнее порно фото | порно фото бесплатно
    В данном случае, SQL инструкцией INSERT INTO вставляем в таблицу category в поля id, name значения " ", "Интернет". Поле id автоматически получит следующее значение, т.е. если не было записей, то там буде значение 1. Если у вас все ваши категории находятся в текстовом файле, то их можно подгрузить оттуда прямо в таблицу. Есть инструкция LOAD DATA INFILE. Чтобы загрузить данные из файла, который находится на локальной машине, нужно указать в инструкции ключевое слово LOCAL. Поля, в принципе могут быть разделены любым разделителем, текстовые поля могут быть заключены в кавычки. Записи закачиваются символом 'окончание строки'. SQL запрос будет выглядеть так (пишется одной строкой-Ред.):

    LOAD DATA LOCAL INFILE '/MyDocs/categories.txt'
    REPLACE INTO TABLE category FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'


    В данном случае файл categories.txt находится на машине под управлением MS Windows, в каталоге C:\MyDocs. Обратите внимание на UNIX стиль написания пути. Perl скрипт будет брать файл с текущего диска из каталога MyDocs. Слово REPLACE в SQL запросе означает, что необходимо замещать записи с совпадающими значениями ключей. INTO TABLE указывает имя талицы, куда будут импортированы данные. FIELDS TERMINATED BY ';' указывает разделители полей, порядок полей должен быть таким же, как и в таблице назначения, OPTIONALLY ENCLOSED BY '\"' указывает, что поля VARCHAR взяты в двойные кавычки, и LINES TERMINATED BY '\n' указывает, что записи заканчиваются символом новой строки (\n).В случае, если вы работаете в MS Windows, вам нужно указать LINES TERMINATED BY '\r', т.к. текстовые файлы в UNIX имеют окончание строки символ \n == 0x0A, а в MS Windows \r == 0x0D.

    Я экспериментировал с текстовым файлом следующего содержания: 1;"Интернет" 2;"Развлечения" 3;"Документация" 4;"Софт" 5;"Поисковые системы" 6;"Чаты" 7;"Для разработчиков" 8;"Документация по ПХП" 9;"Фидо-гейты" 10;"Новости"

    Как вы уже догадались, инструкция Perl выглядит так (пишется одной строкой-Ред.):


    $dbh->do("LOAD DATA LOCAL INFILE '/MyDocs/categories.txt' REPLACE INTO TABLE category FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n'");

    Если не получилось, проверьте расположение файлов, синтаксис. После того, как данные импортированы, нужно просмотреть, что же у нас получилось. В SQL существует самая используемая инструкция SELECT. В нашем случае нужно написать следующий код:


    use DBI;
    # коннектимся к серверу MySql
    my $dbh = DBI->connect("DBI:mysql:database=ваша_база_данных;host=адрес_сервера_mysql",
    "логин", "пароль") || die $DBI::errstr;
    # готовим запрос
    my $result = $dbh->prepare("SELECT * FROM category");
    # и выполняем его
    $result->execute();
    # разбираем результат
    # результат помещается в хэш,
    # печатаем элементы поименно
    while (my $ln = $result->fetchrow_hashref()) {
    print "name : $ln->{'name'} id: = $ln->{'id'}\n";
    }
    $dbh->disconnect();
    Если вs использовали данные, приведенные выше, то получите следующее: name : Интернет id = 1 name : Развлечения id = 2 .... .... name : Новости id = 10 С категориями разобрались, база данных хранит данные и отдает по первому требованию, скрипты на Perl работают, теперь все это нужно облачить в удобоваримую Web-оболочку.



    страница прочитана 23 раза