홍무 노트
홈페이지 언어 노트 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();

 

微信赞赏

위챗

支付宝赞赏

알리페이

✍️ 저자: 홍무

웹사이트 관리자 · 읽으셔서 감사합니다. 더 많은 흥미로운 콘텐츠를 확인하시려면 계속 방문해 주세요.

저자 프로필 홈페이지 보기 →

관련 기사

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

추천 읽을거리

중의학에서 ‘咳悸’란 무엇인가?

중의학에서 ‘咳悸’란 무엇인가? 아마추어 취미 중의학 용어

중의학 이론에 따르면, 기침과 심悸는 일반적으로 ‘기침 및 호흡 곤란’, ‘심悸’, ‘흉통’ 등의 증상이 복합적으로 나타난 상태로 간주됩니다. 중의학에서는 기침과 심悸이 가래의 축적, 혈전, 열증 등의 내성 요인들이 폐 또는 심장 부위에 축적되어 심폐의 기동이 차단되면서 발생한다고 보입니다. 기침과 심悸을 치료하는 핵심은 내성 요인을 제거하고 기동을 원활하게 하며 혈액 순환을 촉진하여 기침, 호흡 곤란, 심悸, 흉통 등의 증상을 완화하는 데 있습니다. 중의학에서 기침과 심悸을 치료하는 방법으로는 침술, 한약, 투나, 압박 치료 등이 있습니다.
👁 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 템플릿

이 자동 적응형 모바일용 전자 부품 및 회로 기판용 PbootCMS 웹사이트 템플릿입니다. 과학적이고 정밀한 디자인 스타일을 적용하여 전자 부품, PCB 기판 등의 제품을 효과적으로 전시할 수 있습니다. 전자 부품 제조 또는 무역 기업이 제품을 온라인으로 소개하여 전자 산업 분야의 고객층을 확대하는 데 유용합니다. 템플릿 활용 및 설치 안내: 웹사이트 백엔드: /admin.php, 사용자 이름: admin, 비밀번호: admin, 압축 해제 비밀번호: www.4s5.cn – 관련 문서…
👁 48
(자동 적응형 모바일 앱용) 보안 잠금장치용 웹사이트용 PBootCMS 템플릿 – 스마트 도난 방지 보안 잠금장치 웹사이트 소스 코드 다운로드 (0334)

(자동 적응형 모바일 앱용) 보안 잠금장치용 웹사이트용 PBootCMS 템플릿 – 스마트 도난 방지 보안 잠금장치 웹사이트 소스 코드 다운로드 (0334) 실용적인 저장하기 pbootcms 템플릿

이 자동 적응형 모바일용 보안 잠금장치 핵심부와 스마트 방범 잠금장치용 PbootCMS 웹사이트 템플릿입니다. 과학적이고 안전한 디자인 스타일로, 잠금장치 제품, 스마트 보안 시스템 및 기술적 강점을 효과적으로 소개하는 데 적합합니다. 잠금장치 제조업체가 브랜드를 온라인으로 소개하고 부동산 및 가정용 사용자를 유치하는 데 도움이 됩니다. 템플릿 소개 및 설치 안내: 웹사이트 백엔드: /admin.php, 사용자 이름: admin, 비밀번호: admin, 압축 해제 비밀번호: www.4s5.cn…
👁 42