紅穆ノート
レコメンド 言語ノート PHPを使用してMySQLデータベースを検索し、すべてのテーブルを取得した後、各テーブルの最初の8件のデータを出力します。
言語ノート PHP mySql

PHPを使用してMySQLデータベースを検索し、すべてのテーブルを取得した後、各テーブルの最初の8件のデータを出力します。

PHPを使用してMySQLデータベースを検索し、すべてのテーブルを取得した後、各テーブルの最初の8件のデータを出力します。

phpコード

<?php
/**
 * 导出 MySQL 数据库的表结构及每个表的前 8 条数据
 * 数据按 id 倒序(若无 id 则按主键/第一列倒序)
 * 数据库:111,用户名:11111,密码:1111
 */

$host = 'localhost';
$user = '1111';
$pass = '11111111111111111';
$dbname = '111';

$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$conn->set_charset("utf8mb4");

// 输出文件头
echo "-- 导出数据库: $dbname\n";
echo "-- 生成时间: " . date('Y-m-d H:i:s') . "\n";
echo "-- 每个表导出前 8 条数据,按 id(或主键/首列)倒序排列\n\n";
echo "SET FOREIGN_KEY_CHECKS=0;\n\n";

// 获取所有表
$tablesResult = $conn->query("SHOW TABLES");
if (!$tablesResult) {
    die("获取表列表失败: " . $conn->error);
}

while ($row = $tablesResult->fetch_row()) {
    $table = $row[0];

    // 1. 导出表结构
    $createResult = $conn->query("SHOW CREATE TABLE `$table`");
    if (!$createResult) {
        echo "-- 无法获取表 `$table` 的结构,跳过\n\n";
        continue;
    }
    $createRow = $createResult->fetch_assoc();
    $createSQL = $createRow['Create Table'];

    echo "-- 表结构: `$table`\n";
    echo "DROP TABLE IF EXISTS `$table`;\n";
    echo $createSQL . ";\n\n";

    // 2. 获取表的列名,确定排序字段(优先 id,其次主键,最后第一列)
    $colsResult = $conn->query("SHOW COLUMNS FROM `$table`");
    $colNames = [];
    while ($col = $colsResult->fetch_assoc()) {
        $colNames[] = $col['Field'];
    }
    $orderCol = null;
    if (in_array('id', $colNames)) {
        $orderCol = 'id';
    } else {
        // 尝试获取主键
        $pkQuery = $conn->query("SHOW KEYS FROM `$table` WHERE Key_name = 'PRIMARY'");
        if ($pkQuery && $pkQuery->num_rows > 0) {
            $pkRow = $pkQuery->fetch_assoc();
            $orderCol = $pkRow['Column_name'];
        } else {
            // 取第一列(如果存在)
            $orderCol = $colNames[0] ?? null;
        }
    }

    // 构建 ORDER BY 子句
    $orderClause = $orderCol ? "ORDER BY `$orderCol` DESC" : "";

    // 3. 导出前 8 条数据(按指定字段倒序)
    $dataResult = $conn->query("SELECT * FROM `$table` $orderClause LIMIT 8");
    if (!$dataResult) {
        echo "-- 无法查询表 `$table` 的数据,跳过\n\n";
        continue;
    }

    if ($dataResult->num_rows > 0) {
        // 获取字段列表
        $fields = $dataResult->fetch_fields();
        $fieldNames = array_map(function($f) {
            return "`" . $f->name . "`";
        }, $fields);
        $fieldList = implode(", ", $fieldNames);

        // 组装多行 INSERT
        $insertPrefix = "INSERT INTO `$table` ($fieldList) VALUES ";
        $rows = [];
        while ($dataRow = $dataResult->fetch_assoc()) {
            $values = [];
            foreach ($dataRow as $key => $val) {
                if ($val === null) {
                    $values[] = "NULL";
                } else {
                    $escaped = $conn->real_escape_string($val);
                    $values[] = "'" . $escaped . "'";
                }
            }
            $rows[] = "(" . implode(", ", $values) . ")";
        }
        echo $insertPrefix . implode(", ", $rows) . ";\n\n";
    }
    $dataResult->free();
}

$tablesResult->free();
echo "SET FOREIGN_KEY_CHECKS=1;\n";
$conn->close();

 

微信赞赏

WeChat

支付宝赞赏

Alipay

✍️ クリエイター: 紅穆

ウェブサイト管理者 · ご覧いただきありがとうございます!さらに多くの魅力的なコンテンツをお楽しみいただけますよう、引き続きご支援をお願いいたします。

著者プロフィール プロフィールを見る →

関連記事

PHPのob関数の記録

PHPのob関数の記録 言語ノート PHP

以下の3つの関数(`ob_get_contents()`、`ob_end_clean()`、`ob_start()`)を用いることで、ローカルファイルのバッファリングやローカルスクリプトコードの実行を実現できます。`ob_start()`を用いて出力されるコードをバッファに保存すると、ページは即座に表示されません。その後、`ob_get_contents()`を呼び出してバッファに保存されたデータを取得します。
👁 153
PHP preg

PHP preg 言語ノート PHP

`preg_match_all` 関数は、グローバルな正規表現マッチングを実行するために使用されます。`preg_match_all()` の構文は以下の通りです:`int preg_match_all( string $pattern , string $subject [, array &$matches [, int $flags = PREG… ] )`
👁 173
PHPにおける三項演算子と`if`文の詳細解説

PHPにおける三項演算子と`if`文の詳細解説 言語ノート PHP

