Mysql
 sql >> база данни >  >> RDS >> Mysql

Анализирайте дъмп на XML данни от Уикиречник в MySQL база данни с помощта на PHP

Тези файлове могат да бъдат анализирани в PHP с XMLReader работи на compress.bzip2:// поток . Структурата на файла, който имате, е примерна (надникване в около първите 3000 елемента):

\-mediawiki (1)
  |-siteinfo (1)
  | |-sitename (1)
  | |-base (1)
  | |-generator (1)
  | |-case (1)
  | \-namespaces (1)
  |   \-namespace (40)
  \-page (196)
    |-title (196)
    |-ns (196)
    |-id (196)
    |-restrictions (2)
    |-revision (196)
    | |-id (196)
    | |-parentid (194)
    | |-timestamp (196)
    | |-contributor (196)
    | | |-username (182)
    | | |-id (182)
    | | \-ip (14)
    | |-comment (183)
    | |-text (195)
    | |-sha1 (195)
    | |-model (195)
    | |-format (195)
    | \-minor (99)
    \-redirect (5)

Самият файл е малко по-голям, така че обработката му отнема доста време. Като алтернатива не работете с XML дъмповете, а просто импортирайте SQL дъмповете чрез mysql инструмент на командния ред. SQL дъмпове също са налични на сайта, вижте всички дъмп формати за английски уикиречник :

Общият файл беше малко по-голям с повече от 66 849 000 елемента:

\-mediawiki (1)
  |-siteinfo (1)
  | |-sitename (1)
  | |-base (1)
  | |-generator (1)
  | |-case (1)
  | \-namespaces (1)
  |   \-namespace (40)
  \-page (3993913)
    |-title (3993913)
    |-ns (3993913)
    |-id (3993913)
    |-restrictions (552)
    |-revision (3993913)
    | |-id (3993913)
    | |-parentid (3572237)
    | |-timestamp (3993913)
    | |-contributor (3993913)
    | | |-username (3982087)
    | | |-id (3982087)
    | | \-ip (11824)
    | |-comment (3917241)
    | |-text (3993913)
    | |-sha1 (3993913)
    | |-model (3993913)
    | |-format (3993913)
    | \-minor (3384811)
    |-redirect (27340)
    \-DiscussionThreading (4698)
      |-ThreadSubject (4698)
      |-ThreadPage (4698)
      |-ThreadID (4698)
      |-ThreadAuthor (4698)
      |-ThreadEditStatus (4698)
      |-ThreadType (4698)
      |-ThreadSignature (4698)
      |-ThreadParent (3605)
      |-ThreadAncestor (3605)
      \-ThreadSummaryPage (11)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ADDTIME() Примери – MySQL

  2. Синтаксис на MySQL за вмъкване на нов ред в средните редове?

  3. Ред на колоните в индекс с няколко колони в MySQL

  4. Оптимизирайте заявка, която групира резултатите от поле от обединената таблица

  5. mysql чувствителен към главни букви в utf8_general_ci