MySQLはSQL文を使用してテーブル名を変更します

MySQLはSQL文を使用してテーブル名を変更します

MySQL では、SQL ステートメント rename table を使用してテーブル名を変更できます。

テーブル名を変更するための SQL ステートメント rename table の基本構文は次のとおりです。

RENAME TABLE <古いテーブル名> TO <新しいテーブル名>;

テストテーブルをtest1テーブルに変更しましょう。

1. まず、現在のデータベースにどのテーブルがあるかを確認します。

mysql> テーブルを表示します。
+-------------------+
| テーブル_in_cainiao |
+-------------------+
| テスト |
| テスト2 |
+-------------------+
セット内の 2 行 (0.00 秒)

2. 名前変更操作を実行し、test を test1 に変更します。

mysql> テーブルの名前を test から test1 に変更します。
クエリは正常、影響を受けた行は 0 行 (0.08 秒)

3. 結果を再度確認します。

mysql> テーブルを表示します。
+-------------------+
| テーブル_in_cainiao |
+-------------------+
| テスト1 |
| テスト2 |
+-------------------+
セット内の 2 行 (0.00 秒)

補足: MySQL でテーブル名、テーブル属性名などを変更する方法

alter table テーブル名 元の列名を変更する 新しい列名 タイプ; --テーブルの列属性名を変更する

alter table table name modify column name type; --テーブルのクラスタイプを変更します

alter table table name drop column name; --テーブルの列を削除します

alter table テーブル名 add column name type; -- 列を追加する

alter table テーブル名 rename 新しいテーブル名; --テーブル名を変更する

補足: MYSQL バッチ変更テーブルプレフィックスとテーブル名 SQL ステートメント

テーブル名を変更する

ALTER TABLE 元のテーブル名を RENAME TO 新しいテーブル名に変更します。

1つのSQL文は1つのテーブルのみを変更します

テーブルを表示します。

1.

選択
 連結(
 'テーブルの変更'、
 テーブル名、
 'db_に名前を変更'、
 部分文字列(テーブル名, 4),
 ';'
 )
から
 情報スキーマ。テーブル
どこ
 table_name は 'ct%' のように記述されます。

バッチをNotepad++にコピーし、SQL文だけを残してMySQLにコピーして実行します。

2.php スクリプトバッチで MySQL データベースのテーブルプレフィックスを変更する

<?php
//関連情報を設定します $dbserver='localhost'; //接続されたサーバーは通常localhostです
$dbname='corethink';//データベース名$dbuser='root';//データベースユーザー名$dbpassword='root';//データベースパスワード$old_prefix='ct_';//データベースプレフィックス$new_prefix='new_';//データベースプレフィックスが変更されますif ( !is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) ){
 false を返します。
}
 
if (!mysql_connect($dbserver, $dbuser, $dbpassword)) {
 'mysqlに接続できませんでした'と出力します。
 出口;
}
//データベース内のすべてのテーブル名を取得します $result = mysql_list_tables($dbname);
もし(!$結果){
 「DB エラー、テーブルを一覧表示できませんでした」を印刷します。
 'MySQL エラー: ' を印刷します。mysql_error();
 出口;
}
//テーブル名を$dataに保存する
 ($row = mysql_fetch_row($result)) の間 {
 $data[] = $row[0];
}
//テーブル名をフィルタリングしてプレフィックスを変更する foreach($data as $k => $v){
 $preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i", $v, $v1);
 もし$pregが
 $tab_name[$k] = $v1[2];
 }
}
もし$pregが 
 foreach($tab_name を $k => $v として){
 $sql = 'テーブルの名前を `'.$old_prefix.$v.'` から `'.$new_prefix.$v.'` に変更します';
 mysql_query($sql);
 }
 印刷データ テーブルのプレフィックス: .$old_prefix."<br>". は次のように変更されました: .$new_prefix."<br>"; 
}else{ print データベース テーブルのプレフィックス。$old_prefix。入力が正しくありません。関連するデータベース テーブルのプレフィックスを確認してください。 
 if (mysql_free_result($result)){
 true を返します。
 }
}
?>

mysql_list_tablesメソッドは古いため、上記のプログラムを実行すると、メソッドが古いことを示すメッセージが表示されます。

非推奨: 関数 mysql_list_tables() は … の xxx 行目で非推奨です

メソッドの非推奨プロンプトを表示しないように php.ini で error_reporting を設定する

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

3. テーブルを一括削除する

選択
 連結(
 'テーブルを削除'、
 テーブル名、
 ';'
 )
から
 情報スキーマ。テーブル
どこ
 テーブル名 LIKE 'uc_%';

クエリを実行すると、SQL ステートメント drop table table_name が自動的に生成されます。

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • 2つのMySQLテーブル名を交換する方法
  • MySQL で 2 つのテーブルの名前を同時に交換する方法

<<:  5つのCSSスクロール天井実装方法の比較(パフォーマンス向上版)

>>:  ウェブページを作るときに注意すべき5つのポイント

推薦する

MySQL 最適化の概要 - クエリエントリの合計数

1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...

HTMLフォームタグチュートリアル(1):

フォームは、動的な Web ページを実装するための主要な外部フォームです。フォームとフォーム フィー...

Docker を使用してフロントエンド アプリケーションをデプロイする方法

Dockerはますます普及しています。環境を軽量かつ柔軟に分離し、容量を拡張し、運用保守管理を容易に...

Samba を使用して Linux サーバー上で共有ファイル サービスを構築する方法

最近、私たちの小さなチームは、サーバー上の共有フォルダーを共有して、全員がパブリックリソースドキュメ...

MySQL 5.7.21 のインストールと設定のチュートリアル

mysql5.7.21の簡単なインストール構成は次のとおりです。 1. MySQLのインストール1....

SSDストレージを有効にしたMySQLインスタンスの詳細な説明

SSDストレージを有効にしたMySQLインスタンスの詳細な説明特に OS と MySQL が同じディ...

MySQLでTEXT/BLOB型を使用する際の注意点を詳しく説明します

1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...

Nginx ローカル ディレクトリ マッピング実装コード例

他のデバイスの画像をローカルディレクトリにマウントするなど、サーバー上の静的リソースにアクセスする必...

Jenkins+tomcat の自動ホットデプロイメント/再起動と発生した問題の解決策 (推奨)

1. 背景同社のプロジェクトは、これまでは手動で Maven でパッケージ化し、サーバーにアップロ...

MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装

実験環境: 1. CentOS 7 サーバー 3 台2. mysql5.7.26 (3台のマシンはす...

chkconfig および systemctl コマンドを使用して Linux サービスを有効または無効にする方法

これは Linux 管理者にとって重要な (そして素晴らしい) トピックなので、誰もが Linux ...

MYSQLが中国語を認識できない問題の恒久的な解決策

ほとんどの場合、MySQL はインストールしたばかりのときは中国語をサポートしません。これはエンコー...

JavaScript はチェックボックスの選択機能を実装します

この記事の例では、すべてのチェックボックスの選択を実現するためのJavaScriptの具体的なコード...

MySQL のデータベース パフォーマンスに影響を与える要因の説明

データベースのパフォーマンスに関する話面接では、「データベースにどのくらい精通していますか?」など、...