三元演算子(? 表示式1 : 表示式2):説明:問号の前に続く部分が条件であり、条件が満たされた場合に表示式1、そうでない場合に表示式2が返されます。本記事では、三元演算子と `if...else...` 文を比較・詳細に解説しており、皆様の参考になれば幸いです。本日、論文のオンライン修正作業中に、以下の文が理解できなかったことに遭遇しました:`$if_summary = $row['IF_SUMMARY'] = ...`
👁 197
PHPにおける型強制変換

PHPにおける型強制変換 言語ノート PHP PHPデータ収集 PHPとMySQL

データ型の確認:1. 指定された式の値および型を確認する場合、`var_dump()` を使用します。2. デバッグ目的で、読みやすい型表現を取得する場合、`gettype()` を使用します。3. 指定された型を確認する場合は、`gettype()` ではなく `is_type()` 関数を使用してください。文字列を数値に変換:文字列が数値として評価される場合、結果は以下のルールに基づいて決定されます…
👁 238

おすすめ読書

PHPを使用した偽のリクエストヘッダーによるウェブページデータ収集

PHPを使用した偽のリクエストヘッダーによるウェブページデータ収集 言語ノート PHP PHPデータ収集

PHPでは、cURLライブラリを使用してHTTPリクエストをシミュレートし、リクエストヘッダー情報を設定することで、ウェブページの収集用にリクエストヘッダーを偽造することができます。以下はその例コードです:// cURLハンドルを生成する:`$ch = curl_init();`、`curl_setopt($ch, CURLOPT_URL, 'https://...');`
👁 242
中医学における「咳悸」とは何か?

中医学における「咳悸」とは何か? 趣味 中医学用語

中医学の理論では、咳悸は通常、「咳喘」、「心悸」、「胸痛」などの症状の総合的な表れと見なされています。中医学では、咳悸は痰飲、瘀血、熱邪などといった内因性の邪気が肺または心臓部位に蓄積し、心肺の気の流れが阻害されることが原因であるとされています。咳悸の治療において重要なのは、内因性の邪気を除去し、気の流れを円滑にし、血行を促進して瘀血を解消することにより、咳、喘鳴、心悸、胸痛などの症状を緩和する点にあります。中医学による咳悸の治療法には、鍼灸、漢方薬、推拿、圧迫療法などがあります。
👁 172
PHPで文字列を分割し、重複を除去する

PHPで文字列を分割し、重複を除去する 言語ノート PHP

非常にシンプルなコード:// キーワードを配列に分割し、重複を除去した後、再び文字列に結合する:$uniqueKeywords = implode(',', array_unique(explode(',', $keywords)));この処理は、キーワードの重複除去に一般的に用いられます。
👁 109
(PC+WAP)ブルー系金物・機械設備用PBootCMS企業ウェブサイトテンプレート – 汎用マーケティング向けウェブサイトソースコードのダウンロード(0106)

(PC+WAP)ブルー系金物・機械設備用PBootCMS企業ウェブサイトテンプレート – 汎用マーケティング向けウェブサイトソースコードのダウンロード(0106) 実用収集 pbootcmsテンプレート

汎用的な青色の機械設備用PbootCMS企業ウェブサイトテンプレートです。機械製造業や金物加工業界など、多様な業界に適しており、PCおよびモバイル端末に対応しています。デザインスタイルはシンプルでプロフェッショナルであり、機能モジュールも充実しています。機械設備関連企業が迅速にマーケティング目的の公式ウェブサイトを構築し、オンラインプロモーションの効果を最大化するための基本的な選択肢です。テンプレート表示・インストール手順:ウェブサイトバックエンド:/admin.php|ユーザー名:admin|パスワード:admin|解凍用パスワード:…
👁 44
(適応型モバイル版)電子部品用PBootCMSウェブサイトテンプレート/回路基板ウェブサイトのソースコードダウンロード(0179)

(適応型モバイル版)電子部品用PBootCMSウェブサイトテンプレート/回路基板ウェブサイトのソースコードダウンロード(0179) 実用収集 pbootcmsテンプレート

この適応型モバイル版用電子部品・PCBボード向けウェブサイトテンプレート(PbootCMS)です。科学的で精密なデザインスタイルにより、電子部品やPCBボードなどの製品を効果的に紹介できます。電子部品の製造・貿易企業が自社製品をオンラインで紹介し、電子業界の顧客基盤を拡大するのに最適です。テンプレートの表示方法・インストール手順:ウェブサイトバックエンド:/admin.php、ユーザー名:admin、パスワード:admin、解凍用パスワード:www.4s5.cn(関連記事…)
👁 48
(スマートフォン向け適応型)セキュリティロック・ロック芯・ロック具関連ウェブサイト用PBootCMSテンプレート – 智能防犯ロックウェブサイトのソースコードダウンロード:0334

(スマートフォン向け適応型)セキュリティロック・ロック芯・ロック具関連ウェブサイト用PBootCMSテンプレート – 智能防犯ロックウェブサイトのソースコードダウンロード:0334 実用収集 pbootcmsテンプレート

本セットは、モバイル端末向け適応型セキュリティロックのロック芯と、スマート防犯ロック用のPbootCMSウェブサイトのテンプレートです。デザインはテクノロジーとセキュリティを融合させたスタイルで、ロック製品やスマートセキュリティシステム、技術的強みを効果的に展示するのに最適です。ロック製造企業がオンラインでブランドをアピールし、不動産業界や一般家庭のユーザーを惹きつけるのに役立ちます。テンプレート、設置手順、およびウェブサイト管理画面:/admin.php、アカウント:admin、パスワード:admin、展開用パスワード:www.4s5.cn…
👁 42