{"id":126,"date":"2026-07-17T14:23:00","date_gmt":"2026-07-17T12:23:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=126"},"modified":"2026-07-05T23:16:29","modified_gmt":"2026-07-05T21:16:29","slug":"extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/","title":{"rendered":"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">Mussten Sie schon einmal nur eine einzige Datenbank oder eine bestimmte Tabelle aus einem mehrere Gigabyte gro\u00dfen (z. B. 5 GB) MySQL-Dump wiederherstellen? Das \u00d6ffnen einer Datei dieser Gr\u00f6\u00dfe in Standard-Texteditoren wie VS Code oder Notepad++ f\u00fchrt meistens zu extremen Verz\u00f6gerungen oder sogar zum Absturz des Programms.<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Anstatt sich mit Desktop-Software oder komplexen Kommandozeilen-Tools wie <code>awk<\/code> oder <code>sed<\/code> herumzuschlagen, k\u00f6nnen wir ein einfaches, speichereffizientes PHP-Skript verwenden, um genau den Teil zu extrahieren, den wir ben\u00f6tigen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Die L\u00f6sung: Stream-Verarbeitung<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Trick bei der Verarbeitung riesiger Dateien in PHP besteht darin, nicht die gesamte Datei auf einmal in den Arbeitsspeicher zu laden (was Funktionen wie <code>file_get_contents()<\/code> tun). Durch die Verwendung der PHP-Funktion <code>fgets()<\/code> k\u00f6nnen wir die Datei streamen und Zeile f\u00fcr Zeile verarbeiten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das untenstehende Skript sucht nach den Standard-<code>mysqldump<\/code>-Kommentaren, die den Beginn unserer Zieldatenbank oder -tabelle anzeigen (z. B. <code>-- Current Database: <\/code>db). Wenn es unser Ziel findet, aktiviert es ein Flag, um diese Zeilen in eine neue Datei zu schreiben. Sobald es auf den Anfang einer anderen Datenbank oder Tabelle st\u00f6\u00dft, wird das Flag wieder deaktiviert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hier ist das vollst\u00e4ndige Skript:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nini_set('memory_limit', '2G');\n\n$inputFile = 'dump_5GB.sql';\n$outputFile = 'db_fragment.sql';\n$targetName = 'db';\n\n$in = fopen($inputFile, 'r');\n$out = fopen($outputFile, 'w');\n\n$isExtracting = false;\n\nwhile (($line = fgets($in)) !== false) {\n    if (strpos($line, '-- Current Database: `' . $targetName . '`') === 0 || \n        strpos($line, 'USE `' . $targetName . '`;') === 0) {\n        $isExtracting = true;\n    } elseif (strpos($line, '-- Current Database: `') === 0 || \n              strpos($line, 'USE `') === 0) {\n        $isExtracting = false;\n    }\n\n    if (!$isExtracting) {\n        if (strpos($line, '-- Table structure for table `' . $targetName . '`') === 0 ||\n            strpos($line, '-- Table structure for table `' . $targetName . '_') === 0) {\n            $isExtracting = true;\n        } elseif (strpos($line, '-- Table structure for table `') === 0) {\n            $isExtracting = false;\n        }\n    }\n\n    if ($isExtracting) {\n        fwrite($out, $line);\n    }\n}\n\nfclose($in);\nfclose($out);\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Methode h\u00e4lt den Speicherverbrauch extrem niedrig \u2013 deutlich unter ein paar Megabyte \u2013 und verarbeitet Gigabytes an SQL-Daten in nur wenigen Sekunden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mussten Sie schon einmal nur eine einzige Datenbank oder eine bestimmte Tabelle aus einem mehrere Gigabyte gro\u00dfen (z. B. 5 GB) MySQL-Dump wiederherstellen? Das \u00d6ffnen einer Datei dieser Gr\u00f6\u00dfe in Standard-Texteditoren wie VS Code oder Notepad++ f\u00fchrt meistens zu extremen Verz\u00f6gerungen oder sogar zum Absturz des Programms. Anstatt sich mit Desktop-Software oder komplexen Kommandozeilen-Tools wie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-it-networks-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Mussten Sie schon einmal nur eine einzige Datenbank oder eine bestimmte Tabelle aus einem mehrere Gigabyte gro\u00dfen (z. B. 5 GB) MySQL-Dump wiederherstellen? Das \u00d6ffnen einer Datei dieser Gr\u00f6\u00dfe in Standard-Texteditoren wie VS Code oder Notepad++ f\u00fchrt meistens zu extremen Verz\u00f6gerungen oder sogar zum Absturz des Programms. Anstatt sich mit Desktop-Software oder komplexen Kommandozeilen-Tools wie [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-17T12:23:00+00:00\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP\",\"datePublished\":\"2026-07-17T12:23:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/\"},\"wordCount\":215,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"articleSection\":[\"IT &amp; Networks\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/\",\"name\":\"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-07-17T12:23:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/it-networks-de\\\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/","og_locale":"en_US","og_type":"article","og_title":"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP - Lukas Wojcik - Blog","og_description":"Mussten Sie schon einmal nur eine einzige Datenbank oder eine bestimmte Tabelle aus einem mehrere Gigabyte gro\u00dfen (z. B. 5 GB) MySQL-Dump wiederherstellen? Das \u00d6ffnen einer Datei dieser Gr\u00f6\u00dfe in Standard-Texteditoren wie VS Code oder Notepad++ f\u00fchrt meistens zu extremen Verz\u00f6gerungen oder sogar zum Absturz des Programms. Anstatt sich mit Desktop-Software oder komplexen Kommandozeilen-Tools wie [&hellip;]","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-07-17T12:23:00+00:00","author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP","datePublished":"2026-07-17T12:23:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/"},"wordCount":215,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"articleSection":["IT &amp; Networks"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/","name":"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-07-17T12:23:00+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/it-networks-de\/extrahieren-spezifischer-tabellen-aus-riesigen-sql-dumps-mit-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Extrahieren spezifischer Tabellen aus riesigen SQL-Dumps mit PHP"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"predecessor-version":[{"id":127,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/126\/revisions\/127"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}