>백엔드 개발 >PHP 튜토리얼 >Batches_php 팁에서 데이터베이스 테이블 접두사를 바꾸는 php mysqli 메소드

Batches_php 팁에서 데이터베이스 테이블 접두사를 바꾸는 php mysqli 메소드

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-16 20:26:591095검색

이 기사의 예에서는 php mysqli가 데이터베이스 테이블 접두사의 일괄 교체를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

PHP에서는 데이터베이스의 테이블 접두사를 교체해야 하는 경우가 있지만, 접두사를 하나씩 수정하는 것에 대해 걱정할 필요는 없습니다. 여기서는 데이터베이스 테이블 접두사를 일괄적으로 교체하는 MySQL PHP 프로그램을 작성했습니다. 관심 있는 친구들은 다음과 같이 코드를 참고할 수 있습니다.

<&#63;php 
header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' ); 
$DB_host = "localhost"; //数据库主机 
$DB_user = "root"; //数据库用户 
$DB_psw = "root3306"; //数据库密码 
$DB_datebase = "gk_yue39_com"; //数据库名 
$DB_charset = "utf8"; //数据库字符集 
$dbprefix="yue392_com_"; 
$new_dbprefix="yue39_com_"; 
$db = new mysqli ( $DB_host, $DB_user, $DB_psw ); //实例化对象 
 
//检查连接 
if (mysqli_connect_errno ()) { 
 printf ( "Connect failed: %sn", mysqli_connect_error () ); 
 exit (); 
} 
 
$db->select_db ( $DB_datebase ); //选择操作数据库 
 
$db->set_charset ( $DB_charset ); //设置数据库字符集 
 
//执行一个查询 
$sql = 'show tables'; 
$result = $db->query ( $sql ); 
 
echo $result->num_rows . ' 行结果 ' . $result->field_count . ' 列内容<br/>'; 
 
//$result->data_seek('5');//从结果集中第5条开始取结果 
 
echo '<table border="1" cellspacing="0" cellpadding="0" align="center" width="90%">'; 
 
//循环输出字段名 
//$result->field_seek(2);//从字段集中第2条开始取结果 
while ( true == ($field = $result->fetch_field ()) ) { 
 echo '<th>' . $result->current_field . '_' . $field->name . '(' . $field->length . ')</th>'; 
} 
 
//循环输出查询结果 
while ( true == ($row = $result->fetch_assoc ()) ) { 
 echo '<tr>'; 
 foreach ( $row as $col ) { 
$sql="rename table `".$col."` to `".str_replace ( $dbprefix, $new_dbprefix, $col)."`"; 
 if($db->query ( $sql )){ 
 echo '<td align="center">' . $sql. '</td><td><font color="blue"> success</font></td>'; 
 }else{ 
 echo '<td align="center">' . $sql. '</td><td><font color="red"> failed</font></td>';
 } 
 } 
 echo '</tr>'; 
} 
 
echo '</table>'; 
$result->free ();//释放结果集 
$db->close (); //关闭连接 
&#63;>

두 번째 방법: MYSQL 데이터베이스 테이블 접두사 이름을 일괄 수정하는 방법

테이블 이름을 일괄 수정하는 방법은 navicat을 사용하면 빠르고 편리합니다.

코드 복사 코드는 다음과 같습니다.

SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, 'RENAME TO ', TABLE_NAME, ';' )
정보_스키마.테이블에서
TABLE_NAME이 'uc_%'인 곳

실행 후 다음과 같은 결과를 얻습니다.

코드 복사 코드는 다음과 같습니다.

ALTER TABLE uc_aaa 이름을 uc_aaa로 변경;
ALTER TABLE uc_bbb 이름을 uc_bbb로 변경;

다음 데이터를 유지합니다:

코드 복사 코드는 다음과 같습니다.

ALTER TABLE uc_aaa 이름을 uc_aaa로 변경;
ALTER TABLE uc_bbb 이름을 uc_bbb로 변경;

그런 다음 수정할 데이터베이스를 선택하고 위에서 얻은 SQL 문을 실행하여 데이터베이스 테이블 접두사를 수정합니다.
첨부: 1. 지정된 접두사가 있는 테이블 일괄 삭제

코드 복사 코드는 다음과 같습니다.

SELECT CONCAT( '테이블 삭제', TABLE_NAME, ';' )
정보_스키마.테이블에서
TABLE_NAME이 'uc_%'와 같은 위치;

2. "dbtable_name"을 "db_table_name"으로 변경합니다.

코드 복사 코드는 다음과 같습니다.

SELECT CONCAT( 'ALTER TABLE', TABLE_NAME, 'RENAME TO db_', SUBSTRING(TABLE_NAME,3),';' )
정보_스키마.테이블에서
TABLE_NAME이 'db%'인 곳

세 번째 방법:

현재 MySQL 데이터베이스 테이블의 접두사를 업데이트하는 또 다른 방법이 있습니다. 이 방법은 타사 도구인 Empire Backup King을 사용하여 수정하는 것입니다. 방법은 다음과 같습니다.

1. Empire Backup 백엔드에 로그인하고 "백업 데이터" - "일괄 교체 테이블 이름"을 선택한 다음 작업을 수행하여 일괄 교체를 완료합니다. 이 역시 매우 간단합니다. 아래와 같이:

mysql의 테이블 접두사 이름을 일괄 수정하는 방법

위 방법으로 웹사이트 접두어를 수정할 수 있습니다. 하지만 대부분의 오픈소스 프로그램이 테이블 접두어를 수정한 후 웹사이트를 실행하려면 먼저 웹사이트 프로그램의 데이터베이스 구성 파일을 수정해야 합니다.
이 글이 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.