11

基本的に、MySQL に joomla データベースがあり、接頭辞「jmla_」を持つテーブルがたくさんあります。「jmla_」プレフィックスを「jos_」プレフィックスに置き換えて、これらすべてのテーブルの名前を変更したいと思います。単純な SQL スクリプトまたは SQL クエリでこれを行う方法についてのアイデアはありますか?

4

5 に答える 5

10
SELECT  concat ('rename table ',table_name,' to ',table_name,'_old;')
FROM information_schema.tables
WHERE table_name like 'webform%'
  and table_schema='weiss_db_new'

動作します。

于 2012-07-16T10:54:51.010 に答える
8

次のステートメントを実行します。

SELECT 'rename table '||table_name||' to '||'jos'||substr(table_name,5)||';'
FROM information_schema.tables
WHERE table_name like 'jmla%'

これにより、すべてのテーブルの名前を変更するスクリプトが作成されます。出力を SQL クライアントにコピー & ペーストするだけです。

||( ANSI モードで実行していない場合は、MySQL の非標準の連結演算子に変更する必要があります)

于 2012-04-08T22:47:31.360 に答える
3
RENAME TABLE jmla_whatever to jos_whatever;

すべてのテーブルをカバーするスクリプトを作成する必要があります。スクリプトにshow tables. 詳細については、 http://dev.mysql.com/doc/refman/5.0/en/rename-table.htmlを参照してください。

于 2012-04-08T21:51:57.823 に答える
2
  1. phpmyadmin を使用して .sql ファイルにエクスポートする
  2. ファイルを開くには、「検索と置換」機能を備えた任意のテキストエディターを使用します(私はvimを好み、大きなファイルでうまく機能します)
  3. 「検索と置換」を実行し、実際のプレフィックスを検索ボックスに入れ、置換ボックスで更新します
  4. phpmyadmin を使用してファイルをインポートします。

phpmyadmin でインポートする前に、古いデータベースを削除することを忘れないでください。これは、エクスポート中に適切なオプションをチェックして行うことができます。

于 2012-04-08T21:49:10.943 に答える